无关风月
2025-01-17 733b527531dde2f85c9c98d2f40c9b9a8eb4b4aa
bug修改
1个文件已修改
25 ■■■■ 已修改文件
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -80,6 +80,7 @@
import java.time.*;
import java.time.format.DateTimeFormatter;
import java.time.format.TextStyle;
import java.time.temporal.ChronoUnit;
import java.time.temporal.WeekFields;
import java.util.*;
import java.util.concurrent.*;
@@ -1321,38 +1322,26 @@
            }
        }
        List<String> collect = list1.stream().map(TChargingOrder::getCode).collect(Collectors.toList());
        StringBuilder stringBuilder = new StringBuilder();
        List<UploadRealTimeMonitoringData> uploadRealTimeMonitoringData = new ArrayList<>();
        for (String s : collect) {
            stringBuilder.append(s).append(",");
        }
        if (stringBuilder.length()>0){
            StringBuilder ids = stringBuilder.deleteCharAt(stringBuilder.length() - 1);
            uploadRealTimeMonitoringData = uploadRealTimeMonitoringDataClient.getOrderInfoByCodes(ids.toString()).getData();
        }
        List<Long> orderIds = list1.stream().map(TChargingOrder::getId).collect(Collectors.toList());
        if(orderIds.isEmpty())orderIds.add(-1L);
        List<TChargingOrderRefund> chargingOrderRefunds = chargingOrderRefundService.lambdaQuery()
                .in(TChargingOrderRefund::getChargingOrderId, orderIds)
                .eq(TChargingOrderRefund::getRefundStatus,2).list();
        System.err.println("充电检测数据"+uploadRealTimeMonitoringData);
        for (ChargingOrderVO chargingOrderVO : list1) {
            paymentMoney= paymentMoney.add(chargingOrderVO.getPaymentAmount()!=null?chargingOrderVO.getPaymentAmount():new BigDecimal("0"));
            commissionMoney = commissionMoney.add(chargingOrderVO.getOrderAmount()!=null?chargingOrderVO.getOrderAmount().multiply(new BigDecimal("0.006")):new BigDecimal("0"));
            if (chargingOrderVO.getChargingCapacity()!=null){
                total = total.add(chargingOrderVO.getElectricity()!=null?chargingOrderVO.getElectricity():new BigDecimal("0"));
            }
            LocalDateTime startTime = chargingOrderVO.getStartTime();
            LocalDateTime endTime = chargingOrderVO.getStartTime();
            // 计算时间差 单位秒
            long between = ChronoUnit.SECONDS.between(startTime, endTime);
            time+=between;
            UploadRealTimeMonitoringData data5 = uploadRealTimeMonitoringData.stream().filter(e -> e!=null&&e.getTransaction_serial_number()!=null&&(e.getTransaction_serial_number().equals(chargingOrderVO.getCode())))
                    .findFirst().orElse(null);
            if (data5!=null && data5.getCumulative_charging_time()!=null){
                long l = data5.getCumulative_charging_time() * 60L;
                chargingOrderVO.setChargingSecond(l);
                time+=l;
            }
            List<TChargingOrderRefund> list2 = chargingOrderRefunds.stream().filter(e -> e.getChargingOrderId() != null && e.getChargingOrderId().equals(chargingOrderVO.getId()))
                    .collect(Collectors.toList());
            for (TChargingOrderRefund tChargingOrderRefund : list2) {