ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java
@@ -443,5 +443,25 @@ String message = iotMessageProduce.sendMessage(platformStopCharging.getCharging_pile_code(), ServiceIdMenu.PLATFORM_STOP_CHARGING.getKey(),messageUtil.platformStopCharging(platformStopCharging)); return R.ok(message); } @ApiOperation(value = "计费模板下发",tags = {"硬件接口"}) @GetMapping(value = "/accountingStrategy") public R accountingStrategy() { String code = "3401231001200202"; String deviceId = "3401231001200202"; List<TAccountingStrategyDetail> accountingStrategyDetails = accountingStrategyDetailClient.getDetailListByCode(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(code).getData(); acquisitionBillingModeReply.setBilling_model_code(accountingStrategyDetail.getId().toString()); acquisitionBillingModeReply.setCharging_pile_code(code); acquisitionBillingModeReply.setLoss_ratio(BigDecimal.ZERO); System.err.println(acquisitionBillingModeReply); iotMessageProduce.sendMessage(deviceId, ServiceIdMenu.ACQUISITION_BILLING_MODE_REPLY.getKey(),messageUtil.acquisitionBillingModeReply(acquisitionBillingModeReply)); return R.ok(); } } ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/tools/StrategyUtil.java
@@ -36,25 +36,29 @@ 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(electrovalence); acquisitionBillingModeReply.setSharp_peak_service_rate(new BigDecimal(0)); acquisitionBillingModeReply.setSharp_peak_service_rate(serviceCharge); break; case 2: acquisitionBillingModeReply.setPeak_electricity_rate(electrovalence); acquisitionBillingModeReply.setPeak_service_rate(new BigDecimal(0)); acquisitionBillingModeReply.setPeak_service_rate(serviceCharge); break; case 3: acquisitionBillingModeReply.setFlat_peak_electricity_rate(electrovalence); acquisitionBillingModeReply.setFlat_peak_service_rate(new BigDecimal(0)); acquisitionBillingModeReply.setFlat_peak_service_rate(serviceCharge); break; default: acquisitionBillingModeReply.setLow_peak_electricity_rate(electrovalence); acquisitionBillingModeReply.setLow_peak_service_rate(new BigDecimal(0)); acquisitionBillingModeReply.setLow_peak_service_rate(serviceCharge); break; } });