From 7a4f9541331bef779a506b38a27ed5c3373c0bec Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期四, 15 五月 2025 13:53:22 +0800
Subject: [PATCH] 开发二级等保功能及心跳消息队列修改

---
 ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/tools/MessageUtil.java |  229 +++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 204 insertions(+), 25 deletions(-)

diff --git a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/tools/MessageUtil.java b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/tools/MessageUtil.java
index 7691758..caab60d 100644
--- a/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/tools/MessageUtil.java
+++ b/ruoyi-service/ruoyi-integration/src/main/java/com/ruoyi/integration/iotda/utils/tools/MessageUtil.java
@@ -2,12 +2,19 @@
 
 
 import com.alibaba.fastjson2.JSONObject;
-import com.ruoyi.integration.iotda.constant.ServiceIdConstant;
-import com.ruoyi.integration.mongodb.model.*;
+import com.ruoyi.integration.api.model.*;
+import com.ruoyi.integration.iotda.enums.ServiceIdMenu;
 import com.ruoyi.integration.mongodb.service.*;
-import org.apache.poi.ss.formula.functions.T;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.stereotype.Component;
 
+import javax.annotation.Resource;
+import java.util.concurrent.TimeUnit;
+
+@Slf4j
+@Component
 public class MessageUtil {
 
     @Autowired
@@ -26,15 +33,46 @@
     private PlatformConfirmationChargingService platformConfirmationChargingService;
     @Autowired
     private PlatformStartChargingService platformStartChargingService;
+    @Autowired
+    private PlatformStopChargingService platformStopChargingService;
+    @Autowired
+    private ConfirmTransactionRecordService confirmTransactionRecordService;
+    @Autowired
+    private UpdateBalanceService updateBalanceService;
+    @Autowired
+    private SynchronizeOfflineCardService synchronizeOfflineCardService;
+    @Autowired
+    private ClearOfflineCardService clearOfflineCardService;
+    @Autowired
+    private QueryOfflineCardService queryOfflineCardService;
+    @Autowired
+    private WorkingParameterSettingService workingParameterSettingService;
+    @Autowired
+    private TimingSettingService timingSettingService;
+    @Autowired
+    private TimingSettingReplyService timingSettingReplyService;
+    @Autowired
+    private SetupBillingModelService setupBillingModelService;
+    @Autowired
+    private OpenOrCloseGroundLockService openOrCloseGroundLockService;
+    @Autowired
+    private PlatformRestartService platformRestartService;
+    @Autowired
+    private PlatformRemoteUpdateService platformRemoteUpdateService;
+    @Autowired
+    private QrCodeDeliveryService qrCodeDeliveryService;
+    @Resource
+    private RedisTemplate redisTemplate;
 
     /**
      * 登录认证应答
      * @param onlineReply  实体对象
      * @return
      */
-    public String onlineReply(OnlineReply onlineReply){
+    public JSONObject onlineReply(OnlineReply onlineReply){
+        log.info("登录认证应答:{}", onlineReply);
         onlineReplyService.create(onlineReply);
-        return getMessageJsonString(onlineReply, ServiceIdConstant.ONLINE_REPLY);
+        return  getMessageJsonString(onlineReply, ServiceIdMenu.ONLINE_REPLY.getValue());
     }
 
     /**
@@ -42,9 +80,12 @@
      * @param pong 实体对象
      * @return
      */
-    public String pong(Pong pong){
-        pongService.create(pong);
-        return getMessageJsonString(pong, ServiceIdConstant.PONG);
+    public JSONObject pong(Pong pong){
+        log.info("心跳包应答:{}", pong);
+//        pongService.create(pong);
+        //存储缓存中,5分钟有效
+        redisTemplate.opsForValue().set("pong:" + pong.getCharging_pile_code() + pong.getCharging_gun_code(), pong, 5, TimeUnit.MINUTES);
+        return  getMessageJsonString(pong, ServiceIdMenu.PONG.getValue());
     }
 
     /**
@@ -52,9 +93,10 @@
      * @param billingModeVerifyReply 实体对象
      * @return
      */
-    public String billingModeVerifyReply(BillingModeVerifyReply billingModeVerifyReply){
+    public JSONObject billingModeVerifyReply(BillingModeVerifyReply billingModeVerifyReply){
+        log.info("计费模型验证请求应答:{}", billingModeVerifyReply);
         billingModeVerifyReplyService.create(billingModeVerifyReply);
-        return getMessageJsonString(billingModeVerifyReply, ServiceIdConstant.BILLING_MODE_VERIFY_REPLY);
+        return  getMessageJsonString(billingModeVerifyReply, ServiceIdMenu.BILLING_MODE_VERIFY_REPLY.getValue());
     }
 
     /**
@@ -62,9 +104,10 @@
      * @param acquisitionBillingModeReply 实体对象
      * @return
      */
-    public String acquisitionBillingModeReply(AcquisitionBillingModeReply acquisitionBillingModeReply){
+    public JSONObject acquisitionBillingModeReply(AcquisitionBillingModeReply acquisitionBillingModeReply){
+        log.info("计费模型验证请求应答:{}", acquisitionBillingModeReply);
         acquisitionBillingModeReplyService.create(acquisitionBillingModeReply);
-        return getMessageJsonString(acquisitionBillingModeReply, ServiceIdConstant.ACQUISITION_BILLING_MODE_REPLY);
+        return  getMessageJsonString(acquisitionBillingModeReply, ServiceIdMenu.ACQUISITION_BILLING_MODE_REPLY.getValue());
     }
 
     /**
@@ -72,9 +115,10 @@
      * @param readRealTimeMonitoringData 实体对象
      * @return
      */
-    public String readRealTimeMonitoringData(ReadRealTimeMonitoringData readRealTimeMonitoringData){
+    public JSONObject readRealTimeMonitoringData(ReadRealTimeMonitoringData readRealTimeMonitoringData){
+        log.info("读取实时监测数据:{}", readRealTimeMonitoringData);
         readRealTimeMonitoringDataService.create(readRealTimeMonitoringData);
-        return getMessageJsonString(readRealTimeMonitoringData, ServiceIdConstant.READ_REAL_TIME_MONITORING_DATA);
+        return  getMessageJsonString(readRealTimeMonitoringData, ServiceIdMenu.READ_REAL_TIME_MONITORING_DATA.getValue());
     }
 
     /**
@@ -82,19 +126,19 @@
      * @param endCharge 实体对象
      * @return
      */
-    public String endCharge(EndCharge endCharge){
-        endChargeService.create(endCharge);
-        return getMessageJsonString(endCharge, ServiceIdConstant.END_CHARGE);
-    }
+//    public String endCharge(EndCharge endCharge){
+//        endChargeService.create(endCharge);
+//        return  getMessageJsonString(endCharge, ServiceIdMenu.END_CHARGE.getValue());
+//    }
 
     /**
      * 运营平台确认启动充电
      * @param platformConfirmationCharging 实体对象
      * @return
      */
-    public String platformConfirmationCharging(PlatformConfirmationCharging platformConfirmationCharging){
+    public JSONObject platformConfirmationCharging(PlatformConfirmationCharging platformConfirmationCharging){
         platformConfirmationChargingService.create(platformConfirmationCharging);
-        return getMessageJsonString(platformConfirmationCharging, ServiceIdConstant.PLATFORM_CONFIRMATION_CHARGING);
+        return  getMessageJsonString(platformConfirmationCharging, ServiceIdMenu.PLATFORM_CONFIRMATION_CHARGING.getValue());
     }
 
     /**
@@ -102,12 +146,147 @@
      * @param platformStartCharging 实体对象
      * @return
      */
-    public String platformConfirmationCharging(PlatformStartCharging platformStartCharging){
+    public JSONObject platformStartCharging(PlatformStartCharging platformStartCharging){
         platformStartChargingService.create(platformStartCharging);
-        return getMessageJsonString(platformStartCharging, ServiceIdConstant.PLATFORM_START_CHARGING);
+        return  getMessageJsonString(platformStartCharging, ServiceIdMenu.PLATFORM_START_CHARGING.getValue());
     }
 
+    /**
+     * 运营平台远程停机
+     * @param platformStopCharging 实体对象
+     * @return
+     */
+    public JSONObject platformStopCharging(PlatformStopCharging platformStopCharging){
+        platformStopChargingService.create(platformStopCharging);
+        return  getMessageJsonString(platformStopCharging, ServiceIdMenu.PLATFORM_STOP_CHARGING.getValue());
+    }
 
+    /**
+     * 交易记录确认
+     * @param confirmTransactionRecord 实体对象
+     * @return
+     */
+    public JSONObject confirmTransactionRecord(ConfirmTransactionRecord confirmTransactionRecord){
+        confirmTransactionRecordService.create(confirmTransactionRecord);
+        return  getMessageJsonString(confirmTransactionRecord, ServiceIdMenu.CONFIRM_TRANSACTION_RECORD.getValue());
+    }
+
+    /**
+     * 远程账户余额更新
+     * @param updateBalance 实体对象
+     * @return
+     */
+    public JSONObject updateBalance(UpdateBalance updateBalance){
+        updateBalanceService.create(updateBalance);
+        return  getMessageJsonString(updateBalance, ServiceIdMenu.UPDATE_BALANCE.getValue());
+    }
+
+    /**
+     * 离线卡数据同步
+     * @param synchronizeOfflineCard 实体对象
+     * @return
+     */
+    public JSONObject synchronizeOfflineCard(SynchronizeOfflineCard synchronizeOfflineCard){
+        synchronizeOfflineCardService.create(synchronizeOfflineCard);
+        return  getMessageJsonString(synchronizeOfflineCard, ServiceIdMenu.SYNCHRONIZE_OFFLINE_CARD.getValue());
+    }
+
+    /**
+     * 离线卡数据清除
+     * @param clearOfflineCard 实体对象
+     * @return
+     */
+    public JSONObject clearOfflineCard(ClearOfflineCard clearOfflineCard){
+        clearOfflineCardService.create(clearOfflineCard);
+        return  getMessageJsonString(clearOfflineCard, ServiceIdMenu.CLEAR_OFFLINE_CARD.getValue());
+    }
+
+    /**
+     * 离线卡数据查询
+     * @param queryOfflineCard 实体对象
+     * @return
+     */
+    public JSONObject queryOfflineCard(QueryOfflineCard queryOfflineCard){
+        queryOfflineCardService.create(queryOfflineCard);
+        return  getMessageJsonString(queryOfflineCard, ServiceIdMenu.QUERY_OFFLINE_CARD.getValue());
+    }
+
+    /**
+     * 充电桩工作参数设置
+     * @param workingParameterSetting 实体对象
+     * @return
+     */
+    public JSONObject workingParameterSetting(WorkingParameterSetting workingParameterSetting){
+        workingParameterSettingService.create(workingParameterSetting);
+        return  getMessageJsonString(workingParameterSetting, ServiceIdMenu.WORKING_PARAMETER_SETTING.getValue());
+    }
+
+    /**
+     * 对时设置
+     * @param timingSetting 实体对象
+     * @return
+     */
+    public JSONObject timingSetting(TimingSetting timingSetting){
+        timingSettingService.create(timingSetting);
+        return  getMessageJsonString(timingSetting, ServiceIdMenu.TIMING_SETTING.getValue());
+    }
+    /**
+     * 对时设置应答
+     * @param timingSettingReply 实体对象
+     * @return
+     */
+    public JSONObject timingSettingReply(TimingSettingReply timingSettingReply){
+        timingSettingReplyService.create(timingSettingReply);
+        return  getMessageJsonString(timingSettingReply, ServiceIdMenu.TIMING_SETTING_REPLY.getValue());
+    }
+
+    /**
+     * 计费模型设置
+     * @param setupBillingModel 实体对象
+     * @return
+     */
+    public JSONObject setupBillingModel(SetupBillingModel setupBillingModel){
+        setupBillingModelService.create(setupBillingModel);
+        return  getMessageJsonString(setupBillingModel, ServiceIdMenu.SETUP_BILLING_MODEL.getValue());
+    }
+
+    /**
+     * 遥控地锁升锁与降锁命令 (下行)
+     * @param openOrCloseGroundLock 实体对象
+     * @return
+     */
+    public JSONObject openOrCloseGroundLock(OpenOrCloseGroundLock openOrCloseGroundLock){
+        openOrCloseGroundLockService.create(openOrCloseGroundLock);
+        return  getMessageJsonString(openOrCloseGroundLock, ServiceIdMenu.OPEN_OR_CLOSE_GROUND_LOCK.getValue());
+    }
+    /**
+     * 远程重启
+     * @param platformRestart 实体对象
+     * @return
+     */
+    public JSONObject platformRestart(PlatformRestart platformRestart){
+        platformRestartService.create(platformRestart);
+        return  getMessageJsonString(platformRestart, ServiceIdMenu.PLATFORM_RESTART.getValue());
+    }
+    /**
+     * 远程更新
+     * @param platformRemoteUpdate 实体对象
+     * @return
+     */
+    public JSONObject platformRemoteUpdate(PlatformRemoteUpdate platformRemoteUpdate){
+        platformRemoteUpdateService.create(platformRemoteUpdate);
+        return  getMessageJsonString(platformRemoteUpdate, ServiceIdMenu.PLATFORM_REMOTE_UPDATE.getValue());
+    }
+
+    /**
+     * 二维码下发
+     * @param qrCodeDelivery 实体对象
+     * @return
+     */
+    public JSONObject qrCodeDelivery(QrCodeDelivery qrCodeDelivery){
+        qrCodeDeliveryService.create(qrCodeDelivery);
+        return  getMessageJsonString(qrCodeDelivery, ServiceIdMenu.QR_CODE_DELIVERY.getValue());
+    }
 
     /**
      * 统一封装消息
@@ -115,10 +294,10 @@
      * @param serviceId 服务ID
      * @return
      */
-    private String getMessageJsonString(Object object, String serviceId){
+    public JSONObject getMessageJsonString(Object object, String serviceId){
         JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(object));
         jsonObject.put("service_id", serviceId);
-        return jsonObject.toJSONString();
+        log.info("发送数据service_id:{},发送内容:{}",serviceId,jsonObject);
+        return jsonObject;
     }
-
 }

--
Gitblit v1.7.1