From 2ce7468e0deefad0da20620dafb542354891b396 Mon Sep 17 00:00:00 2001 From: "bl\\GQS02" Date: Thu, 6 Nov 2025 10:53:07 +0800 Subject: [PATCH 1/2] update --- .../java/com/jsowell/service/TempService.java | 30 ++++++++++++++----- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/jsowell-admin/src/main/java/com/jsowell/service/TempService.java b/jsowell-admin/src/main/java/com/jsowell/service/TempService.java index e49259dea..6ede7307b 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/TempService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/TempService.java @@ -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 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); From 9f6f13b473a83539688d1304e7fb8f1b2f773b39 Mon Sep 17 00:00:00 2001 From: "bl\\GQS02" Date: Thu, 6 Nov 2025 11:04:58 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=97=B6=E6=AE=B5=E8=80=97=E7=94=B5?= =?UTF-8?q?=E9=87=8F=E4=B8=BAnull,=20=E5=88=99=E8=AE=BE=E7=BD=AE=E4=B8=BA0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/OrderBasicInfoServiceImpl.java | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java index 530cd3138..6a6f38b5c 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java @@ -3555,7 +3555,26 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService { */ @Override public OrderDetail getOrderDetailByOrderCode(String orderCode) { - return orderBasicInfoMapper.getOrderDetailByOrderCode(orderCode); + OrderDetail orderDetail = orderBasicInfoMapper.getOrderDetailByOrderCode(orderCode); + if (orderDetail != null) { + // 如果尖时段耗电量为null, 则设置为0 + if (orderDetail.getSharpUsedElectricity() == null) { + orderDetail.setSharpUsedElectricity(BigDecimal.ZERO); + } + // 如果峰时段耗电量为null, 则设置为0 + if (orderDetail.getPeakUsedElectricity() == null) { + orderDetail.setPeakUsedElectricity(BigDecimal.ZERO); + } + // 如果谷时段耗电量为null, 则设置为0 + if (orderDetail.getValleyUsedElectricity() == null) { + orderDetail.setValleyUsedElectricity(BigDecimal.ZERO); + } + // 如果平时段耗电量为null, 则设置为0 + if (orderDetail.getFlatUsedElectricity() == null) { + orderDetail.setFlatUsedElectricity(BigDecimal.ZERO); + } + } + return orderDetail; } @Override