From be69901c0ad8ffacaf5b948ccca11b350a9d11c5 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期三, 20 八月 2025 10:44:20 +0800
Subject: [PATCH] 修改bug

---
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/com/CommandCtrl.java |   45 ++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 40 insertions(+), 5 deletions(-)

diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/com/CommandCtrl.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/com/CommandCtrl.java
index a53defb..50d4c55 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/com/CommandCtrl.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/com/CommandCtrl.java
@@ -7,6 +7,7 @@
 import com.dy.rtuMw.server.forTcp.TcpSessionCache;
 import com.dy.rtuMw.server.local.CommandInnerDeaLer;
 import com.dy.rtuMw.server.local.ReturnCommand;
+import com.dy.rtuMw.server.mqtt.DevStatusDealer;
 import com.dy.rtuMw.server.mqtt.MqttManager;
 import com.dy.rtuMw.server.msCenter.MsCenterUnit;
 import com.dy.rtuMw.server.tasks.WebDownCom4MqttTask;
@@ -371,19 +372,22 @@
     }
 
     /**
-     * 澶勭悊鍙戝悜RTU鐨勫閮ㄥ懡浠�
+     * 澶勭悊鍙戝悜MQTT鐨勫閮ㄥ懡浠�
      * @return 缁撴灉
      */
     private BaseResponse<Command> dealMqttCommand(Command command){
-        String rtuAddr = command.getRtuAddr() ;
-        if(rtuAddr == null || rtuAddr.trim().equals("")){
-            return BaseResponseUtils.buildError(ReturnCommand.errored("鍑洪敊锛岃澶嘔D涓虹┖锛�", command.getId(), command.getCode())) ;
+        String mqttDevId = command.getRtuAddr() ;//FBox璁惧鍙�
+        if(mqttDevId == null || mqttDevId.trim().equals("")){
+            return BaseResponseUtils.buildError(ReturnCommand.errored("鍑洪敊锛孎Box璁惧ID涓虹┖锛�", command.getId(), command.getCode())) ;
         }
         if(!ServerProperties.mqttUnitEnable.booleanValue()){
             return BaseResponseUtils.buildError(ReturnCommand.errored("鍑洪敊锛孧QTT杩炴帴妯″潡閰嶇疆鏈惎鍔紒", command.getId(), command.getCode())) ;
         }
         if(MqttManager.getInstance().poolIsClose()){
-            return BaseResponseUtils.buildError(ReturnCommand.errored("鍑洪敊锛孧QTT杩炴帴姹犳按鍒涘缓鎴愬姛锛�", command.getId(), command.getCode())) ;
+            return BaseResponseUtils.buildError(ReturnCommand.errored("鍑洪敊锛孧QTT杩炴帴姹犳湭鍒涘缓鎴愬姛锛�", command.getId(), command.getCode())) ;
+        }
+        if(!DevStatusDealer.oneOnLine(mqttDevId)){
+            return BaseResponseUtils.buildError(ReturnCommand.errored("鍑洪敊锛孎Box璁惧鏈湪绾匡紒", command.getId(), command.getCode())) ;
         }
 
         //鐢熸垚寮傛浠诲姟
@@ -400,5 +404,36 @@
     }
 
 
+    /**
+     * 澶勭悊鍙戝悜MQTT鐨勫唴閮ㄩ儴鍛戒护
+     * @return 缁撴灉
+     */
+    private BaseResponse<Command> dealMqttInnerCommand(Command command){
+        String mqttDevId = command.getRtuAddr() ;//FBox璁惧鍙�
+        if(mqttDevId == null || mqttDevId.trim().equals("")){
+            return BaseResponseUtils.buildError(ReturnCommand.errored("鍑洪敊锛孎Box璁惧ID涓虹┖锛�", command.getId(), command.getCode())) ;
+        }
+        if(!ServerProperties.mqttUnitEnable.booleanValue()){
+            return BaseResponseUtils.buildError(ReturnCommand.errored("鍑洪敊锛孧QTT杩炴帴妯″潡閰嶇疆鏈惎鍔紒", command.getId(), command.getCode())) ;
+        }
+        if(MqttManager.getInstance().poolIsClose()){
+            return BaseResponseUtils.buildError(ReturnCommand.errored("鍑洪敊锛孧QTT杩炴帴姹犳湭鍒涘缓鎴愬姛锛�", command.getId(), command.getCode())) ;
+        }
+        if(!DevStatusDealer.oneOnLine(mqttDevId)){
+            return BaseResponseUtils.buildError(ReturnCommand.errored("鍑洪敊锛孎Box璁惧鏈湪绾匡紒", command.getId(), command.getCode())) ;
+        }
+
+        //鐢熸垚寮傛浠诲姟
+        WebDownCom4MqttTask task = new WebDownCom4MqttTask() ;
+        task.data = command ;
+        try{
+            log.info("鏋勯�犱笅鍙慚QTT鍛戒护" + command.getCode() + "鐨勬牳蹇冧换鍔★紝骞舵斁鍏ヤ换鍔¢槦鍒椾腑");
+            CoreUnit.getInstance().pushCoreTask(task);
+        }catch(Exception e){
+            log.error(e.getMessage(), e);
+            return BaseResponseUtils.buildError(ReturnCommand.successed("MQTT鍛戒护澶勭悊澶辫触" + e.getMessage(), command.getId(), command.getCode())) ;
+        }
+        return BaseResponseUtils.buildSuccess(ReturnCommand.successed("MQTT鍛戒护宸叉帴鍙楋紝鍗冲皢鏋勯�犲苟涓嬪彂鍛戒护銆�", command.getId(), command.getCode()));
+    }
 
 }

--
Gitblit v1.8.0