From 792cbb986fb8c32f6bbc1638c4ae264372e7a28f Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期四, 23 一月 2025 19:31:36 +0800
Subject: [PATCH] 新增引流接口及业务逻辑

---
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/produce/EnhanceProduce.java |  136 +++++++++++++++++++++++++++-----------------
 1 files changed, 83 insertions(+), 53 deletions(-)

diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/produce/EnhanceProduce.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/produce/EnhanceProduce.java
index 762cdbd..ce9a938 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/produce/EnhanceProduce.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/rocket/produce/EnhanceProduce.java
@@ -2,15 +2,16 @@
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import com.ruoyi.integration.api.model.ErrorMessage;
+import com.ruoyi.integration.api.model.ParameterSetting;
+import com.ruoyi.integration.api.model.QrCodeDeliveryReply;
+import com.ruoyi.integration.api.model.SecurityDetection;
 import com.ruoyi.integration.iotda.constant.SendTagConstant;
 import com.ruoyi.integration.rocket.model.*;
 import com.ruoyi.integration.rocket.util.RocketMQEnhanceTemplate;
 import lombok.Setter;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.rocketmq.client.producer.DefaultMQProducer;
 import org.apache.rocketmq.client.producer.SendResult;
-import org.apache.rocketmq.common.message.Message;
-import org.apache.rocketmq.remoting.common.RemotingHelper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -29,8 +30,7 @@
     /**
      * 充电桩登录认证
      */
