From 2c304a0ca353bd718aacda5b24bdcce201d4768f Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期四, 24 十月 2024 17:46:26 +0800
Subject: [PATCH] bug修改
---
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 4ebf980..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()).isBefore(time)
- && DateUtils.string2LocalTime(accountingStrategyDetail.getEndTime()).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