From 0f4459e4201fdc19185b7dd03215871f036acd70 Mon Sep 17 00:00:00 2001 From: liujie <1793218484@qq.com> Date: 星期三, 28 五月 2025 16:45:01 +0800 Subject: [PATCH] Merge branch 'dev' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile into dev --- ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/tools/StrategyUtil.java | 34 ++++++++++++++++++++++++---------- 1 files changed, 24 insertions(+), 10 deletions(-) diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/tools/StrategyUtil.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/tools/StrategyUtil.java index e881666..261e9c7 100644 --- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/tools/StrategyUtil.java +++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/tools/StrategyUtil.java @@ -6,6 +6,7 @@ import lombok.extern.slf4j.Slf4j; import java.io.Serializable; +import java.math.BigDecimal; import java.time.LocalTime; import java.util.*; import java.util.stream.Collectors; @@ -34,22 +35,30 @@ */ public static void setStrategyPrice(Map<Integer, TAccountingStrategyDetail> accountingStrategyDetails,AcquisitionBillingModeReply acquisitionBillingModeReply) { accountingStrategyDetails.forEach((k,v)->{ + BigDecimal electrovalence = v.getElectrovalence(); + BigDecimal serviceCharge = v.getServiceCharge(); + if(Objects.isNull(electrovalence)){ + electrovalence = BigDecimal.ZERO; + } + if(Objects.isNull(serviceCharge)){ + serviceCharge = BigDecimal.ZERO; + } switch (k){ case 1: - acquisitionBillingModeReply.setSharp_peak_electricity_rate(v.getElectrovalence()); -// acquisitionBillingModeReply.setSharp_peak_service_rate(v.getServiceCharge()); + acquisitionBillingModeReply.setSharp_peak_electricity_rate(electrovalence); + acquisitionBillingModeReply.setSharp_peak_service_rate(serviceCharge); break; case 2: - acquisitionBillingModeReply.setPeak_electricity_rate(v.getElectrovalence()); -// acquisitionBillingModeReply.setPeak_service_rate(v.getServiceCharge()); + acquisitionBillingModeReply.setPeak_electricity_rate(electrovalence); + acquisitionBillingModeReply.setPeak_service_rate(serviceCharge); break; case 3: - acquisitionBillingModeReply.setFlat_peak_electricity_rate(v.getElectrovalence()); -// acquisitionBillingModeReply.setFlat_peak_service_rate(v.getServiceCharge()); + acquisitionBillingModeReply.setFlat_peak_electricity_rate(electrovalence); + acquisitionBillingModeReply.setFlat_peak_service_rate(serviceCharge); break; default: - acquisitionBillingModeReply.setLow_peak_electricity_rate(v.getElectrovalence()); -// acquisitionBillingModeReply.setLow_peak_service_rate(v.getServiceCharge()); + acquisitionBillingModeReply.setLow_peak_electricity_rate(electrovalence); + acquisitionBillingModeReply.setLow_peak_service_rate(serviceCharge); break; } }); @@ -67,8 +76,13 @@ } accountingStrategyDetails = accountingStrategyDetails.stream().sorted(Comparator.comparing(TAccountingStrategyDetail::getStartTime)).collect(Collectors.toList()); for (TAccountingStrategyDetail accountingStrategyDetail : accountingStrategyDetails) { - if(DateUtils.string2LocalTime(accountingStrategyDetail.getStartTime() + ":00").isBefore(time) - && DateUtils.string2LocalTime(accountingStrategyDetail.getEndTime() + ":00").isAfter(time)){ + String startTime = accountingStrategyDetail.getStartTime(); + String endTime = accountingStrategyDetail.getEndTime(); + if("00:00".equals(endTime)){ + endTime = "23:59"; + } + if(DateUtils.string2LocalTime(startTime + ":00").isBefore(time) + && DateUtils.string2LocalTime(endTime + ":00").isAfter(time)){ switch (i){ case 1: acquisitionBillingModeReply.setTime1(accountingStrategyDetail.getType().equals(1)?0 -- Gitblit v1.7.1