-    public SendResult onlineMessage(JSONObject jsonObject) {
-        OnlineMessage message = JSON.parseObject(jsonObject.toJSONString(),OnlineMessage.class);
+    public SendResult onlineMessage(OnlineMessage message) {
         // 设置业务key
         message.setKey(UUID.randomUUID().toString());
         // 设置消息来源,便于查询
@@ -41,8 +41,7 @@
     /**
      * 充电桩心跳包
      */
-    public SendResult pingMessage(JSONObject jsonObject) {
-        PingMessage message = JSON.parseObject(jsonObject.toJSONString(),PingMessage.class);
+    public SendResult pingMessage(PingMessage message) {
         // 设置业务key
         message.setKey(UUID.randomUUID().toString());
         // 设置消息来源,便于查询
@@ -52,20 +51,28 @@
     /**
      * 充电结束
      */
-    public SendResult endChargeMessage(JSONObject jsonObject) {
-        PingMessage message = JSON.parseObject(jsonObject.toJSONString(),PingMessage.class);
+    public SendResult endChargeMessage(EndChargeMessage message) {
         // 设置业务key
         message.setKey(UUID.randomUUID().toString());
         // 设置消息来源,便于查询
         message.setSource(SendTagConstant.END_CHARGE);
         return rocketMQEnhanceTemplate.send(TOPIC+SendTagConstant.END_CHARGE, SendTagConstant.END_CHARGE, message);
     }
+    /**
+     * 错误报文
+     */
+    public SendResult errorMessageMessage(ErrorMessageMessage message) {
+        // 设置业务key
+        message.setKey(UUID.randomUUID().toString());
+        // 设置消息来源,便于查询
+        message.setSource(SendTagConstant.ERROR_MESSAGE);
+        return rocketMQEnhanceTemplate.send(TOPIC+SendTagConstant.ERROR_MESSAGE, SendTagConstant.ERROR_MESSAGE, message);
+    }
 
     /**
      * 计费模型验证请求
      */
-    public SendResult billingModeVerifyMessage(JSONObject jsonObject) {
-        BillingModeVerifyMessage message = JSON.parseObject(jsonObject.toJSONString(),BillingModeVerifyMessage.class);
+    public SendResult billingModeVerifyMessage(BillingModeVerifyMessage message) {
         // 设置业务key
         message.setKey(UUID.randomUUID().toString());
         // 设置消息来源,便于查询
@@ -76,8 +83,7 @@
     /**
      * 充电桩计费模型请求
      */
-    public SendResult acquisitionBillingModeMessage(JSONObject jsonObject) {
-        AcquisitionBillingModeMessage message = JSON.parseObject(jsonObject.toJSONString(),AcquisitionBillingModeMessage.class);
+    public SendResult acquisitionBillingModeMessage(AcquisitionBillingModeMessage message) {
         // 设置业务key
         message.setKey(UUID.randomUUID().toString());
         // 设置消息来源,便于查询
@@ -88,8 +94,7 @@
     /**
      * 上传实时监测数据
      */
-    public SendResult uploadRealTimeMonitoringDataMessage(JSONObject jsonObject) {
-        UploadRealTimeMonitoringDataMessage message = JSON.parseObject(jsonObject.toJSONString(),UploadRealTimeMonitoringDataMessage.class);
+    public SendResult uploadRealTimeMonitoringDataMessage(UploadRealTimeMonitoringDataMessage message) {
         // 设置业务key
         message.setKey(UUID.randomUUID().toString());
         // 设置消息来源,便于查询
@@ -100,20 +105,28 @@
     /**
      * 充电握手
      */
-    public SendResult chargingHandshakeMessage(JSONObject jsonObject) {
-        ChargingHandshakeMessage message = JSON.parseObject(jsonObject.toJSONString(),ChargingHandshakeMessage.class);
+    public SendResult chargingHandshakeMessage(ChargingHandshakeMessage message) {
         // 设置业务key
         message.setKey(UUID.randomUUID().toString());
         // 设置消息来源,便于查询
         message.setSource(SendTagConstant.CHARGING_HANDSHAKE);
         return rocketMQEnhanceTemplate.send(TOPIC+SendTagConstant.CHARGING_HANDSHAKE, SendTagConstant.CHARGING_HANDSHAKE, message);
     }
+    /**
+     * 参数设置
+     */
+    public SendResult parameterSettingMessage(ParameterSettingMessage message) {
+        // 设置业务key
+        message.setKey(UUID.randomUUID().toString());
+        // 设置消息来源,便于查询
+        message.setSource(SendTagConstant.PARAMETER_SETTING);
+        return rocketMQEnhanceTemplate.send(TOPIC+SendTagConstant.PARAMETER_SETTING, SendTagConstant.PARAMETER_SETTING, message);
+    }
 
     /**
      * 充电阶段BMS中止
      */
-    public SendResult bmsAbortMessage(JSONObject jsonObject) {
-        BmsAbortMessage message = JSON.parseObject(jsonObject.toJSONString(),BmsAbortMessage.class);
+    public SendResult bmsAbortMessage(BmsAbortMessage message) {
         // 设置业务key
         message.setKey(UUID.randomUUID().toString());
         // 设置消息来源,便于查询
@@ -124,8 +137,7 @@
     /**
      * 充电阶段充电机中止
      */
-    public SendResult motorAbortMessage(JSONObject jsonObject) {
-        MotorAbortMessage message = JSON.parseObject(jsonObject.toJSONString(),MotorAbortMessage.class);
+    public SendResult motorAbortMessage(MotorAbortMessage message) {
         // 设置业务key
         message.setKey(UUID.randomUUID().toString());
         // 设置消息来源,便于查询
@@ -136,8 +148,7 @@
     /**
      * 充电过程BMS需求、充电机输出
      */
-    public SendResult bmsDemandAndChargerExportationMessage(JSONObject jsonObject) {
-        BmsDemandAndChargerExportationMessage message = JSON.parseObject(jsonObject.toJSONString(),BmsDemandAndChargerExportationMessage.class);
+    public SendResult bmsDemandAndChargerExportationMessage(BmsDemandAndChargerExportationMessage message) {
         // 设置业务key
         message.setKey(UUID.randomUUID().toString());
         // 设置消息来源,便于查询
@@ -148,8 +159,7 @@
     /**
      * 充电过程BMS信息
      */
-    public SendResult bmsInformationMessage(JSONObject jsonObject) {
-        BmsInformationMessage message = JSON.parseObject(jsonObject.toJSONString(),BmsInformationMessage.class);
+    public SendResult bmsInformationMessage(BmsInformationMessage message) {
         // 设置业务key
         message.setKey(UUID.randomUUID().toString());
         // 设置消息来源,便于查询
@@ -160,8 +170,7 @@
     /**
      * 充电桩主动申请启动充电
      */
-    public SendResult chargingPileStartsChargingMessage(JSONObject jsonObject) {
-        ChargingPileStartsChargingMessage message = JSON.parseObject(jsonObject.toJSONString(),ChargingPileStartsChargingMessage.class);
+    public SendResult chargingPileStartsChargingMessage(ChargingPileStartsChargingMessage message) {
         // 设置业务key
         message.setKey(UUID.randomUUID().toString());
         // 设置消息来源,便于查询
@@ -172,8 +181,7 @@
     /**
      * 远程启机命令回复
      */
-    public SendResult platformStartChargingReplyMessage(JSONObject jsonObject) {
-        PlatformStartChargingReplyMessage message = JSON.parseObject(jsonObject.toJSONString(),PlatformStartChargingReplyMessage.class);
+    public SendResult platformStartChargingReplyMessage(PlatformStartChargingReplyMessage message) {
         // 设置业务key
         message.setKey(UUID.randomUUID().toString());
         // 设置消息来源,便于查询
@@ -184,8 +192,7 @@
     /**
      * 远程停机命令回复
      */
-    public SendResult platformStopChargingReplyMessage(JSONObject jsonObject) {
-        PlatformStopChargingReplyMessage message = JSON.parseObject(jsonObject.toJSONString(),PlatformStopChargingReplyMessage.class);
+    public SendResult platformStopChargingReplyMessage(PlatformStopChargingReplyMessage message) {
         // 设置业务key
         message.setKey(UUID.randomUUID().toString());
         // 设置消息来源,便于查询
@@ -196,8 +203,7 @@
     /**
      * 交易记录
      */
-    public SendResult transactionRecordMessage(JSONObject jsonObject) {
-        TransactionRecordMessage message = JSON.parseObject(jsonObject.toJSONString(),TransactionRecordMessage.class);
+    public SendResult transactionRecordMessage(TransactionRecordMessage message) {
         // 设置业务key
         message.setKey(UUID.randomUUID().toString());
         // 设置消息来源,便于查询
@@ -208,8 +214,7 @@
     /**
      * 余额更新应答
      */
-    public SendResult updateBalanceReplyMessage(JSONObject jsonObject) {
-        UpdateBalanceReplyMessage message = JSON.parseObject(jsonObject.toJSONString(),UpdateBalanceReplyMessage.class);
+    public SendResult updateBalanceReplyMessage(UpdateBalanceReplyMessage message) {
         // 设置业务key
         message.setKey(UUID.randomUUID().toString());
         // 设置消息来源,便于查询
@@ -220,8 +225,7 @@
     /**
      * 卡数据同步应答
      */
-    public SendResult synchronizeOfflineCardReplyMessage(JSONObject jsonObject) {
-        SynchronizeOfflineCardReplyMessage message = JSON.parseObject(jsonObject.toJSONString(),SynchronizeOfflineCardReplyMessage.class);
+    public SendResult synchronizeOfflineCardReplyMessage(SynchronizeOfflineCardReplyMessage message) {
         // 设置业务key
         message.setKey(UUID.randomUUID().toString());
         // 设置消息来源,便于查询
@@ -232,8 +236,7 @@
     /**
      * 离线卡数据清除应答
      */
-    public SendResult clearOfflineCardReplyMessage(JSONObject jsonObject) {
-        ClearOfflineCardReplyMessage message = JSON.parseObject(jsonObject.toJSONString(),ClearOfflineCardReplyMessage.class);
+    public SendResult clearOfflineCardReplyMessage(ClearOfflineCardReplyMessage message) {
         // 设置业务key
         message.setKey(UUID.randomUUID().toString());
         // 设置消息来源,便于查询
@@ -244,8 +247,7 @@
     /**
      * 充电桩工作参数设置应答
      */
-    public SendResult workingParameterSettingReplyMessage(JSONObject jsonObject) {
-        WorkingParameterSettingReplyMessage message = JSON.parseObject(jsonObject.toJSONString(),WorkingParameterSettingReplyMessage.class);
+    public SendResult workingParameterSettingReplyMessage(WorkingParameterSettingReplyMessage message) {
         // 设置业务key
         message.setKey(UUID.randomUUID().toString());
         // 设置消息来源,便于查询
@@ -256,8 +258,7 @@
     /**
      * 对时设置
      */
-    public SendResult timingSettingMessage(JSONObject jsonObject) {
-        TimingSettingMessage message = JSON.parseObject(jsonObject.toJSONString(),TimingSettingMessage.class);
+    public SendResult timingSettingMessage(TimingSettingMessage message) {
         // 设置业务key
         message.setKey(UUID.randomUUID().toString());
         // 设置消息来源,便于查询
@@ -268,8 +269,7 @@
     /**
      * 计费模型应答
      */
-    public SendResult setupBillingModelReplyMessage(JSONObject jsonObject) {
-        SetupBillingModelReplyMessage message = JSON.parseObject(jsonObject.toJSONString(),SetupBillingModelReplyMessage.class);
+    public SendResult setupBillingModelReplyMessage(SetupBillingModelReplyMessage message) {
         // 设置业务key
         message.setKey(UUID.randomUUID().toString());
         // 设置消息来源,便于查询
@@ -280,8 +280,7 @@
     /**
      * 地锁数据上送(充电桩上送)
      */
-    public SendResult groundLockRealTimeDataMessage(JSONObject jsonObject) {
-        GroundLockRealTimeDataMessage message = JSON.parseObject(jsonObject.toJSONString(),GroundLockRealTimeDataMessage.class);
+    public SendResult groundLockRealTimeDataMessage(GroundLockRealTimeDataMessage message) {
         // 设置业务key
         message.setKey(UUID.randomUUID().toString());
         // 设置消息来源,便于查询
@@ -292,8 +291,7 @@
     /**
      * 充电桩返回数据(上行)
      */
-    public SendResult chargingPileReturnsGroundLockDataMessage(JSONObject jsonObject) {
-        ChargingPileReturnsGroundLockDataMessage message = JSON.parseObject(jsonObject.toJSONString(),ChargingPileReturnsGroundLockDataMessage.class);
+    public SendResult chargingPileReturnsGroundLockDataMessage(ChargingPileReturnsGroundLockDataMessage message) {
         // 设置业务key
         message.setKey(UUID.randomUUID().toString());
         // 设置消息来源,便于查询
@@ -304,8 +302,7 @@
     /**
      * 远程重启应答
      */
-    public SendResult platformRestartReplyMessage(JSONObject jsonObject) {
-        PlatformRestartReplyMessage message = JSON.parseObject(jsonObject.toJSONString(),PlatformRestartReplyMessage.class);
+    public SendResult platformRestartReplyMessage(PlatformRestartReplyMessage message) {
         // 设置业务key
         message.setKey(UUID.randomUUID().toString());
         // 设置消息来源,便于查询
@@ -316,12 +313,45 @@
     /**
      * 远程更新应答
      */
-    public SendResult platformRemoteUpdateReplyMessage(JSONObject jsonObject) {
-        PlatformRemoteUpdateReplyMessage message = JSON.parseObject(jsonObject.toJSONString(),PlatformRemoteUpdateReplyMessage.class);
+    public SendResult platformRemoteUpdateReplyMessage(PlatformRemoteUpdateReplyMessage message) {
         // 设置业务key
         message.setKey(UUID.randomUUID().toString());
         // 设置消息来源,便于查询
         message.setSource(SendTagConstant.PLATFORM_REMOTE_UPDATE_REPLY);
         return rocketMQEnhanceTemplate.send(TOPIC+SendTagConstant.PLATFORM_REMOTE_UPDATE_REPLY, SendTagConstant.PLATFORM_REMOTE_UPDATE_REPLY, message);
     }
+
+    /**
+     * 二维码下发应答
+     */
+    public SendResult qrCodeDeliveryReplyMessage(QrCodeDeliveryReplyMessage message) {
+        // 设置业务key
+        message.setKey(UUID.randomUUID().toString());
+        // 设置消息来源,便于查询
+        message.setSource(SendTagConstant.QR_CODE_DELIVERY_REPLY);
+        return rocketMQEnhanceTemplate.send(TOPIC+SendTagConstant.QR_CODE_DELIVERY_REPLY, SendTagConstant.QR_CODE_DELIVERY_REPLY, message);
+    }
+
+    /**
+     * 安全监测
+     */
+    public SendResult securityDetectionMessage(SecurityDetectionMessage message) {
+        // 设置业务key
+        message.setKey(UUID.randomUUID().toString());
+        // 设置消息来源,便于查询
+        message.setSource(SendTagConstant.SECURITY_DETECTION);
+        return rocketMQEnhanceTemplate.send(TOPIC+SendTagConstant.SECURITY_DETECTION, SendTagConstant.SECURITY_DETECTION, message);
+    }
+
+    /**
+     * 充电桩登录认证
+     */
+    public SendResult chargingMessage(ChargingMessage message) {
+        // 设置业务key
+        message.setKey(UUID.randomUUID().toString());
+        // 设置消息来源,便于查询
+        message.setSource(SendTagConstant.CHARGING_MESSAGE);
+        return rocketMQEnhanceTemplate.send(TOPIC+SendTagConstant.CHARGING_MESSAGE, SendTagConstant.CHARGING_MESSAGE, message);
+    }
+
 }
\ No newline at end of file

--
Gitblit v1.7.1