From b43c4e2e62873e2ab4aa6b24b02f3effd4a16e05 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期一, 14 十月 2024 17:11:00 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java |   20 ++++++++++++++++++++
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/tools/StrategyUtil.java          |   12 ++++++++----
 2 files changed, 28 insertions(+), 4 deletions(-)

diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java
index d26dc29..4648622 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java
+++ b/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();
+    }
 
 }
\ No newline at end of file
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 f999d66..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
@@ -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;
             }
         });

--
Gitblit v1.7.1