From d75c85a1eb70fe6751b88b85b9cee894476fe7dc Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期一, 30 九月 2024 17:21:11 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile

---
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java |   50 ++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 44 insertions(+), 6 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 c3961f0..fc580ee 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
@@ -23,12 +23,12 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.FileWriter;
 import java.io.IOException;
 import java.math.BigDecimal;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
+import java.util.*;
 
 /**
  * iotda消息监听
@@ -62,6 +62,11 @@
         String productId = header.getString("product_id"); // 产品id
         String service_id = content.getString("service_id");
         log.info("服务id:{}",service_id);
+        // 写入文件
+        FileWriter writer = new FileWriter("D:/sample.txt",true);
+        writer.write("接收到消息中转:"+jsonObject+"\n");
+        writer.write("服务id:"+service_id+"\n");
+        writer.close();
         SendResult sendResult;
         // 设备消息下发
         String result;
@@ -76,6 +81,11 @@
                 onlineReply.setOnline_result(0);
                 result = iotMessageProduce.sendMessage(deviceId, ServiceIdMenu.ONLINE_REPLY.getKey(), messageUtil.onlineReply(onlineReply));
                 log.info("充电桩登录认证-返回结果:{}",result);
+                // 响应硬件 对时设置应答
+                TimingSettingReply timingSettingReplyOnline = new TimingSettingReply();
+                timingSettingReplyOnline.setCharging_pile_code(onlineMessage.getCharging_pile_code());
+                timingSettingReplyOnline.setCurrent_time(CP56Time2aConverter.convertToCP56Time2a(new Date()));
+                iotMessageProduce.sendMessage(deviceId, ServiceIdMenu.TIMING_SETTING_REPLY.getKey(),messageUtil.timingSettingReply(timingSettingReplyOnline));
                 break;
             case SendTagConstant.PING:
                 PingMessage pingMessage = JSON.parseObject(content.toJSONString(),PingMessage.class);
@@ -129,14 +139,14 @@
                 AcquisitionBillingModeMessage acquisitionBillingModeMessage = JSON.parseObject(content.toJSONString(),AcquisitionBillingModeMessage.class);
                 sendResult = enhanceProduce.acquisitionBillingModeMessage(acquisitionBillingModeMessage);
                 // 响应硬件   计费模型请求应答  1=尖阶段,2=峰阶段,3=平阶段,4=谷阶段
-                List<TAccountingStrategyDetail> accountingStrategyDetails = accountingStrategyDetailClient.getDetailListByCode(acquisitionBillingModeMessage.getCharging_pile_code()).getData();
+                List<TAccountingStrategyDetail> accountingStrategyDetails = accountingStrategyDetailClient.getDetailListByCode(acquisitionBillingModeMessage.getCharging_pile_code().substring(0,14)).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()).getData();
+                TAccountingStrategyDetail accountingStrategyDetail = accountingStrategyDetailClient.getDetailByCode(acquisitionBillingModeMessage.getCharging_pile_code().substring(0,14)).getData();
                 acquisitionBillingModeReply.setBilling_model_code(accountingStrategyDetail.getId().toString());
                 acquisitionBillingModeReply.setCharging_pile_code(acquisitionBillingModeMessage.getCharging_pile_code());
                 acquisitionBillingModeReply.setLoss_ratio(BigDecimal.ZERO);
@@ -364,4 +374,32 @@
         return R.ok(message);
     }
 
+    @ApiOperation(value = "测试",tags = {"硬件接口"})
+    @GetMapping(value = "/test")
+    public R test() {
+        String orderNum = "2024092646526785213546";
+        String deviceId = "3401231001200202";
+        Long orderId = 2024065544L;
+        BigDecimal money = new BigDecimal(50);
+        PlatformStartCharging platformStartCharging = new PlatformStartCharging();
+        platformStartCharging.setTransaction_serial_number(orderNum);
+        platformStartCharging.setCharging_pile_code(deviceId);
+        platformStartCharging.setCharging_gun_code("02");
+        platformStartCharging.setCard_number(orderId.toString());
+        platformStartCharging.setAccount_balance(money);
+        String message = iotMessageProduce.sendMessage(platformStartCharging.getCharging_pile_code(), ServiceIdMenu.PLATFORM_START_CHARGING.getKey(), messageUtil.platformStartCharging(platformStartCharging));
+        System.err.println(platformStartCharging);
+        return R.ok(message);
+    }
+
+    @ApiOperation(value = "测试",tags = {"硬件接口"})
+    @GetMapping(value = "/stop")
+    public R test1() {
+        PlatformStopCharging platformStopCharging = new PlatformStopCharging();
+        platformStopCharging.setCharging_pile_code("3401231001200202");
+        platformStopCharging.setCharging_gun_code("02");
+        String message = iotMessageProduce.sendMessage(platformStopCharging.getCharging_pile_code(), ServiceIdMenu.PLATFORM_STOP_CHARGING.getKey(),messageUtil.platformStopCharging(platformStopCharging));
+        return R.ok(message);
+    }
+
 }
\ No newline at end of file

--
Gitblit v1.7.1