From 19d47d52e9855130a3e233a3d75eaab2c7747933 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期三, 18 九月 2024 18:23:38 +0800
Subject: [PATCH] 充电桩硬件对接

---
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/listener/IotMessageListener.java |   21 ++++++++++++++++++++-
 1 files changed, 20 insertions(+), 1 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 cb36d98..06e83ab 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,9 +23,11 @@
 import org.springframework.web.bind.annotation.RestController;
 
 import java.io.IOException;
+import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 
 /**
  * iotda消息监听
@@ -89,6 +91,11 @@
                 sendResult = enhanceProduce.endChargeMessage(endChargeMessage);
                 // 响应硬件
                 break;
+            case SendTagConstant.ERROR_MESSAGE:
+                ErrorMessageMessage errorMessageMessage = JSON.parseObject(content.toJSONString(),ErrorMessageMessage.class);
+                sendResult = enhanceProduce.errorMessageMessage(errorMessageMessage);
+                // 响应硬件
+                break;
             case SendTagConstant.BILLING_MODE_VERIFY:
                 BillingModeVerifyMessage billingModeVerifyMessage = JSON.parseObject(content.toJSONString(),BillingModeVerifyMessage.class);
                 sendResult = enhanceProduce.billingModeVerifyMessage(billingModeVerifyMessage);
@@ -102,7 +109,7 @@
                 }else {
                     // 查询桩使用的模版
                     CheckChargingStrategyDTO dto = new CheckChargingStrategyDTO();
-                    dto.setCode(billingModeVerifyMessage.getBilling_model_code());
+                    dto.setCode(billingModeVerifyMessage.getCharging_pile_code());
                     dto.setStrategyDetailId(Integer.valueOf(billingModeVerifyMessage.getBilling_model_code()));
                     Boolean check = accountingStrategyDetailClient.checkChargingStrategy(dto).getData();
                     // 校验计费模版是否准确
@@ -127,6 +134,10 @@
                 StrategyUtil.setStrategyPrice(strategyPrice,acquisitionBillingModeReply);
                 // 时段设置
                 StrategyUtil.setTime(accountingStrategyDetails,acquisitionBillingModeReply);
+                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);
                 iotMessageProduce.sendMessage(deviceId, ServiceIdMenu.ACQUISITION_BILLING_MODE_REPLY.getKey(),messageUtil.acquisitionBillingModeReply(acquisitionBillingModeReply));
                 break;
             case SendTagConstant.UPLOAD_REAL_TIME_MONITORING_DATA:
@@ -166,6 +177,14 @@
                 ChargingPileStartsChargingMessage chargingPileStartsChargingMessage = JSON.parseObject(content.toJSONString(),ChargingPileStartsChargingMessage.class);
                 sendResult = enhanceProduce.chargingPileStartsChargingMessage(chargingPileStartsChargingMessage);
                 // 响应硬件
+                PlatformConfirmationCharging platformConfirmationCharging = new PlatformConfirmationCharging();
+                platformConfirmationCharging.setCharging_pile_code(chargingPileStartsChargingMessage.getCharging_pile_code());
+                platformConfirmationCharging.setCharging_gun_code(chargingPileStartsChargingMessage.getCharging_gun_code());
+                platformConfirmationCharging.setCard_number("");
+                platformConfirmationCharging.setAccount_balance(BigDecimal.ZERO);
+                platformConfirmationCharging.setAuthentication(1);
+                // TODO
+                iotMessageProduce.sendMessage(deviceId, ServiceIdMenu.PLATFORM_CONFIRMATION_CHARGING.getKey(),messageUtil.platformConfirmationCharging(platformConfirmationCharging));
                 break;
             case SendTagConstant.PLATFORM_START_CHARGING_REPLY:
                 PlatformStartChargingReplyMessage platformStartChargingReplyMessage = JSON.parseObject(content.toJSONString(),PlatformStartChargingReplyMessage.class);

--
Gitblit v1.7.1