update 推送充电报告算法

This commit is contained in:
Lemon
2025-11-24 09:29:09 +08:00
parent e9a2e20d23
commit 0472df17c9
3 changed files with 44 additions and 25 deletions

View File

@@ -122,7 +122,7 @@ import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ThreadFactory; import java.util.concurrent.ThreadFactory;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ActiveProfiles("pre") @ActiveProfiles("dev")
@SpringBootTest(classes = JsowellApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @SpringBootTest(classes = JsowellApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@RunWith(SpringRunner.class) @RunWith(SpringRunner.class)
public class SpringBootTestController { public class SpringBootTestController {

View File

@@ -19,6 +19,7 @@ import com.jsowell.common.util.YKCUtils;
import com.jsowell.common.util.id.IdUtils; import com.jsowell.common.util.id.IdUtils;
import com.jsowell.common.util.spring.SpringUtils; import com.jsowell.common.util.spring.SpringUtils;
import com.jsowell.netty.factory.YKCOperateFactory; import com.jsowell.netty.factory.YKCOperateFactory;
import com.jsowell.pile.domain.ChargeAlgorithmRecord;
import com.jsowell.pile.domain.OrderBasicInfo; import com.jsowell.pile.domain.OrderBasicInfo;
import com.jsowell.pile.domain.PileBasicInfo; import com.jsowell.pile.domain.PileBasicInfo;
import com.jsowell.pile.dto.SavePileMsgDTO; import com.jsowell.pile.dto.SavePileMsgDTO;
@@ -86,7 +87,7 @@ public class TransactionRecordsRequestHandler extends AbstractYkcHandler {
private PileBasicInfoService pileBasicInfoService; private PileBasicInfoService pileBasicInfoService;
@Autowired @Autowired
private ChargeAlgorithmService chargeAlgorithmService; private ChargeAlgorithmRecordService chargeAlgorithmRecordService;
@Autowired @Autowired
private PersonalChargingRecordService personalChargingRecordService; private PersonalChargingRecordService personalChargingRecordService;
@@ -705,14 +706,15 @@ public class TransactionRecordsRequestHandler extends AbstractYkcHandler {
} }
}, thirdpartyTaskExecutor); }, thirdpartyTaskExecutor);
// 异步推送充电订单算法平台 // TODO 异步推送充电订单算法平台
// CompletableFuture.runAsync(() -> { // CompletableFuture.runAsync(() -> {
// try { // try {
// String taskId = batteryChargeReportService.getTaskIdByOrderCode(finalOrderBasicInfo.getOrderCode()); // // 1-web端
// // String result = chargeAlgorithmService.pushOrderInfo(finalOrderBasicInfo.getOrderCode()); // getReportUrlByOrderCode(finalOrderBasicInfo.getOrderCode(), Constants.ONE);
// log.info("异步推送充电订单算法平台 result taskId:{}", taskId); // // 2-pdf端
// } catch (Exception e) { // getReportUrlByOrderCode(finalOrderBasicInfo.getOrderCode(), Constants.TWO);
// log.error("异步推送充电订单算法平台 error, ", e); // }catch (Exception e) {
// log.error("异步推送充电订单算法平台 error", e);
// } // }
// }, thirdpartyTaskExecutor); // }, thirdpartyTaskExecutor);
// //
@@ -737,17 +739,6 @@ public class TransactionRecordsRequestHandler extends AbstractYkcHandler {
// } // }
// }, thirdpartyTaskExecutor); // }, thirdpartyTaskExecutor);
// 异步推送充电订单算法平台
CompletableFuture.runAsync(() -> {
try {
String result = chargeAlgorithmService.pushOrderInfo(finalOrderBasicInfo.getOrderCode());
log.info("异步推送充电订单算法平台 result:{}", result);
} catch (Exception e) {
log.error("异步推送充电订单算法平台 error, ", e);
}
}, thirdpartyTaskExecutor);
CompletableFuture.runAsync(() -> { CompletableFuture.runAsync(() -> {
try { try {
rabbitTemplate.convertAndSend(ThirdPartyRabbitConstants.WCC_THIRDPARTY_NAME,ThirdPartyRabbitConstants.ROUTING_KEY_CHARGE_ORDER_PUSH, finalOrderBasicInfo); rabbitTemplate.convertAndSend(ThirdPartyRabbitConstants.WCC_THIRDPARTY_NAME,ThirdPartyRabbitConstants.ROUTING_KEY_CHARGE_ORDER_PUSH, finalOrderBasicInfo);
@@ -764,4 +755,28 @@ public class TransactionRecordsRequestHandler extends AbstractYkcHandler {
} }
private String getReportUrlByOrderCode(String orderCode, String reportType) {
// 先根据订单号查询报告信息, 对比 taskId
ChargeAlgorithmRecord record = chargeAlgorithmRecordService.queryRecordByOrderCode(orderCode);
String taskId = "";
if (record == null) {
// 获取新的 taskId
taskId = batteryChargeReportService.getTaskIdByOrderCode(orderCode);
}else {
if (StringUtils.isNotBlank(record.getTaskId())) {
// 如果信息不为空说明之前推送过该订单的数据可直接使用该taskId taskId
taskId = record.getTaskId();
}
}
if (StringUtils.isBlank(taskId)) {
log.info("推送充电订单算法平台 taskId 为空");
}
log.info("推送充电订单算法平台 taskId:{}", taskId);
// 再根据 tasKId 获取链接
String url = batteryChargeReportService.getUrlByTaskId(taskId, reportType);
log.info("推送充电订单算法平台 result:{}", url);
return url;
}
} }

View File

@@ -145,14 +145,18 @@ public class BatteryChargeReportService {
// BatteryReportResult batteryReportResult = (BatteryReportResult) resultMap.get("result"); // BatteryReportResult batteryReportResult = (BatteryReportResult) resultMap.get("result");
BatteryReportResult batteryReportResult = JSONObject.parseObject(resultMap.get("result").toString(), BatteryReportResult.class);; BatteryReportResult batteryReportResult = JSONObject.parseObject(resultMap.get("result").toString(), BatteryReportResult.class);;
if (StringUtils.equals(Constants.ONE, reportType)) { if (StringUtils.equals(Constants.ONE, reportType)) {
if (StringUtils.isNotBlank(batteryReportResult.getWebUrl())) {
// 1-web 端 // 1-web 端
resultUrl = batteryReportResult.getWebUrl(); resultUrl = batteryReportResult.getWebUrl();
record.setWebUrl(resultUrl); record.setWebUrl(resultUrl);
}
}else { }else {
if (StringUtils.isNotBlank(batteryReportResult.getPdfUrl())) {
// pdf 端 // pdf 端
resultUrl = batteryReportResult.getPdfUrl(); resultUrl = batteryReportResult.getPdfUrl();
record.setPdfUrl(resultUrl); record.setPdfUrl(resultUrl);
} }
}
// 保存到数据库 // 保存到数据库
chargeAlgorithmRecordService.updateChargeAlgorithmRecord(record); chargeAlgorithmRecordService.updateChargeAlgorithmRecord(record);
return resultUrl; return resultUrl;