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.stream.Collectors;
@ActiveProfiles("pre")
@ActiveProfiles("dev")
@SpringBootTest(classes = JsowellApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@RunWith(SpringRunner.class)
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.spring.SpringUtils;
import com.jsowell.netty.factory.YKCOperateFactory;
import com.jsowell.pile.domain.ChargeAlgorithmRecord;
import com.jsowell.pile.domain.OrderBasicInfo;
import com.jsowell.pile.domain.PileBasicInfo;
import com.jsowell.pile.dto.SavePileMsgDTO;
@@ -86,7 +87,7 @@ public class TransactionRecordsRequestHandler extends AbstractYkcHandler {
private PileBasicInfoService pileBasicInfoService;
@Autowired
private ChargeAlgorithmService chargeAlgorithmService;
private ChargeAlgorithmRecordService chargeAlgorithmRecordService;
@Autowired
private PersonalChargingRecordService personalChargingRecordService;
@@ -705,14 +706,15 @@ public class TransactionRecordsRequestHandler extends AbstractYkcHandler {
}
}, thirdpartyTaskExecutor);
// 异步推送充电订单算法平台
// TODO 异步推送充电订单算法平台
// CompletableFuture.runAsync(() -> {
// try {
// String taskId = batteryChargeReportService.getTaskIdByOrderCode(finalOrderBasicInfo.getOrderCode());
// // String result = chargeAlgorithmService.pushOrderInfo(finalOrderBasicInfo.getOrderCode());
// log.info("异步推送充电订单算法平台 result taskId:{}", taskId);
// // 1-web端
// getReportUrlByOrderCode(finalOrderBasicInfo.getOrderCode(), Constants.ONE);
// // 2-pdf端
// getReportUrlByOrderCode(finalOrderBasicInfo.getOrderCode(), Constants.TWO);
// }catch (Exception e) {
// log.error("异步推送充电订单算法平台 error, ", e);
// log.error("异步推送充电订单算法平台 error", e);
// }
// }, thirdpartyTaskExecutor);
//
@@ -737,17 +739,6 @@ public class TransactionRecordsRequestHandler extends AbstractYkcHandler {
// }
// }, thirdpartyTaskExecutor);
// 异步推送充电订单算法平台
CompletableFuture.runAsync(() -> {
try {
String result = chargeAlgorithmService.pushOrderInfo(finalOrderBasicInfo.getOrderCode());
log.info("异步推送充电订单算法平台 result:{}", result);
} catch (Exception e) {
log.error("异步推送充电订单算法平台 error, ", e);
}
}, thirdpartyTaskExecutor);
CompletableFuture.runAsync(() -> {
try {
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 = JSONObject.parseObject(resultMap.get("result").toString(), BatteryReportResult.class);;
if (StringUtils.equals(Constants.ONE, reportType)) {
if (StringUtils.isNotBlank(batteryReportResult.getWebUrl())) {
// 1-web 端
resultUrl = batteryReportResult.getWebUrl();
record.setWebUrl(resultUrl);
}
}else {
if (StringUtils.isNotBlank(batteryReportResult.getPdfUrl())) {
// pdf 端
resultUrl = batteryReportResult.getPdfUrl();
record.setPdfUrl(resultUrl);
}
}
// 保存到数据库
chargeAlgorithmRecordService.updateChargeAlgorithmRecord(record);
return resultUrl;