ruoyi-api/ruoyi-api-integration/src/main/java/com/ruoyi/integration/api/model/AcquisitionBillingModeReply.java
@@ -17,14 +17,14 @@ public class AcquisitionBillingModeReply extends BaseModel { private String charging_pile_code;// 桩编码 private String billing_model_code;// "计费模型编号 private BigDecimal sharp_peak_electricity_rate;// 尖费电费费率(精确到五位小数) private BigDecimal sharp_peak_service_rate;// 尖服务费费率(精确到五位小数) private BigDecimal peak_electricity_rate;// 峰电费费率(精确到五位小数) private BigDecimal peak_service_rate;// 峰服务费费率(精确到五位小数) private BigDecimal flat_peak_electricity_rate;// 平电费费率(精确到五位小数) private BigDecimal flat_peak_service_rate;// 平服务费费率(精确到五位小数) private BigDecimal low_peak_electricity_rate;// 谷电费费率(精确到五位小数) private BigDecimal low_peak_service_rate;// 谷服务费费率(精确到五位小数) private BigDecimal sharp_peak_electricity_rate = BigDecimal.ZERO;// 尖费电费费率(精确到五位小数) private BigDecimal sharp_peak_service_rate = BigDecimal.ZERO;// 尖服务费费率(精确到五位小数) private BigDecimal peak_electricity_rate = BigDecimal.ZERO;// 峰电费费率(精确到五位小数) private BigDecimal peak_service_rate = BigDecimal.ZERO;// 峰服务费费率(精确到五位小数) private BigDecimal flat_peak_electricity_rate = BigDecimal.ZERO;// 平电费费率(精确到五位小数) private BigDecimal flat_peak_service_rate = BigDecimal.ZERO;// 平服务费费率(精确到五位小数) private BigDecimal low_peak_electricity_rate = BigDecimal.ZERO;// 谷电费费率(精确到五位小数) private BigDecimal low_peak_service_rate = BigDecimal.ZERO;// 谷服务费费率(精确到五位小数) private BigDecimal loss_ratio;// 计损比例 // private DayTimeBase day_time_base; private Integer time1;// 0:00~0:30 时段费率号(0:尖费率,1:峰费率,2:平费率,3:谷费率) ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java
@@ -146,14 +146,14 @@ AcquisitionBillingModeMessage acquisitionBillingModeMessage = JSON.parseObject(content.toJSONString(),AcquisitionBillingModeMessage.class); chargingMessage.setAcquisitionBillingModeMessage(acquisitionBillingModeMessage); // 响应硬件 计费模型请求应答 1=尖阶段,2=峰阶段,3=平阶段,4=谷阶段 List<TAccountingStrategyDetail> accountingStrategyDetails = accountingStrategyDetailClient.getDetailListByCode(acquisitionBillingModeMessage.getCharging_pile_code().substring(0,14)).getData(); List<TAccountingStrategyDetail> accountingStrategyDetails = accountingStrategyDetailClient.getDetailListByCode(acquisitionBillingModeMessage.getCharging_pile_code()).getData(); Map<Integer, TAccountingStrategyDetail> strategyPrice = StrategyUtil.getStrategyPrice(accountingStrategyDetails); // 价格设置 AcquisitionBillingModeReply acquisitionBillingModeReply = new AcquisitionBillingModeReply(); StrategyUtil.setStrategyPrice(strategyPrice,acquisitionBillingModeReply); // 时段设置 StrategyUtil.setTime(accountingStrategyDetails,acquisitionBillingModeReply); TAccountingStrategyDetail accountingStrategyDetail = accountingStrategyDetailClient.getDetailByCode(acquisitionBillingModeMessage.getCharging_pile_code().substring(0,14)).getData(); TAccountingStrategyDetail accountingStrategyDetail = accountingStrategyDetailClient.getDetailByCode(acquisitionBillingModeMessage.getCharging_pile_code()).getData(); acquisitionBillingModeReply.setBilling_model_code(accountingStrategyDetail.getId().toString()); acquisitionBillingModeReply.setCharging_pile_code(acquisitionBillingModeMessage.getCharging_pile_code()); acquisitionBillingModeReply.setLoss_ratio(BigDecimal.ZERO); 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,26 @@ */ public static void setStrategyPrice(Map<Integer, TAccountingStrategyDetail> accountingStrategyDetails,AcquisitionBillingModeReply acquisitionBillingModeReply) { accountingStrategyDetails.forEach((k,v)->{ BigDecimal electrovalence = v.getElectrovalence(); if(Objects.isNull(electrovalence)){ electrovalence = 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(new BigDecimal(0)); break; case 2: acquisitionBillingModeReply.setPeak_electricity_rate(v.getElectrovalence()); // acquisitionBillingModeReply.setPeak_service_rate(v.getServiceCharge()); acquisitionBillingModeReply.setPeak_electricity_rate(electrovalence); acquisitionBillingModeReply.setPeak_service_rate(new BigDecimal(0)); 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(new BigDecimal(0)); 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(new BigDecimal(0)); break; } });