This commit is contained in:
bl\GQS02
2025-11-06 10:53:07 +08:00
parent 997ca3863b
commit 2ce7468e0d

View File

@@ -1110,20 +1110,34 @@ public class TempService {
String reCalculateFlag = dto.getReCalculateFlag();
String reCalculateFlagResult = orderCode + "本次未重新计算订单";
if (StringUtils.equals(reCalculateFlag, Constants.ONE)) {
LocalDateTime localDateTime = DateUtils.date2LocalDateTime(orderBasicInfo.getSettlementTime());
// 获取订单结算时间
Date settlementTime = orderBasicInfo.getSettlementTime();
// 获取订单停止充电时间
Date chargeEndTime = orderBasicInfo.getChargeEndTime();
// 如果订单结算时间与订单停止充电时间都为空,则打印错误信息并返回
if (settlementTime == null && chargeEndTime == null) {
logger.error("debugOrder, orderCode:{}, settlementTime:{}, chargeEndTime:{}", orderCode, settlementTime, chargeEndTime);
reCalculateFlagResult = orderCode + "订单结算时间和订单停止充电时间都为空";
resultMap.put("reCalculate", ImmutableMap.of("value", reCalculateFlag, "message", reCalculateFlagResult));
return resultMap;
}
LocalDateTime localDateTime = DateUtils.date2LocalDateTime(settlementTime != null ? settlementTime : chargeEndTime);
// 开始时间为localDateTime减30秒
LocalDateTime startTime = localDateTime.minusSeconds(30);
// 结束时间为localDateTime加30秒
LocalDateTime endTime = localDateTime.plusSeconds(30);
// 查询这笔订单的交易记录原始数据
List<PileMsgRecord> pileFeedListV2 = pileMsgRecordService.getPileFeedListV2(orderBasicInfo.getPileSn(), "0x3B", startTime, endTime);
if (CollectionUtils.isEmpty(pileFeedListV2)) {
// 如果没有交易记录原始数据,则使用停止充电时间作为开始时间和结束时间再查一次
localDateTime = DateUtils.date2LocalDateTime(orderBasicInfo.getChargeEndTime());
startTime = localDateTime.minusSeconds(30);
endTime = localDateTime.plusSeconds(30);
pileFeedListV2 = pileMsgRecordService.getPileFeedListV2(orderBasicInfo.getPileSn(), "0x3B", startTime, endTime);
}
// if (CollectionUtils.isEmpty(pileFeedListV2)) {
// // 如果没有交易记录原始数据,则使用停止充电时间作为开始时间和结束时间再查一次
// localDateTime = DateUtils.date2LocalDateTime(chargeEndTime);
// startTime = localDateTime.minusSeconds(30);
// endTime = localDateTime.plusSeconds(30);
// pileFeedListV2 = pileMsgRecordService.getPileFeedListV2(orderBasicInfo.getPileSn(), "0x3B", startTime, endTime);
// }
TransactionRecordsData data = null;
for (PileMsgRecord pileMsgRecord : pileFeedListV2) {
TransactionRecordsData parse = JSONObject.parseObject(pileMsgRecord.getJsonMsg(), TransactionRecordsData.class);