From 0c870ae5b2af348e19b10cc1a99f103f95c5a1cc Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期六, 21 六月 2025 11:47:09 +0800
Subject: [PATCH] 1、通信中间件重构MQTT相关下行命令的逻辑; 2、remote模块完善MQTT相关下行命令解除报警、搅拌启停、注肥启停、灌溉启停功能类;
---
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/paramSet/CdCtrl.java | 16 +-
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/inject/CdCtrl.java | 38 ++++++-
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/fault/CdCtrl.java | 11 +-
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config.properties | 6
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/MqttMsgParser.java | 2
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/rtuMw/Web2RtuMw.java | 18 +++
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/mqtt/MqttUnitConfigVo.java | 8 +
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/irr/CdParam.java | 4
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/Server.java | 12 +
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config.xml | 6 +
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/irr/CdCtrl.java | 39 ++++++-
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/paramSet/CdParam.java | 6 +
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/stir/CdDto.java | 9 +
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/inject/CdParam.java | 4
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/fault/CdParam.java | 4
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/pSdV1/ProtocolParserSdV1.java | 10 +-
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/mqtt/MqttPubMsgNode.java | 32 ++++--
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/common/Cd4MqttParameter.java | 3
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/stir/CdCtrl.java | 32 +++++-
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/stir/CdParam.java | 4
20 files changed, 204 insertions(+), 60 deletions(-)
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/MqttMsgParser.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/MqttMsgParser.java
index 04f99e3..5114ad8 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/MqttMsgParser.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/MqttMsgParser.java
@@ -57,7 +57,7 @@
if(com.protocolVersion == null){
throw new Exception("鎺ユ敹鍒癕QTT鍛戒护锛屼絾鏈彁渚涘崗璁増鏈彿") ;
}
- if(com.code != null && com.code.trim().length() != 0){
+ if(com.code == null || com.code.trim().length() == 0){
throw new Exception("鎺ユ敹鍒癕QTT鍛戒护锛屼絾鏈彁渚涘姛鑳界爜") ;
}
if(com.protocol.equals(ProtocolConstantSdV1.protocolName)){
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/pSdV1/ProtocolParserSdV1.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/pSdV1/ProtocolParserSdV1.java
index 0040621..acfbe14 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/pSdV1/ProtocolParserSdV1.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol4Mqtt/pSdV1/ProtocolParserSdV1.java
@@ -148,7 +148,7 @@
msg.isCacheForOffLine = false ;
msg.hasResponse = true ;
msg.cd = CodeSdV1.cd_Fault ;
- msg.topic = new MqttTopic(orgTag, com.protocol, com.rtuAddr, ProtocolConstantSdV1.PubTopicFault, cvo.no) ;
+ msg.topic = new MqttTopic(orgTag, com.protocol + com.protocolVersion, com.rtuAddr, ProtocolConstantSdV1.PubTopicFault, cvo.no) ;
msg.msg = JSON.toJSONString(new FaultClearVo(cvo.startTrueStopFalse ?(byte)1:0)) ;
return msg ;
}
@@ -164,7 +164,7 @@
msg.isCacheForOffLine = false ;
msg.hasResponse = true ;
msg.cd = CodeSdV1.cd_Fault ;
- msg.topic = new MqttTopic(orgTag, com.protocol, com.rtuAddr, ProtocolConstantSdV1.PubTopicStir, cvo.no) ;
+ msg.topic = new MqttTopic(orgTag, com.protocol + com.protocolVersion, com.rtuAddr, ProtocolConstantSdV1.PubTopicStir, cvo.no) ;
msg.msg = JSON.toJSONString(new StirStartVo(cvo.startTrueStopFalse ?(byte)1:0)) ;
return msg ;
}
@@ -180,7 +180,7 @@
msg.isCacheForOffLine = false ;
msg.hasResponse = true ;
msg.cd = CodeSdV1.cd_Fault ;
- msg.topic = new MqttTopic(orgTag, com.protocol, com.rtuAddr, ProtocolConstantSdV1.PubTopicInject, cvo.no) ;
+ msg.topic = new MqttTopic(orgTag, com.protocol + com.protocolVersion, com.rtuAddr, ProtocolConstantSdV1.PubTopicInject, cvo.no) ;
msg.msg = JSON.toJSONString(new InjectStartVo(cvo.startTrueStopFalse ?(byte)1:0)) ;
return msg ;
}
@@ -196,7 +196,7 @@
msg.isCacheForOffLine = false ;
msg.hasResponse = true ;
msg.cd = CodeSdV1.cd_Fault ;
- msg.topic = new MqttTopic(orgTag, com.protocol, com.rtuAddr, ProtocolConstantSdV1.PubTopicIrr, cvo.no) ;
+ msg.topic = new MqttTopic(orgTag, com.protocol + com.protocolVersion, com.rtuAddr, ProtocolConstantSdV1.PubTopicIrr, cvo.no) ;
msg.msg = JSON.toJSONString(new StirStartVo(cvo.startTrueStopFalse ?(byte)1:0)) ;
return msg ;
}
@@ -213,7 +213,7 @@
msg.isCacheForOffLine = false ;
msg.hasResponse = false ;
msg.cd = CodeSdV1.cd_Param ;
- msg.topic = new MqttTopic(orgTag, com.protocol, com.rtuAddr, ProtocolConstantSdV1.PubTopicParam, cvo.no) ;
+ msg.topic = new MqttTopic(orgTag, com.protocol + com.protocolVersion, com.rtuAddr, ProtocolConstantSdV1.PubTopicParam, cvo.no) ;
msg.msg = JSON.toJSONString(new ParamSetVo(cvo.stirDuration, cvo.injectDuration)) ;
return msg ;
}
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/rtuMw/Web2RtuMw.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/rtuMw/Web2RtuMw.java
index 118b150..23b2675 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/rtuMw/Web2RtuMw.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/rtuMw/Web2RtuMw.java
@@ -214,6 +214,24 @@
}
/**
+ * 鍒涘缓澶栭儴鍛戒护锛堝彂缁欐帶鍒跺櫒锛�
+ * @param fboxId FBox璁惧搴忓垪鍙�
+ * @param comId 鍛戒护ID
+ * @param code 鍛戒护code
+ * @return
+ */
+ public Command createMQTTCommand(String fboxId, String comId, String protocol, Short protocolVer, String code) {
+ Command com = new Command();
+ com.id = comId;
+ com.rtuAddr = fboxId;
+ com.code = code ;
+ com.protocol = protocol ;
+ com.protocolVersion = protocolVer ;
+ com.type = CommandType.mqttCommand;
+ return com ;
+ }
+
+ /**
* 鍒涘缓澶栭儴閫忎紶鍛戒护锛堝彂缁欐帶鍒跺櫒锛�
* @param comId 鍛戒护ID
* @param code 鍛戒护code
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/Server.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/Server.java
index e823bbd..13c0ca2 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/Server.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/Server.java
@@ -470,10 +470,14 @@
}else{
mqVo.svUserPassword = mqVo.svUserPassword.trim() ;
}
- mqVo.poolMaxSize = conf.getSetAttrPlusInt(doc, "config.mqtt", "poolMaxSize", null, 5, 360000, null);
- if(mqVo.poolMaxSize <= 1 || mqVo.poolMaxSize > 1000){
- throw new Exception("config.mqtt.poolMaxSize閰嶇疆鐨勮繛鎺ユ睜杩炴帴鏈�澶ф暟閲忎笉鍚堟硶") ;
- }
+ mqVo.poolMaxSize = conf.getSetAttrPlusInt(doc, "config.mqtt", "poolMaxSize", null, 1, 1000, null);
+
+ mqVo.sendInterval = conf.getSetAttrPlusInt(doc, "config.mqtt", "sendInterval", null, 1, 3600, null) * 1000L ;
+
+ mqVo.reSendTimesByNoResult = conf.getSetAttrPlusInt(doc, "config.mqtt", "reSendTimesByNoResult", null, 0, 100, null);
+
+ mqVo.comCacheTimeout = conf.getSetAttrPlusInt(doc, "config.mqtt", "comCacheTimeout", null, 1, 3600, null) * 1000L ;
+
mqVo.useMemoryPersistence = conf.getSetAttrBoolean(doc, "config.mqtt", "useMemoryPersistence", null, null) ;
String proAndDevIds = conf.getSetAttrTxt(doc, "config.mqtt", "protocolAndDeviceIds", null, false, null) ;
if(proAndDevIds == null || proAndDevIds.trim().equals("")){
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/mqtt/MqttPubMsgNode.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/mqtt/MqttPubMsgNode.java
index 504ee3f..1bfd24e 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/mqtt/MqttPubMsgNode.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/mqtt/MqttPubMsgNode.java
@@ -20,12 +20,16 @@
public MqttPubMsg result ;//涓嬭鍛戒护
public Long cachTime ;//缂撳瓨鏃跺埢
public boolean onceReceivedResult ;//宸茬粡鏀跺埌鍛戒护搴旂瓟
+ public long lastSendTime = 0 ;//涓婃鍙戦�佹椂闂�
+ public int sendTimes = 0 ;//鍙戦�佹鏁�
public MqttPubMsgNode(MqttPubMsg result){
this.result = result ;
this.cachTime = System.currentTimeMillis() ;
this.onceReceivedResult = false ;
+ this.lastSendTime = 0L ;
+ this.sendTimes = 0 ;
}
/**
@@ -36,9 +40,13 @@
public boolean dealSelf(Long now){
if(this.onceReceivedResult){
//宸茬粡鏀跺埌鍛戒护缁撴灉
- //璁板綍鐘舵��
- //RtuStatusDealer.commandSuccess(this.result.rtuAddr, this.result.downCode, this.result.downCodeName);
return true ;
+ }
+ if(this.sendTimes >= (1 + MqttUnit.confVo.reSendTimesByNoResult)){
+ return this.decideRemoveNodeFromCach(now, null) ;
+ }
+ if(this.lastSendTime != 0 && now - this.lastSendTime >= MqttUnit.confVo.sendInterval){
+ return this.decideRemoveNodeFromCach(now, null) ;
}
boolean noConnect2MqSv = false ;
MqttManager mqttManager = MqttManager.getInstance() ;
@@ -47,7 +55,7 @@
noConnect2MqSv = mqttManager.poolIsClose() ;
if(noConnect2MqSv){
//鏈浘杩炴帴MQTT鏈嶅姟鍣�
- return this.decideRemoveNodeFromCach(now) ;
+ return this.decideRemoveNodeFromCach(now, null) ;
}else{
try {
//濡傛灉缃戠粶涓嶅ソ鎴栨柇缃戯紝姝ゅ鐢ㄦ椂杈冮暱
@@ -61,16 +69,18 @@
}
if(noConnect2MqSv){
//鏈浘杩炴帴MQTT鏈嶅姟鍣�
- return this.decideRemoveNodeFromCach(now) ;
+ return this.decideRemoveNodeFromCach(now, null) ;
}else{
if(mqttClient != null && mqttClient.isConnected()){
try {
mqttManager.publishMsg(mqttClient, this.result.topic.longName(), this.result.msg);
+ this.sendTimes ++ ;
+ this.lastSendTime = System.currentTimeMillis() ;
DevStatusDealer.afterSendPubMessage(this.result.deviceId);
- RtuLogDealer.log4Mqtt(this.result.deviceId, "鍙戝竷娑堟伅 涓婚锛�" + this.result.topic + " 娑堟伅锛�" + this.result.msg);
- log.info("鍙戝竷MQTT娑堟伅锛堜富棰�=" + this.result.topic + "锛�" + this.result.msg);
+ RtuLogDealer.log4Mqtt(this.result.deviceId, "鍙戝竷娑堟伅 涓婚锛�" + this.result.topic.longName() + " 娑堟伅锛�" + this.result.msg);
+ log.info("鍙戝竷MQTT娑堟伅锛堜富棰�=" + this.result.topic.longName() + "锛�" + this.result.msg);
}catch (Exception e){
- log.error("MQTT鍙戝竷娑堟伅澶辫触锛堜富棰�=" + this.result.topic + "锛�" , e);
+ log.error("MQTT鍙戝竷娑堟伅澶辫触锛堜富棰�=" + this.result.topic.longName() + "锛�" , e);
}finally {
mqttManager.pushMqttClient(mqttClient);
}
@@ -81,18 +91,18 @@
}
}else{
//鏈浘杩炴帴MQTT鏈嶅姟鍣�
- return this.decideRemoveNodeFromCach(now) ;
+ return this.decideRemoveNodeFromCach(now, false) ;
}
}
}
- private boolean decideRemoveNodeFromCach(Long now){
- if(!this.result.isCacheForOffLine){
+ private boolean decideRemoveNodeFromCach(Long now, Boolean isOffLine){
+ if(isOffLine != null && isOffLine.booleanValue() && !this.result.isCacheForOffLine){
//涓嶅湪绾垮懡浠や笉缂撳瓨
return true ;
}else{
//涓嶅湪绾垮懡浠ょ紦瀛�
- if(now - this.cachTime >= ServerProperties.offLineCacheTimeout){
+ if(now - this.cachTime >= MqttUnit.confVo.comCacheTimeout){
//缂撳瓨瓒呮椂
return true ;
}
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/mqtt/MqttUnitConfigVo.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/mqtt/MqttUnitConfigVo.java
index e2cad34..92f347a 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/mqtt/MqttUnitConfigVo.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/mqtt/MqttUnitConfigVo.java
@@ -13,6 +13,9 @@
public String svUserName ;//
public String svUserPassword ;//
public Integer poolMaxSize ;//
+ public Long sendInterval ;//
+ public Integer reSendTimesByNoResult ;//
+ public Long comCacheTimeout ;//
public Boolean useMemoryPersistence ;
public String[] protocolAndDeviceIds ;//璁惧鍗忚涓嶪D锛團Box锛塱d
public String[] deviceIds ;//璁惧锛團Box锛塱d
@@ -28,7 +31,10 @@
this.svUserName = "dyyjy" ;
this.svUserPassword = "Dyyjy2025,;.abc!@#" ;
this.poolMaxSize = 10 ;
- useMemoryPersistence = true ;
+ this.sendInterval = 60000L ;
+ this.reSendTimesByNoResult = 0 ;
+ this.comCacheTimeout = 60000L ;
+ this.useMemoryPersistence = true ;
this.pubTopicQos = 1 ;
this.noSubThenOff = 10 * 60 * 10000L ;
}
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config.properties b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config.properties
index fce9f73..174c558 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config.properties
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config.properties
@@ -48,12 +48,12 @@
# 鍑夊窞锛� mqtt.enable=false mqtt.protocolAndDeviceIds= mqtt.topicAndQos=
# 閲戝窛锛� mqtt.enable=true mqtt.protocolAndDeviceIds=? mqtt.topicAndQos=weather/1,1;soil/1,1;manure/1,1;state/1,1
# 鍢夊唱鍏筹細 mqtt.enable=true mqtt.protocolAndDeviceIds=? mqtt.topicAndQos=weather/1,1;soil/1,1;manure/1,1;state/1,1
-mqtt.enable=false
-mqtt.ip=127.0.0.1
+mqtt.enable=true
+mqtt.ip=121.199.41.121
mqtt.port=1883
mqtt.user=dyyjy
mqtt.password=Dyyjy2025,;.abc!@#
-mqtt.protocolAndDeviceIds=sd1/2430002404000840,sd1/2430002404000840
+mqtt.protocolAndDeviceIds=sd1/123456789
mqtt.subTopicAndQos=weather/1,1;soil/1,1;manure/1,1
#MQtt璁惧鍦ㄤ竴瀹氭椂闂达紙鍒嗛挓锛夊悗鏈彂甯冩秷鎭紝璁や负璁惧绂荤嚎
mqtt.noSubThenOff=10
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config.xml b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config.xml
index abe6d4b..a9a11ed 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config.xml
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config.xml
@@ -171,6 +171,9 @@
svUserName MQTT鏈嶅姟鍣ㄧ敤鎴峰悕
svUserPassword MQTT鏈嶅姟鍣ㄧ敤鎴峰瘑鐮�
poolMaxSize 杩炴帴姹犳渶澶ц繛鎺ユ暟
+ sendInterval 鍛戒护鍙戦�侀棿闅旓紙鍗曚綅绉掞級锛屽彇鍊艰寖鍥存槸1~3600
+ reSendTimesByNoResult 鏈敹鍒板懡浠ょ粨鏋滄椂锛屾渶澶ч噸澶嶅彂閫佹鏁帮紝鍙栧�艰寖鍥存槸0~100, 0鏃惰〃绀轰笉閲嶅鍙戦��
+ comCacheTimeout: 鍛戒护鏈�澶х紦瀛樻椂闀�(绉�)锛屽彇鍊艰寖鍥存槸1~3600
useMemoryPersistence 浣跨敤鍐呭瓨鎸佷箙鍖栬�岄潪榛樿鐨勬枃浠舵寔涔呭寲(true鏄� false鍚�)
protocolAndDeviceIds 鍦ㄥ瓙绯荤粺锛坥rgTag锛変腑鎺ュ叆鐨勮澶�(FBox)鎵�鐢ㄥ崗璁強璁惧id闆嗗悎,澶氫釜鐢ㄩ�楀彿闅斿紑锛屽崗璁笌ID鐢ㄦ鏂滄潬闅斿紑锛屼緥濡傦細sd1/338220031439,sd1/338220031440
subTopicAndQos: 璁㈤槄涓婚涓嶲os锛屼富棰樺悕涓庡叾Qos鐢ㄩ�楀彿闅斿紑锛屽涓富棰樺強Qos鐢ㄥ垎鍙烽殧寮�锛屼緥濡傦細ym/topic1,1;ym/topic2,1;ym/topic3,1锛屽鏋滄湁澶氫釜OrgTag锛屼富棰樺墠缂�鐢ㄥ叾OrgTag
@@ -186,6 +189,9 @@
svUserName="${mqtt.user}"
svUserPassword="${mqtt.password}"
poolMaxSize="10"
+ sendInterval="60"
+ reSendTimesByNoResult="0"
+ comCacheTimeout="30"
useMemoryPersistence="true"
protocolAndDeviceIds="${mqtt.protocolAndDeviceIds}"
subTopicAndQos="${mqtt.subTopicAndQos}"
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/common/Cd4MqttParameter.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/common/Cd4MqttParameter.java
index 8e47d24..76623df 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/common/Cd4MqttParameter.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/common/Cd4MqttParameter.java
@@ -11,6 +11,5 @@
@Data
@SuperBuilder
public class Cd4MqttParameter {
- //鍛戒护鍔熻兘鐮�
- public String commandCode;
+ public Integer no ;//璁惧缂栧彿
}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/fault/CdCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/fault/CdCtrl.java
index 1e252ec..cc16a8d 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/fault/CdCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/fault/CdCtrl.java
@@ -34,7 +34,7 @@
@Slf4j
@Tag(name = "杩滅▼鍛戒护", description = "娓呴櫎鏁呴殰")
@RestController("mqttSd1FaultCtrl")
-@RequestMapping(path = "mqttSd1/faultCtrl")
+@RequestMapping(path = "mqttSd1/fault")
@RequiredArgsConstructor
@Scope("prototype") //鍥犱负鏈夊璞$被灞炴�э紝鎵�浠ラ噰鐢ㄥ師鍨嬫ā寮忥紝姣忔璇锋眰鏂板缓涓�涓疄渚嬪璞�
public class CdCtrl extends Com4MqttCtrl {
@@ -45,7 +45,6 @@
private static final Short ProtocolVersion = ProtocolConstantSdV1.protocolVer ;
private static final String ComCode = CodeSdV1.cd_Fault ;
-
@Autowired
private CdSv sv ;
/**
@@ -54,7 +53,7 @@
* @param bindingResult 瀵筪to楠岃瘉鐨勭粨鏋�
* @return 杩斿洖鍓嶇
*/
- @PostMapping(path = "send", consumes = MediaType.APPLICATION_JSON_VALUE)
+ @PostMapping(path = "clear", consumes = MediaType.APPLICATION_JSON_VALUE)
@SsoAop()
public BaseResponse<Object> send(@RequestBody @Valid CdDto dto, BindingResult bindingResult) {
BaseResponse<Object> res ;
@@ -65,14 +64,14 @@
res = super.pre2(sv, Protocol, ProtocolVersion, ComCode, dto, bindingResult);
if (res == null) {
//鍙戦�佸懡浠ゅ墠-3锛氫繚瀛樺懡浠ゆ棩蹇�
- CdParam comParam = CdParam.builder().commandCode(ComCode).build();
+ CdParam comParam = CdParam.builder().no(ctrlPo.no).startTrueStopFalse(true).build();
res = super.pre3(sv, dto.manureId, dto.getOperator(), Protocol, ProtocolVersion, ComCode, comParam);
if (res == null) {
//鍙戦�佸懡浠ゅ墠-4锛氬噯澶嘑eature
super.pre4();
try {
- //鍒涘缓澶栭儴鍛戒护锛堝彂缁欐帶鍒跺櫒锛�
- Command com = sv.createOuterCommand(ctrlPo.fboxId, "" + comId, ComCode);
+ //鍒涘缓澶栭儴鍛戒护锛堝彂缁橫QTT->FBox锛�
+ Command com = sv.createMQTTCommand(ctrlPo.fboxId, "" + comId, Protocol, ProtocolVersion, ComCode);
com.rtuResultSendWebUrl = rtuResultSendWebUrl;
com.param = comParam ;
//鍙戦�佸懡浠�
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/fault/CdParam.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/fault/CdParam.java
index 83dc00c..822e2d2 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/fault/CdParam.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/fault/CdParam.java
@@ -16,4 +16,8 @@
@EqualsAndHashCode(callSuper = true)
@SuperBuilder
public class CdParam extends Cd4MqttParameter {
+ //鍚仠鍔ㄤ綔锛宼rue鏄紝false鍚�
+ //鍙互鎵ц鍔熻兘鐮� 00锛�01锛�02锛�03鐨勫姩浣�
+ public boolean startTrueStopFalse;//
+
}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/inject/CdCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/inject/CdCtrl.java
index 74ac28b..1843239 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/inject/CdCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/inject/CdCtrl.java
@@ -12,6 +12,7 @@
import com.dy.common.webUtil.BaseResponseUtils;
import com.dy.pipIrrRemote.common.dto.Dto4MqttBase;
import com.dy.pipIrrRemote.monitor.common.Com4MqttCtrl;
+import com.dy.pipIrrRemote.monitor.mqttSd1.stir.CdDto;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
@@ -32,9 +33,9 @@
*/
@Slf4j
-@Tag(name = "杩滅▼鍛戒护", description = "娓呴櫎鏁呴殰")
+@Tag(name = "杩滅▼鍛戒护", description = "娉ㄨ偉鍚仠")
@RestController("mqttSd1InjectCtrl")
-@RequestMapping(path = "mqttSd1/injectCtrl")
+@RequestMapping(path = "mqttSd1/inject")
@RequiredArgsConstructor
@Scope("prototype") //鍥犱负鏈夊璞$被灞炴�э紝鎵�浠ラ噰鐢ㄥ師鍨嬫ā寮忥紝姣忔璇锋眰鏂板缓涓�涓疄渚嬪璞�
public class CdCtrl extends Com4MqttCtrl {
@@ -48,15 +49,38 @@
@Autowired
private CdSv sv ;
+
/**
* 鍚戣澶囷紙Mqtt涓棿浠�->FBox锛夊彂閫佸懡浠�
* @param dto 鍓嶇鍙戞潵鐨勫�煎璞�
* @param bindingResult 瀵筪to楠岃瘉鐨勭粨鏋�
* @return 杩斿洖鍓嶇
*/
- @PostMapping(path = "send", consumes = MediaType.APPLICATION_JSON_VALUE)
+ @PostMapping(path = "start", consumes = MediaType.APPLICATION_JSON_VALUE)
@SsoAop()
- public BaseResponse<Object> send(@RequestBody @Valid CdDto dto, BindingResult bindingResult) {
+ public BaseResponse<Object> start(@RequestBody @Valid com.dy.pipIrrRemote.monitor.mqttSd1.stir.CdDto dto, BindingResult bindingResult) {
+ return this.send(dto, bindingResult, true) ;
+ }
+
+ /**
+ * 鍚戣澶囷紙Mqtt涓棿浠�->FBox锛夊彂閫佸懡浠�
+ * @param dto 鍓嶇鍙戞潵鐨勫�煎璞�
+ * @param bindingResult 瀵筪to楠岃瘉鐨勭粨鏋�
+ * @return 杩斿洖鍓嶇
+ */
+ @PostMapping(path = "stop", consumes = MediaType.APPLICATION_JSON_VALUE)
+ @SsoAop()
+ public BaseResponse<Object> stop(@RequestBody @Valid com.dy.pipIrrRemote.monitor.mqttSd1.stir.CdDto dto, BindingResult bindingResult) {
+ return this.send(dto, bindingResult, false) ;
+ }
+
+ /**
+ * 鍚戣澶囷紙Mqtt涓棿浠�->FBox锛夊彂閫佸懡浠�
+ * @param dto 鍓嶇鍙戞潵鐨勫�煎璞�
+ * @param bindingResult 瀵筪to楠岃瘉鐨勭粨鏋�
+ * @return 杩斿洖鍓嶇
+ */
+ private BaseResponse<Object> send(CdDto dto, BindingResult bindingResult, boolean startTrueStopFalse) {
BaseResponse<Object> res ;
//鍙戦�佸懡浠ゅ墠-1锛氶獙璇�
res = super.pre1(sv, ComCode, dto, bindingResult);
@@ -65,14 +89,14 @@
res = super.pre2(sv, Protocol, ProtocolVersion, ComCode, dto, bindingResult);
if (res == null) {
//鍙戦�佸懡浠ゅ墠-3锛氫繚瀛樺懡浠ゆ棩蹇�
- CdParam comParam = CdParam.builder().commandCode(ComCode).build();
+ CdParam comParam = CdParam.builder().no(ctrlPo.no).startTrueStopFalse(true).build();
res = super.pre3(sv, dto.manureId, dto.getOperator(), Protocol, ProtocolVersion, ComCode, comParam);
if (res == null) {
//鍙戦�佸懡浠ゅ墠-4锛氬噯澶嘑eature
super.pre4();
try {
- //鍒涘缓澶栭儴鍛戒护锛堝彂缁欐帶鍒跺櫒锛�
- Command com = sv.createOuterCommand(ctrlPo.fboxId, "" + comId, ComCode);
+ //鍒涘缓澶栭儴鍛戒护锛堝彂缁橫QTT->FBox锛�
+ Command com = sv.createMQTTCommand(ctrlPo.fboxId, "" + comId, Protocol, ProtocolVersion, ComCode);
com.rtuResultSendWebUrl = rtuResultSendWebUrl;
com.param = comParam ;
//鍙戦�佸懡浠�
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/inject/CdParam.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/inject/CdParam.java
index 4293627..e0dff57 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/inject/CdParam.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/inject/CdParam.java
@@ -16,4 +16,8 @@
@EqualsAndHashCode(callSuper = true)
@SuperBuilder
public class CdParam extends Cd4MqttParameter {
+ //鍚仠鍔ㄤ綔锛宼rue鏄紝false鍚�
+ //鍙互鎵ц鍔熻兘鐮� 00锛�01锛�02锛�03鐨勫姩浣�
+ public boolean startTrueStopFalse;//
+
}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/irr/CdCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/irr/CdCtrl.java
index f808c95..9dc4801 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/irr/CdCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/irr/CdCtrl.java
@@ -12,6 +12,7 @@
import com.dy.common.webUtil.BaseResponseUtils;
import com.dy.pipIrrRemote.common.dto.Dto4MqttBase;
import com.dy.pipIrrRemote.monitor.common.Com4MqttCtrl;
+import com.dy.pipIrrRemote.monitor.mqttSd1.stir.CdDto;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
@@ -29,12 +30,13 @@
* @Author: liurunyu
* @Date: 2025/6/16 17:35
* @Description
+ * 澶х灏嗘按鑲ユ満搴旂敤浜庣鐏岀郴缁燂紝鎵�浠ユ按鑲ユ満涓婃湭瀹夎鐏屾簤闃�闂紝鐩稿簲姝ゅ姛鑳戒篃涓嶅簲鐢ㄤ簡
*/
@Slf4j
-@Tag(name = "杩滅▼鍛戒护", description = "娓呴櫎鏁呴殰")
+@Tag(name = "杩滅▼鍛戒护", description = "鐏屾簤鍚仠")
@RestController("mqttSd1IrrCtrl")
-@RequestMapping(path = "mqttSd1/irrCtrl")
+@RequestMapping(path = "mqttSd1/irr")
@RequiredArgsConstructor
@Scope("prototype") //鍥犱负鏈夊璞$被灞炴�э紝鎵�浠ラ噰鐢ㄥ師鍨嬫ā寮忥紝姣忔璇锋眰鏂板缓涓�涓疄渚嬪璞�
public class CdCtrl extends Com4MqttCtrl {
@@ -48,15 +50,38 @@
@Autowired
private CdSv sv ;
+
/**
* 鍚戣澶囷紙Mqtt涓棿浠�->FBox锛夊彂閫佸懡浠�
* @param dto 鍓嶇鍙戞潵鐨勫�煎璞�
* @param bindingResult 瀵筪to楠岃瘉鐨勭粨鏋�
* @return 杩斿洖鍓嶇
*/
- @PostMapping(path = "send", consumes = MediaType.APPLICATION_JSON_VALUE)
+ @PostMapping(path = "start", consumes = MediaType.APPLICATION_JSON_VALUE)
@SsoAop()
- public BaseResponse<Object> send(@RequestBody @Valid CdDto dto, BindingResult bindingResult) {
+ public BaseResponse<Object> start(@RequestBody @Valid com.dy.pipIrrRemote.monitor.mqttSd1.stir.CdDto dto, BindingResult bindingResult) {
+ return this.send(dto, bindingResult, true) ;
+ }
+
+ /**
+ * 鍚戣澶囷紙Mqtt涓棿浠�->FBox锛夊彂閫佸懡浠�
+ * @param dto 鍓嶇鍙戞潵鐨勫�煎璞�
+ * @param bindingResult 瀵筪to楠岃瘉鐨勭粨鏋�
+ * @return 杩斿洖鍓嶇
+ */
+ @PostMapping(path = "stop", consumes = MediaType.APPLICATION_JSON_VALUE)
+ @SsoAop()
+ public BaseResponse<Object> stop(@RequestBody @Valid com.dy.pipIrrRemote.monitor.mqttSd1.stir.CdDto dto, BindingResult bindingResult) {
+ return this.send(dto, bindingResult, false) ;
+ }
+
+ /**
+ * 鍚戣澶囷紙Mqtt涓棿浠�->FBox锛夊彂閫佸懡浠�
+ * @param dto 鍓嶇鍙戞潵鐨勫�煎璞�
+ * @param bindingResult 瀵筪to楠岃瘉鐨勭粨鏋�
+ * @return 杩斿洖鍓嶇
+ */
+ private BaseResponse<Object> send(CdDto dto, BindingResult bindingResult, boolean startTrueStopFalse) {
BaseResponse<Object> res ;
//鍙戦�佸懡浠ゅ墠-1锛氶獙璇�
res = super.pre1(sv, ComCode, dto, bindingResult);
@@ -65,14 +90,14 @@
res = super.pre2(sv, Protocol, ProtocolVersion, ComCode, dto, bindingResult);
if (res == null) {
//鍙戦�佸懡浠ゅ墠-3锛氫繚瀛樺懡浠ゆ棩蹇�
- CdParam comParam = CdParam.builder().commandCode(ComCode).build();
+ CdParam comParam = CdParam.builder().no(ctrlPo.no).startTrueStopFalse(true).build();
res = super.pre3(sv, dto.manureId, dto.getOperator(), Protocol, ProtocolVersion, ComCode, comParam);
if (res == null) {
//鍙戦�佸懡浠ゅ墠-4锛氬噯澶嘑eature
super.pre4();
try {
- //鍒涘缓澶栭儴鍛戒护锛堝彂缁欐帶鍒跺櫒锛�
- Command com = sv.createOuterCommand(ctrlPo.fboxId, "" + comId, ComCode);
+ //鍒涘缓澶栭儴鍛戒护锛堝彂缁橫QTT->FBox锛�
+ Command com = sv.createMQTTCommand(ctrlPo.fboxId, "" + comId, Protocol, ProtocolVersion, ComCode);
com.rtuResultSendWebUrl = rtuResultSendWebUrl;
com.param = comParam ;
//鍙戦�佸懡浠�
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/irr/CdParam.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/irr/CdParam.java
index ffec185..07316a6 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/irr/CdParam.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/irr/CdParam.java
@@ -16,4 +16,8 @@
@EqualsAndHashCode(callSuper = true)
@SuperBuilder
public class CdParam extends Cd4MqttParameter {
+ //鍚仠鍔ㄤ綔锛宼rue鏄紝false鍚�
+ //鍙互鎵ц鍔熻兘鐮� 00锛�01锛�02锛�03鐨勫姩浣�
+ public boolean startTrueStopFalse;//
+
}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/paramSet/CdCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/paramSet/CdCtrl.java
index b74db25..dfb2772 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/paramSet/CdCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/paramSet/CdCtrl.java
@@ -12,6 +12,7 @@
import com.dy.common.webUtil.BaseResponseUtils;
import com.dy.pipIrrRemote.common.dto.Dto4MqttBase;
import com.dy.pipIrrRemote.monitor.common.Com4MqttCtrl;
+import com.dy.pipIrrRemote.monitor.mqttSd1.stir.CdDto;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
@@ -32,9 +33,9 @@
*/
@Slf4j
-@Tag(name = "杩滅▼鍛戒护", description = "娓呴櫎鏁呴殰")
+@Tag(name = "杩滅▼鍛戒护", description = "璁剧疆鍙傛暟")
@RestController("mqttSd1ParamCtrl")
-@RequestMapping(path = "mqttSd1/paramCtrl")
+@RequestMapping(path = "mqttSd1/param")
@RequiredArgsConstructor
@Scope("prototype") //鍥犱负鏈夊璞$被灞炴�э紝鎵�浠ラ噰鐢ㄥ師鍨嬫ā寮忥紝姣忔璇锋眰鏂板缓涓�涓疄渚嬪璞�
public class CdCtrl extends Com4MqttCtrl {
@@ -48,15 +49,16 @@
@Autowired
private CdSv sv ;
+
/**
* 鍚戣澶囷紙Mqtt涓棿浠�->FBox锛夊彂閫佸懡浠�
* @param dto 鍓嶇鍙戞潵鐨勫�煎璞�
* @param bindingResult 瀵筪to楠岃瘉鐨勭粨鏋�
* @return 杩斿洖鍓嶇
*/
- @PostMapping(path = "send", consumes = MediaType.APPLICATION_JSON_VALUE)
+ @PostMapping(path = "set", consumes = MediaType.APPLICATION_JSON_VALUE)
@SsoAop()
- public BaseResponse<Object> send(@RequestBody @Valid CdDto dto, BindingResult bindingResult) {
+ public BaseResponse<Object> set(@RequestBody @Valid CdDto dto, BindingResult bindingResult) {
BaseResponse<Object> res ;
//鍙戦�佸懡浠ゅ墠-1锛氶獙璇�
res = super.pre1(sv, ComCode, dto, bindingResult);
@@ -65,14 +67,14 @@
res = super.pre2(sv, Protocol, ProtocolVersion, ComCode, dto, bindingResult);
if (res == null) {
//鍙戦�佸懡浠ゅ墠-3锛氫繚瀛樺懡浠ゆ棩蹇�
- CdParam comParam = CdParam.builder().commandCode(ComCode).build();
+ CdParam comParam = CdParam.builder().no(ctrlPo.no).injectDuration(dto.injectDuration).stirDuration(dto.stirDuration).build();
res = super.pre3(sv, dto.manureId, dto.getOperator(), Protocol, ProtocolVersion, ComCode, comParam);
if (res == null) {
//鍙戦�佸懡浠ゅ墠-4锛氬噯澶嘑eature
super.pre4();
try {
- //鍒涘缓澶栭儴鍛戒护锛堝彂缁欐帶鍒跺櫒锛�
- Command com = sv.createOuterCommand(ctrlPo.fboxId, "" + comId, ComCode);
+ //鍒涘缓澶栭儴鍛戒护锛堝彂缁橫QTT->FBox锛�
+ Command com = sv.createMQTTCommand(ctrlPo.fboxId, "" + comId, Protocol, ProtocolVersion, ComCode);
com.rtuResultSendWebUrl = rtuResultSendWebUrl;
com.param = comParam ;
//鍙戦�佸懡浠�
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/paramSet/CdParam.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/paramSet/CdParam.java
index c905f87..d4721d8 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/paramSet/CdParam.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/paramSet/CdParam.java
@@ -16,4 +16,10 @@
@EqualsAndHashCode(callSuper = true)
@SuperBuilder
public class CdParam extends Cd4MqttParameter {
+
+ // 鎼呮媽璁惧畾鏃堕棿
+ public Integer stirDuration ;
+
+ // 娉ㄨ偉璁惧畾鏃堕棿
+ public Integer injectDuration ;
}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/stir/CdCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/stir/CdCtrl.java
index b39d06c..8839c70 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/stir/CdCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/stir/CdCtrl.java
@@ -32,7 +32,7 @@
*/
@Slf4j
-@Tag(name = "杩滅▼鍛戒护", description = "娓呴櫎鏁呴殰")
+@Tag(name = "杩滅▼鍛戒护", description = "鎼呮媽鍚仠")
@RestController("mqttSd1StirCtrl")
@RequestMapping(path = "mqttSd1/stirCtrl")
@RequiredArgsConstructor
@@ -54,9 +54,29 @@
* @param bindingResult 瀵筪to楠岃瘉鐨勭粨鏋�
* @return 杩斿洖鍓嶇
*/
- @PostMapping(path = "send", consumes = MediaType.APPLICATION_JSON_VALUE)
+ @PostMapping(path = "start", consumes = MediaType.APPLICATION_JSON_VALUE)
@SsoAop()
- public BaseResponse<Object> send(@RequestBody @Valid CdDto dto, BindingResult bindingResult) {
+ public BaseResponse<Object> start(@RequestBody @Valid CdDto dto, BindingResult bindingResult) {
+ return this.send(dto, bindingResult, true) ;
+ }
+ /**
+ * 鍚戣澶囷紙Mqtt涓棿浠�->FBox锛夊彂閫佸懡浠�
+ * @param dto 鍓嶇鍙戞潵鐨勫�煎璞�
+ * @param bindingResult 瀵筪to楠岃瘉鐨勭粨鏋�
+ * @return 杩斿洖鍓嶇
+ */
+ @PostMapping(path = "stop", consumes = MediaType.APPLICATION_JSON_VALUE)
+ @SsoAop()
+ public BaseResponse<Object> stop(@RequestBody @Valid CdDto dto, BindingResult bindingResult) {
+ return this.send(dto, bindingResult, false) ;
+ }
+ /**
+ * 鍚戣澶囷紙Mqtt涓棿浠�->FBox锛夊彂閫佸懡浠�
+ * @param dto 鍓嶇鍙戞潵鐨勫�煎璞�
+ * @param bindingResult 瀵筪to楠岃瘉鐨勭粨鏋�
+ * @return 杩斿洖鍓嶇
+ */
+ private BaseResponse<Object> send(CdDto dto, BindingResult bindingResult, boolean startTrueStopFalse) {
BaseResponse<Object> res ;
//鍙戦�佸懡浠ゅ墠-1锛氶獙璇�
res = super.pre1(sv, ComCode, dto, bindingResult);
@@ -65,14 +85,14 @@
res = super.pre2(sv, Protocol, ProtocolVersion, ComCode, dto, bindingResult);
if (res == null) {
//鍙戦�佸懡浠ゅ墠-3锛氫繚瀛樺懡浠ゆ棩蹇�
- CdParam comParam = CdParam.builder().commandCode(ComCode).build();
+ CdParam comParam = CdParam.builder().no(ctrlPo.no).startTrueStopFalse(startTrueStopFalse).build();
res = super.pre3(sv, dto.manureId, dto.getOperator(), Protocol, ProtocolVersion, ComCode, comParam);
if (res == null) {
//鍙戦�佸懡浠ゅ墠-4锛氬噯澶嘑eature
super.pre4();
try {
- //鍒涘缓澶栭儴鍛戒护锛堝彂缁欐帶鍒跺櫒锛�
- Command com = sv.createOuterCommand(ctrlPo.fboxId, "" + comId, ComCode);
+ //鍒涘缓澶栭儴鍛戒护锛堝彂缁橫QTT->FBox锛�
+ Command com = sv.createMQTTCommand(ctrlPo.fboxId, "" + comId, Protocol, ProtocolVersion, ComCode);
com.rtuResultSendWebUrl = rtuResultSendWebUrl;
com.param = comParam ;
//鍙戦�佸懡浠�
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/stir/CdDto.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/stir/CdDto.java
index 54f2946..4e8aeb1 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/stir/CdDto.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/stir/CdDto.java
@@ -1,6 +1,7 @@
package com.dy.pipIrrRemote.monitor.mqttSd1.stir;
import com.dy.pipIrrRemote.common.dto.Dto4MqttBase;
+import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
@@ -13,4 +14,12 @@
@EqualsAndHashCode(callSuper=true)
public class CdDto extends Dto4MqttBase {
public static final long serialVersionUID = 202506201655001L;
+
+ // 鎼呮媽璁惧畾鏃堕棿 鍗曚綅绉�
+ @NotNull(message = "鎼呮媽璁惧畾鏃堕棿涓嶈兘涓虹┖")
+ public Integer stirDuration ;
+
+ // 娉ㄨ偉璁惧畾鏃堕棿 鍗曚綅绉�
+ @NotNull(message = "娉ㄨ偉璁惧畾鏃堕棿涓嶈兘涓虹┖")
+ public Integer injectDuration ;
}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/stir/CdParam.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/stir/CdParam.java
index 9d026bd..26c353d 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/stir/CdParam.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/mqttSd1/stir/CdParam.java
@@ -16,4 +16,8 @@
@EqualsAndHashCode(callSuper = true)
@SuperBuilder
public class CdParam extends Cd4MqttParameter {
+ //鍚仠鍔ㄤ綔锛宼rue鏄紝false鍚�
+ //鍙互鎵ц鍔熻兘鐮� 00锛�01锛�02锛�03鐨勫姩浣�
+ public boolean startTrueStopFalse;//
+
}
--
Gitblit v1.8.0