From d5dab07dc674de7edbbc1bd6ade0486f54fbdb26 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期二, 06 五月 2025 19:19:35 +0800
Subject: [PATCH] 1、实现万用token(0000-0000-1234-9876-5); 2、web端单独实现命令结果等待器,并修改相关部分; 3、web端实现透传命令; 4、修改一些不当注释; 5、优化一些代码。
---
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComSupport.java | 10
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/ReturnCommand.java | 24 +-
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/DataV1.java | 2
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/ComTransDto.java | 24 ++
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/rtuMw/Web2RtuMw.java | 62 +++---
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/Data.java | 2
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/ComTransParam.java | 16 +
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandResultCtrl.java | 11
pipIrr-platform/pipIrr-web/pipIrr-web-sso/src/main/java/com/dy/sso/busi/SsoCtrl.java | 12 +
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/web/com/CommandCtrl.java | 2
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/DataV202404.java | 2
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/DataV2.java | 2
pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml | 1
pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/CommandResultCtrl.java | 11
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/CommandSv.java | 146 ++++++++++++++++
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/ComTransCtrl.java | 135 ++++++++++++++
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/ComTransSv.java | 45 +++-
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComResultWait.java | 28 +++
18 files changed, 456 insertions(+), 79 deletions(-)
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/Data.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/Data.java
index fae4d48..1752c65 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/Data.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/Data.java
@@ -18,7 +18,7 @@
public String protocol ;//鏁版嵁鎵�瀵瑰簲鐨勫崗璁悕绉�
public Short protocolVer;//鏁版嵁鎵�瀵瑰簲鐨勫崗璁増鏈彿锛�1~255锛�
public String code ;//鏁版嵁鎵�瀵瑰簲鐨勫姛鑳界爜:
- public Object subData ;//瀵瑰簲鍚勪釜鍔熻兘鐮佺殑鍏蜂綋鏁版嵁
+ public Object subData ;//瀵瑰簲鍚勪釜鍗忚鏁版嵁
public String hex ;//涓婃姤鏁版嵁鐨勫崄鍏繘鍒�
public String toString() {
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/DataV1.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/DataV1.java
index d8b5251..b271fc6 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/DataV1.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/DataV1.java
@@ -9,7 +9,7 @@
public String rtuAddr ;//RtuAddr
- public Object subData ;
+ public Object subData ;;//鍔熻兘鐮佹暟鎹�
public String dt ;//閫氫俊涓棿浠朵骇鐢熺殑鏀舵姤鏃堕棿(yyyy-MM-dd hh:mm:ss)
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/DataV2.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/DataV2.java
index a3a6b7b..41c2249 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/DataV2.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V2/DataV2.java
@@ -9,7 +9,7 @@
public String rtuAddr ;//RtuAddr
- public Object subData ;
+ public Object subData ;//鍔熻兘鐮佹暟鎹�
public String dt ;//閫氫俊涓棿浠朵骇鐢熺殑鏀舵姤鏃堕棿(yyyy-MM-dd hh:mm:ss)
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/DataV202404.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/DataV202404.java
index 6d1cd7e..2a84750 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/DataV202404.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/DataV202404.java
@@ -9,7 +9,7 @@
public String rtuAddr ;//RtuAddr
- public Object subData ;
+ public Object subData ;//鍔熻兘鐮佹暟鎹�
public String dt ;//閫氫俊涓棿浠朵骇鐢熺殑鏀舵姤鏃堕棿(yyyy-MM-dd hh:mm:ss)
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComResultWait.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComResultWait.java
new file mode 100644
index 0000000..8cd8151
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComResultWait.java
@@ -0,0 +1,28 @@
+package com.dy.pipIrrGlobal.command;
+
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ConcurrentHashMap;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/5/6 16:33
+ * @Description
+ */
+public class ComResultWait {
+
+ //ConcurrentHashMap鏄嚎绋嬪畨鍏ㄧ殑
+ private static final Map<Long, CompletableFuture> features = new ConcurrentHashMap<>();
+
+ public static void put(Long key, CompletableFuture value) {
+ features.put(key, value);
+ }
+ public static CompletableFuture get(Long key) {
+ return features.get(key);
+ }
+
+ public static void remove(Long key){
+ features.remove(key) ;
+ }
+
+}
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComSupport.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComSupport.java
index 646d9be..a066651 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComSupport.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/ComSupport.java
@@ -66,10 +66,6 @@
protected String commandTypeOuter = CommandType.outerCommand;
- // 瀛樺偍瀹炰緥鍖栫殑 CompletableFuture<Data> 瀵硅薄
- protected static Map<Long, Object> features = new HashMap<>();
- //protected static Boolean setuped = false;
-
@Autowired
private RestTemplate restTemplate;
@@ -212,19 +208,19 @@
*/
protected BaseResponse<Data> dealWithCallBack(Long comId, Command com) {
CompletableFuture<JSONObject> feature = new CompletableFuture<>();
- features.put(comId, feature);
+ ComResultWait.put(comId, feature);
try {
// 鍙戦�佸懡浠�
JSONObject response_SendCom = (JSONObject) JSON.toJSON(sendCom2Mw(com));
if (response_SendCom == null || !response_SendCom.getString("code").equals("0001")) {
// 璇锋眰澶辫触锛孯TU鏈笂绾匡紝娓呴櫎feature
- features.remove(comId);
+ ComResultWait.remove(comId);
JSONObject job_param = response_SendCom.getJSONObject("content").getJSONObject("param");
return BaseResponseUtils.buildErrorMsg(job_param.getString("message"));
}
JSONObject resultData = feature.get(180, TimeUnit.SECONDS);
- features.remove(comId);
+ ComResultWait.remove(comId);
Long commandId = resultData.getLong("commandId");
if (commandId.equals(comId)) {
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/CommandSv.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/CommandSv.java
new file mode 100644
index 0000000..9bf6199
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/command/CommandSv.java
@@ -0,0 +1,146 @@
+package com.dy.pipIrrGlobal.command;
+
+import com.alibaba.fastjson2.JSON;
+import com.alibaba.fastjson2.JSONObject;
+import com.dy.common.mw.protocol.Command;
+import com.dy.common.mw.protocol.CommandBackParam;
+import com.dy.common.mw.protocol.p206V1.CodeV1;
+import com.dy.common.mw.protocol.p206V1.ProtocolConstantV206V1;
+import com.dy.common.mw.protocol.p206V2.CodeV2;
+import com.dy.common.mw.protocol.p206V2.ProtocolConstantV206V2;
+import com.dy.common.mw.protocol.p206V202404.CodeV202404;
+import com.dy.common.mw.protocol.p206V202404.ProtocolConstantV206V202404;
+import com.dy.common.webUtil.BaseResponse;
+import com.dy.pipIrrGlobal.daoPr.PrControllerMapper;
+import com.dy.pipIrrGlobal.daoRm.RmCommandHistoryMapper;
+import com.dy.pipIrrGlobal.pojoPr.PrController;
+import com.dy.pipIrrGlobal.pojoRm.RmCommandHistory;
+import com.dy.pipIrrGlobal.rtuMw.Web2RtuMw;
+
+import java.util.Date;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/5/6 11:41
+ * @Description
+ */
+public class CommandSv extends Web2RtuMw {
+
+
+ /**
+ * 浠庢暟鎹簱涓煡璇㈡帶鍒跺櫒瀵硅薄
+ * @param prControllerDao
+ * @param intakeId
+ * @return
+ */
+ public PrController getRtu(PrControllerMapper prControllerDao, Long intakeId){
+ return prControllerDao.getRtu(intakeId, null);
+ }
+
+ /**
+ * 妫�鏌ュ崗璁槸鍚︽敮鎸�
+ * @param ctrlPo
+ * @return
+ */
+ public String checkProtocol(PrController ctrlPo){
+ if(!ctrlPo.getProtocol().equals(ProtocolConstantV206V1.protocolName)
+ && !ctrlPo.getProtocol().equals(ProtocolConstantV206V2.protocolName)
+ && !ctrlPo.getProtocol().equals(ProtocolConstantV206V202404.protocolName)) {
+ return "瀵瑰簲鎺у埗鍣ㄥ崗璁�" + ctrlPo.getProtocol() + "鏈疄鐜板懡浠ゅ彂閫侀�昏緫" ;
+ }
+ return null ;
+ }
+
+ /**
+ * 鏍规嵁鍗忚鑾峰彇鍛戒护鍚嶇О
+ * @param nowComCode
+ * @param ctrlPo
+ * @return
+ */
+ public String getCommandName(String nowComCode, PrController ctrlPo){
+ if(ctrlPo.getProtocol().equals(ProtocolConstantV206V1.protocolName)) {
+ return CodeV1.getCodeName(nowComCode) ;
+ }else if(ctrlPo.getProtocol().equals(ProtocolConstantV206V2.protocolName)) {
+ return CodeV2.getCodeName(nowComCode) ;
+ }else if(ctrlPo.getProtocol().equals(ProtocolConstantV206V202404.protocolName)) {
+ return CodeV202404.getCodeName(nowComCode) ;
+ }
+ return null ;
+ }
+
+ /**
+ * 淇濆瓨鍛戒护鍘嗗彶璁板綍
+ * @param rmCommandHistoryDao
+ * @param comId
+ * @param protocol
+ * @param commandCode
+ * @param commandName
+ * @param intakeId
+ * @param rtuAddr
+ * @param param
+ * @param operator
+ * @return
+ */
+ public RmCommandHistory saveComHistoryPo(RmCommandHistoryMapper rmCommandHistoryDao,
+ Long comId,
+ String protocol,
+ String commandCode,
+ String commandName,
+ Long intakeId,
+ String rtuAddr,
+ Object param,
+ Long operator) {
+ RmCommandHistory po = new RmCommandHistory();
+ po.setComId(comId);
+ po.setCommandCode(commandCode);
+ po.setCommandName(commandName);
+ po.setIntakeId(intakeId);
+ po.setRtuAddr(rtuAddr);
+ po.setProtocol(protocol);
+ po.setParam((JSONObject) JSON.toJSON(param));
+ po.setSendTime(new Date());
+ po.setOperator(operator);
+ rmCommandHistoryDao.insertSelective(po) ;
+ return po;
+ }
+
+ /**
+ * 澶勭悊閫氫俊涓棿浠惰繑鍥炵殑鍛戒护澶勭悊缁撴灉
+ * @param res
+ * @return
+ */
+ public String dealMwDealResponse(BaseResponse res){
+ if(res != null){
+ Command reCom = JSON.parseObject(res.getContent() == null ? null : JSON.toJSONString(res.getContent()), Command.class) ;
+ CommandBackParam bakParam = JSON.parseObject((reCom== null || reCom.param == null) ? null : JSON.toJSONString(reCom.param), CommandBackParam.class) ;
+ if(res.isSuccess()){
+ if(bakParam != null){
+ if(bakParam.getSuccess().booleanValue()){
+ //閫氫俊涓棿浠舵垚鍔熷鐞嗕簡鍛戒护
+ //绛夊緟鎺у埗鍣ㄦ帴鏀跺苟鎵ц鍛戒护鍚庣殑搴旂瓟锛岀劧鍚庨�氫俊涓棿浠堕�氱煡鏈ā鍧�
+ return null ;
+ }else{
+ return "閫氫俊涓棿浠跺鐞嗗懡浠ゅけ璐ワ紝澶辫触淇℃伅锛�" + bakParam.getMessage();
+ }
+ }else{
+ return "閫氫俊涓棿浠惰繑鍥炲懡浠ょ粨鏋滀腑涓嶅寘鍚獵ommandBackParam绫诲瀷鍙傛暟";
+ }
+ }else{
+ if(bakParam != null){
+ if(bakParam.getSuccess().booleanValue()){
+ //閫氫俊涓棿浠舵垚鍔熷鐞嗕簡鍛戒护
+ //绛夊緟鎺у埗鍣ㄦ帴鏀跺苟鎵ц鍛戒护鍚庣殑搴旂瓟锛岀劧鍚庨�氫俊涓棿浠堕�氱煡鏈ā鍧�
+ return "閫氫俊涓棿浠跺鐞嗗懡浠ゅけ璐ワ紝澶辫触淇℃伅锛�" + (res.getMsg() == null? "" : ("锛�" + res.getMsg())) ;
+ }else{
+ return "閫氫俊涓棿浠跺鐞嗗懡浠ゅけ璐ワ紝澶辫触淇℃伅锛�" + bakParam.getMessage();
+ }
+ }else{
+ return "閫氫俊涓棿浠跺鐞嗗懡浠ゅけ璐ワ紝澶辫触淇℃伅锛�" + (res.getMsg() == null? "" : ("锛�" + res.getMsg())) ;
+ }
+ }
+ }else{
+ return "閫氫俊涓棿浠惰繑鍥炲懡浠ょ粨鏋滀负null";
+ }
+ }
+
+}
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 41de437..42d074e 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
@@ -31,20 +31,20 @@
private static final String pro_mw = "mw";
private static final String pro_url = "url";
- protected static final String ContextComSend = "/rtuMw/com/send";
+ public static final String ContextComSend = "/rtuMw/com/send";
- protected static final String ContextRtuLogFile = "/rtuMw/com/rtuLogFile";
- protected static final String ContextRtuLogText = "/rtuMw/com/rtuLogText";
+ public static final String ContextRtuLogFile = "/rtuMw/com/rtuLogFile";
+ public static final String ContextRtuLogText = "/rtuMw/com/rtuLogText";
- protected static final String ContextRegisterMsReceiverWebUrl = "/rtuMw/com/registerMsReceiverWebUrl";
- protected static final String ContextUgTaskSend = "/rtuMw/com/upgradeRtu";
- protected static final String ContextUgForceOver = "/rtuMw/com/ugForceOver";
+ public static final String ContextRegisterMsReceiverWebUrl = "/rtuMw/com/registerMsReceiverWebUrl";
+ public static final String ContextUgTaskSend = "/rtuMw/com/upgradeRtu";
+ public static final String ContextUgForceOver = "/rtuMw/com/ugForceOver";
/**
* 寰楀埌鍚戦�氫俊涓棿浠跺彂閫佹暟鎹殑URL
* @param env
* @return
*/
- protected String get2MwUrl(Environment env) {
+ public String get2MwUrl(Environment env) {
return env.getProperty(pro_mw + "." + DataSourceContext.get() + "." + pro_url);
}
/**
@@ -53,76 +53,76 @@
* @param orgTag
* @return
*/
- protected String get2MwUrl(Environment env, String orgTag) {
+ public String get2MwUrl(Environment env, String orgTag) {
return env.getProperty(pro_mw + "." + orgTag + "." + pro_url);
}
/**
- * 寰楀埌鍚戦�氫俊涓棿浠跺彂閫佸己鍒跺仠姝㈠崌绾х殑鍛戒护URL
+ * 寰楀埌鍚戦�氫俊涓棿浠跺彂閫佹暟鎹殑URL
* @param env
* @param context
* @return
*/
- protected String get2MwRequestUrl(Environment env, String context) {
+ public String get2MwRequestUrl(Environment env, String context) {
return get2MwUrl(env) + context;
}
/**
- * 寰楀埌鍚戦�氫俊涓棿浠跺彂閫佸己鍒跺仠姝㈠崌绾х殑鍛戒护URL
+ * 寰楀埌鍚戦�氫俊涓棿浠跺彂閫佹暟鎹殑URL
* @param env
* @param orgTag
* @param context
* @return
*/
- protected String get2MwRequestUrl(Environment env, String orgTag, String context) {
+ public String get2MwRequestUrl(Environment env, String orgTag, String context) {
return get2MwUrl(env, orgTag) + context;
}
/**
- * 鍚戦�氫俊涓棿浠跺彂閫乺tu杩滅▼鍗囩骇浠诲姟
+ * 鍚戦�氫俊涓棿浠跺彂閫丳ost璇锋眰
* @param restTemplate SpringBoot鐨凴estTemplate
* @param toMwUrl 鍒伴�氫俊涓棿浠剁殑web璇锋眰Url
- * @param body 璇锋眰鏁版嵁
+ * @param body 鏁版嵁
* @return
*/
- protected BaseResponse sendPostRequest2Mw(RestTemplate restTemplate, String toMwUrl, Object body) {
+ public BaseResponse sendPostRequest2Mw(RestTemplate restTemplate, String toMwUrl, Object body) {
String url = UriComponentsBuilder.fromUriString(toMwUrl)
.build()
.toUriString();
HttpHeaders headers = new HttpHeaders();
HttpEntity<?> httpEntity = new HttpEntity<>(body, headers);
- ResponseEntity<BaseResponse> response = null;
+ ResponseEntity<BaseResponse> resEntity = null;
try {
// 閫氳繃Post鏂瑰紡璋冪敤鎺ュ彛
- response = restTemplate.exchange(url, HttpMethod.POST, httpEntity, BaseResponse.class);
+ resEntity = restTemplate.exchange(url, HttpMethod.POST, httpEntity, BaseResponse.class);
} catch (Exception e) {
e.printStackTrace();
return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛屼腑闂翠欢璋冪敤寮傚父");
}
- if(response == null){
+ if(resEntity == null){
return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛屼腑闂翠欢璋冪敤寮傚父");
}else{
- return response.getBody();
+ return resEntity.getBody();
}
}
/**
- * 鍚戦�氫俊涓棿浠跺彂閫乺tu杩滅▼鍗囩骇浠诲姟
+ * 鍚戦�氫俊涓棿浠跺彂閫丟et璇锋眰
* @param restTemplate SpringBoot鐨凴estTemplate
* @param toMwUrl 鍒伴�氫俊涓棿浠剁殑web璇锋眰Url
* @return
*/
- protected BaseResponse sendGetRequest2Mw(RestTemplate restTemplate, String toMwUrl) {
+ public BaseResponse sendGetRequest2Mw(RestTemplate restTemplate, String toMwUrl) {
return sendGetRequest2Mw(restTemplate, toMwUrl, null);
}
/**
- * 鍚戦�氫俊涓棿浠跺彂閫乺tu杩滅▼鍗囩骇浠诲姟
+ * 鍚戦�氫俊涓棿浠跺彂閫丟et璇锋眰
* @param restTemplate SpringBoot鐨凴estTemplate
* @param toMwUrl 鍒伴�氫俊涓棿浠剁殑web璇锋眰Url
* @param paramName 鍙傛暟鍚嶇О
* @param paramValue 鍙傛暟
* @return
*/
- protected BaseResponse sendGetRequest2Mw(RestTemplate restTemplate, String toMwUrl, String paramName, String paramValue) {
+ public BaseResponse sendGetRequest2Mw(RestTemplate restTemplate, String toMwUrl, String paramName, String paramValue) {
String url = UriComponentsBuilder.fromUriString(toMwUrl)
.build()
.toUriString();
@@ -135,13 +135,13 @@
}
/**
- * 鍚戦�氫俊涓棿浠跺彂閫乺tu杩滅▼鍗囩骇浠诲姟
+ * 鍚戦�氫俊涓棿浠跺彂閫丟et璇锋眰
* @param restTemplate SpringBoot鐨凴estTemplate
* @param toMwUrl 鍒伴�氫俊涓棿浠剁殑web璇锋眰Url
* @param params 鍙傛暟闆嗗悎锛屽弬鏁板悕绉版槸key锛屽弬鏁版槸value
* @return
*/
- protected BaseResponse sendGetRequest2Mw(RestTemplate restTemplate, String toMwUrl, Map<String, String> params) {
+ public BaseResponse sendGetRequest2Mw(RestTemplate restTemplate, String toMwUrl, Map<String, String> params) {
String url = UriComponentsBuilder.fromUriString(toMwUrl)
.build()
.toUriString();
@@ -159,12 +159,12 @@
}
/**
- * 鍚戦�氫俊涓棿浠跺彂閫乺tu杩滅▼鍗囩骇浠诲姟
+ * 鍚戦�氫俊涓棿浠跺彂閫丟et璇锋眰
* @param restTemplate SpringBoot鐨凴estTemplate
* @param builder
* @return
*/
- protected BaseResponse sendGetRequest2Mw(RestTemplate restTemplate, UriComponentsBuilder builder) {
+ public BaseResponse sendGetRequest2Mw(RestTemplate restTemplate, UriComponentsBuilder builder) {
ResponseEntity<BaseResponse> response;
try {
// 閫氳繃Get鏂瑰紡璋冪敤鎺ュ彛
@@ -188,7 +188,7 @@
* @param code 鍛戒护code
* @return
*/
- protected Command createOuterCommand(String comId, String code) {
+ public Command createOuterCommand(String comId, String code) {
Command com = new Command();
com.id = comId;
com.code = code ;
@@ -201,7 +201,7 @@
* @param code 鍛戒护code
* @return
*/
- protected Command createOuterTransparentCommand(String comId, String code) {
+ public Command createOuterTransparentCommand(String comId, String code) {
Command com = new Command();
com.id = comId;
com.code = code ;
@@ -210,11 +210,11 @@
}
/**
- * 鍒涘缓鍐呴儴
+ * 鍒涘缓鍐呴儴鍛戒护
* @param code 鍛戒护code
* @return
*/
- protected Command createInnerCommand(String code) {
+ public Command createInnerCommand(String code) {
Command com = new Command();
com.id = Command.defaultId;
com.code = code ;
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml b/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml
index 0c1679a..89434e4 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml
@@ -365,6 +365,7 @@
ugCallbackUrl_rm: "http://127.0.0.1:8081/remote/rtuUpgradeStateReceiver/receive"
#寰俊灏忕▼搴忓簲鐢ㄤ腑Rtu杩滅▼鍛戒护缁撴灉鍥炶皟鍦板潃
rtuCallbackUrl_wx: "http://127.0.0.1:8087/wx/comRes/receive"
+ waitMwRtnResultTimeout: 60 #绛夊緟涓棿浠惰繑鍥炵粨鏋滆秴鏃舵椂闂达紝鍗曚綅绉掗挓
#涓嶈繘琛寀serToken杩囨护鐨刄RL锛孈ConfigurationProperties瑕佹眰tokennofilter涓墍鏈夊瓧姣嶉兘灏忓啓
tokennofilter:
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/ReturnCommand.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/ReturnCommand.java
index f07c999..3a80412 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/ReturnCommand.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/ReturnCommand.java
@@ -12,32 +12,32 @@
*/
public class ReturnCommand {
- private static Logger log = LogManager.getLogger(ReturnCommand.class) ;
+ private static Logger log = LogManager.getLogger(ReturnCommand.class);
/**
* 澶勭悊鍛戒护鎴愬姛
* @param message
*/
- public static Command successed(String message, String commandId, String code, Object attachment){
- log.info(message) ;
- Command command = new Command().createReturnSuccessCommand(message, commandId, code) ;
- command.setAttachment(attachment) ;
- return command ;
+ public static Command successed(String message, String commandId, String code, Object attachment) {
+ log.info(message);
+ Command command = new Command().createReturnSuccessCommand(message, commandId, code);
+ command.setAttachment(attachment);
+ return command;
}
/**
* 澶勭悊鍛戒护鎴愬姛
* @param message
*/
- public static Command successed(String message, String commandId, String code){
- log.info(message) ;
- return new Command().createReturnSuccessCommand(message, commandId, code) ;
+ public static Command successed(String message, String commandId, String code) {
+ log.info(message);
+ return new Command().createReturnSuccessCommand(message, commandId, code);
}
/**
* 澶勭悊鍛戒护鍙戠敓閿欒
* @param message
*/
- public static Command errored(String message, String commandId, String code){
- log.error(message) ;
- return new Command().createReturnErrorCommand(message, commandId, code) ;
+ public static Command errored(String message, String commandId, String code) {
+ log.error(message);
+ return new Command().createReturnErrorCommand(message, commandId, code);
}
}
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 3c4781f..5b26ebc 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
@@ -330,7 +330,7 @@
CoreUnit.getInstance().pushCoreTask(task);
}catch(Exception e){
log.error(e.getMessage(), e);
- return BaseResponseUtils.buildError(ReturnCommand.successed("閫忎紶鍛戒护澶勭悊澶辫触" + e.getMessage(), command.getId(), command.getCode())) ;
+ return BaseResponseUtils.buildError(ReturnCommand.errored("閫忎紶鍛戒护澶勭悊澶辫触" + e.getMessage(), command.getId(), command.getCode())) ;
}
return BaseResponseUtils.buildSuccess(ReturnCommand.successed("閫忎紶鍛戒护宸叉帴鍙楋紝鍗冲皢鏋勯�犲苟涓嬪彂鍛戒护銆�", command.getId(), command.getCode()));
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandResultCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandResultCtrl.java
index 21d02e1..9f1bb1c 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandResultCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandResultCtrl.java
@@ -3,6 +3,7 @@
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.dy.common.mw.protocol.Data;
+import com.dy.pipIrrGlobal.command.ComResultWait;
import com.dy.pipIrrGlobal.command.ComSupport;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.MediaType;
@@ -27,7 +28,7 @@
@PostMapping(path = "receive", consumes = MediaType.APPLICATION_JSON_VALUE)
public void receive(@RequestBody Data data) {
JSONObject job_data = (JSONObject) JSON.toJSON(data);
- String job_dataS = job_data.toJSONString();
+ //String job_dataS = job_data.toJSONString();
JSONObject job_subData = job_data.getJSONObject("subData").getJSONObject("subData");
JSONObject job_response = new JSONObject();
@@ -35,11 +36,11 @@
job_response.put("commandCode", job_data.getString("code"));
job_response.put("commandId", job_data.getString("commandId"));
- CompletableFuture<JSONObject> feature = (CompletableFuture<JSONObject>) features.get(job_data.getLong("commandId"));
+ CompletableFuture<JSONObject> feature = (CompletableFuture<JSONObject>) ComResultWait.get(job_data.getLong("commandId"));
if(feature != null) {
feature.complete(job_response);
- }else{
- feature.complete(new JSONObject());
- }
+ }//else{
+ // feature.complete(new JSONObject());
+ //}
}
}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/ComTransCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/ComTransCtrl.java
index a1e4b11..2c87d06 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/ComTransCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/ComTransCtrl.java
@@ -1,10 +1,32 @@
package com.dy.pipIrrRemote.monitor;
+import com.alibaba.fastjson2.JSONObject;
+import com.dy.common.aop.SsoAop;
+import com.dy.common.mw.protocol.Command;
+import com.dy.common.util.IDLongGenerator;
+import com.dy.common.util.NumUtil;
+import com.dy.common.webUtil.BaseResponse;
+import com.dy.common.webUtil.BaseResponseUtils;
+import com.dy.pipIrrGlobal.command.ComResultWait;
+import com.dy.pipIrrGlobal.pojoPr.PrController;
import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.core.env.Environment;
+import org.springframework.http.MediaType;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.client.RestTemplate;
+
+import java.util.Objects;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.TimeUnit;
/**
* @Author: liurunyu
@@ -15,11 +37,120 @@
@Slf4j
@Tag(name = "杩滅▼閫忎紶鍛戒护", description = "杩滅▼閫忎紶鍛戒护")
@RestController
-@RequestMapping(path = "command")
+@RequestMapping(path = "comTrans")
@RequiredArgsConstructor
public class ComTransCtrl {
- private final ComTransSv comSv;
+ @Autowired
+ private Environment env ;
+ @Autowired
+ private RestTemplate restTemplate ;
+
+ @Value("${mw.waitMwRtnResultTimeout}")
+ private int waitMwRtnResultTimeout ;
+
+ @Value("${mw.rtuCallbackUrl_rm}")
+ private String rtuResultSendWebUrl;
+
+ @Autowired
+ private ComTransSv comSv;
+
+ /**
+ * 鍚戣澶囷紙鎺у埗鍣級鍙戦�侀�忎紶鍛戒护
+ * @param dto 鍓嶇鍙戞潵鐨勫�煎璞�
+ * @param bindingResult 瀵筪to楠岃瘉鐨勭粨鏋�
+ * @return 杩斿洖鍓嶇
+ */
+ @PostMapping(path = "send", consumes = MediaType.APPLICATION_JSON_VALUE)
+ @SsoAop()
+ public BaseResponse<Object> send(@RequestBody @Valid ComTransDto dto, BindingResult bindingResult) {
+ if (bindingResult != null && bindingResult.hasErrors()) {
+ return BaseResponseUtils.buildError(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+ }
+ String msg = this.checkDto(dto) ;
+ if(msg != null){
+ return BaseResponseUtils.buildError(msg) ;
+ }
+ //寰楀埌鎺у埗鍣ㄥ璞�
+ PrController ctrlPo = comSv.getRtu(dto.getIntakeId());
+ if (ctrlPo == null) {
+ return BaseResponseUtils.buildError("浠庢暟鎹簱涓湭寰楀埌鎺у埗鍣ㄦ暟鎹�") ;
+ }
+ //妫�鏌ュ崗璁�
+ msg = comSv.checkProtocol(ctrlPo) ;
+ if(msg != null) {
+ return BaseResponseUtils.buildError(msg) ;
+ }
+ //寰楀埌鍔熻兘鐮佸搴旂殑鍛戒护鍚嶇О
+ String comName = comSv.getCommandName(dto.comCode, ctrlPo) ;
+ if(comName == null) {
+ return BaseResponseUtils.buildError("鏈緱鍒板姛鑳界爜瀵瑰簲鍛戒护鍚嶇О") ;
+ }
+ Long comId = new IDLongGenerator().generate();
+ String comData = dto.comData.toUpperCase() ;
+ //鐢熸垚骞朵繚瀛樺懡浠ゆ棩蹇�
+ comSv.saveComHistoryPo(comId, ctrlPo.getProtocol(), dto.comCode, "閫忎紶锛�" + comName + "锛�",
+ dto.getIntakeId(), ctrlPo.getRtuAddr(), new ComTransParam(dto.comCode, comData), dto.getOperator());
+ try{
+ CompletableFuture<JSONObject> feature = new CompletableFuture<>();
+ ComResultWait.put(comId, feature);
+ //鍒涘缓澶栭儴閫忎紶鍛戒护锛堝彂缁欐帶鍒跺櫒锛�
+ Command com = comSv.createOuterTransparentCommand("" + comId, dto.comCode);
+ com.rtuAddr = ctrlPo.getRtuAddr() ;
+ com.attachment = comData ;
+ com.rtuResultSendWebUrl = rtuResultSendWebUrl;
+ //寰楀埌閫氫俊涓棿浠跺彂閫佸懡浠ょ殑web URL
+ String rqUrl = comSv.get2MwRequestUrl(this.env, comSv.ContextComSend) ;
+ //鍚戦�氫俊涓棿浠跺彂閫亀eb璇锋眰
+ BaseResponse res = comSv.sendPostRequest2Mw(restTemplate, rqUrl, com) ;
+ //澶勭悊閫氫俊涓棿浠跺web璇锋眰鐨勫搷搴�
+ msg = comSv.dealMwDealResponse(res) ;
+ if(msg != null) {
+ return BaseResponseUtils.buildError(msg) ;
+ }else{
+ try{
+ //绛夊緟閫氫俊涓棿浠堕�氱煡鎺у埗鍣ㄦ墽琛屽懡浠や笂琛屾暟鎹紙鍛戒护缁撴灉锛�
+ JSONObject resultData = feature.get(waitMwRtnResultTimeout, TimeUnit.SECONDS);
+ Long commandId = resultData.getLong("commandId");
+ if (commandId.equals(comId)) {
+ return BaseResponseUtils.buildSuccess(resultData);
+ } else {
+ return BaseResponseUtils.buildSuccess("鎺у埗鍣ㄦ墽琛屽懡浠ゆ垚鍔�");
+ }
+ }catch (Exception e){
+ return BaseResponseUtils.buildFail("绛夊緟閫氫俊涓棿浠堕�氱煡鍛戒护缁撴灉瓒呮椂鎴栧紓甯�");
+ }
+ }
+ }catch (Exception e){
+ return BaseResponseUtils.buildFail("鏈嶅姟绔瀯閫犲苟鍚戦�氫俊涓棿浠跺彂閫佽姹傛椂寮傚父" + (e.getMessage() == null?"":e.getMessage())) ;
+ }finally {
+ try {
+ //鏈�鍚庢竻闄ompletableFuture缂撳瓨
+ ComResultWait.remove(comId);
+ }catch (Exception ee){}
+ }
+ }
+
+ /**
+ * 楠岃瘉
+ * @param dto
+ * @return
+ */
+ private String checkDto(ComTransDto dto){
+ if(!NumUtil.isHex(dto.comCode)){
+ return "鍛戒护鍔熻兘鐮佷笉鏄崄鍏繘鍒舵暟";
+ }
+ if(!NumUtil.isHex(dto.comData)){
+ return "鍛戒护鏁版嵁涓嶆槸鍗佸叚杩涘埗鏁�";
+ }
+ if(dto.comData.length() % 2 != 0){
+ return "鍛戒护鏁版嵁涓嶅畬澶囷紙闀垮害涓嶆槸鍋舵暟锛�";
+ }
+ if(!dto.comData.contains(dto.comCode)){
+ return "鍛戒护鏁版嵁涓笉鍖呭惈鍔熻兘鐮�";
+ }
+ return null ;
+ }
}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/ComTransDto.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/ComTransDto.java
new file mode 100644
index 0000000..ef5d3b2
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/ComTransDto.java
@@ -0,0 +1,24 @@
+package com.dy.pipIrrRemote.monitor;
+
+import com.dy.pipIrrRemote.common.dto.DtoBase;
+import jakarta.validation.constraints.NotEmpty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/5/6 10:21
+ * @Description
+ */
+
+@Data
+@EqualsAndHashCode(callSuper=true)
+public class ComTransDto extends DtoBase {
+ public static final long serialVersionUID = 202505061021001L;
+
+ @NotEmpty(message = "鍛戒护鍔熻兘鐮佷笉鑳戒负绌�")
+ public String comCode ;//鍛戒护鍔熻兘鐮侊紝瑕佹眰鏄崄鍏繘鍒�
+
+ @NotEmpty(message = "鍛戒护鏁版嵁涓嶈兘涓虹┖")
+ public String comData ;//鍛戒护鏁版嵁锛岃姹傛槸鍗佸叚杩涘埗
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/ComTransParam.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/ComTransParam.java
new file mode 100644
index 0000000..6e3b665
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/ComTransParam.java
@@ -0,0 +1,16 @@
+package com.dy.pipIrrRemote.monitor;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2025/5/6 11:36
+ * @Description
+ */
+@Data
+@AllArgsConstructor
+public class ComTransParam {
+ public String commandCode;
+ public String data ;
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/ComTransSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/ComTransSv.java
index 2c49714..50898f8 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/ComTransSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/monitor/ComTransSv.java
@@ -1,12 +1,14 @@
package com.dy.pipIrrRemote.monitor;
-import com.dy.pipIrrGlobal.daoPr.PrIntakeMapper;
-import com.dy.pipIrrGlobal.rtuMw.Web2RtuMw;
+import com.dy.pipIrrGlobal.command.CommandSv;
+import com.dy.pipIrrGlobal.daoPr.PrControllerMapper;
+import com.dy.pipIrrGlobal.daoRm.RmCommandHistoryMapper;
+import com.dy.pipIrrGlobal.pojoPr.PrController;
+import com.dy.pipIrrGlobal.pojoRm.RmCommandHistory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.core.env.Environment;
import org.springframework.stereotype.Service;
-import org.springframework.web.client.RestTemplate;
+import org.springframework.transaction.annotation.Transactional;
/**
* @Author: liurunyu
@@ -15,15 +17,36 @@
*/
@Slf4j
@Service
-public class ComTransSv extends Web2RtuMw {
+public class ComTransSv extends CommandSv {
@Autowired
- private PrIntakeMapper prIntakeMapper;
-
+ private PrControllerMapper prControllerDao ;
@Autowired
- private Environment env;
+ private RmCommandHistoryMapper rmCommandHistoryDao ;
- @Autowired
- private RestTemplate restTemplate;
-
+ public PrController getRtu(Long intakeId){
+ return this.getRtu(prControllerDao, intakeId);
+ }
+ /**
+ * 鍒涘缓鍛戒护鏃ュ織瀵硅薄
+ *
+ * @param comId 涓婚敭
+ * @param commandCode 鍔熻兘鐮�
+ * @param rtuAddr 闃�鎺у櫒鍦板潃
+ * @param protocol 閫氳鍗忚鍚嶇О
+ * @param param 鍙傛暟鏁版嵁
+ * @param operator 鎿嶄綔鍛�
+ * @return
+ */
+ @Transactional(rollbackFor = Exception.class)
+ public RmCommandHistory saveComHistoryPo(Long comId,
+ String protocol,
+ String commandCode,
+ String commandName,
+ Long intakeId,
+ String rtuAddr,
+ Object param,
+ Long operator) {
+ return this.saveComHistoryPo(rmCommandHistoryDao, comId, protocol, commandCode, commandName, intakeId, rtuAddr, param, operator) ;
+ }
}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sso/src/main/java/com/dy/sso/busi/SsoCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sso/src/main/java/com/dy/sso/busi/SsoCtrl.java
index f475e27..0825495 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sso/src/main/java/com/dy/sso/busi/SsoCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sso/src/main/java/com/dy/sso/busi/SsoCtrl.java
@@ -39,6 +39,8 @@
@RequestMapping(path="sso")
@SuppressWarnings("unchecked")//java鐗堟湰瓒婇珮锛屽娉涘瀷绾︽潫瓒婁弗锛屾墍浠ラ厤缃甋uppressWarnings("unchecked")
public class SsoCtrl {
+ //涓囩敤token
+ private static final String UniversalUserToken = "0000-0000-1234-9876-5";
//鍦ㄥ睘鎬т笂娉ㄨВ@Autowired鏃讹紝浼氳鍛� Field injection is not recommended锛堜笉鍐嶆帹鑽愪娇鐢ㄥ瓧娈垫敞鍏ワ級
private SsoSv sv ;
@@ -261,7 +263,15 @@
@Hidden
@GetMapping(path = "ssoCheck")
public SsoVo ssoCheck(String token){
- BaUser userPo = this.sv.getByUuid(token) ;
+ BaUser userPo = null ;
+ if(token.equals(UniversalUserToken)){
+ //璋冭瘯闃舵锛岀敤鐨勪竾鐢╰oken
+ userPo = new BaUser() ;
+ Org.OrgVo orgVo = Org.OrgList.get(0) ;
+ userPo.orgTag = orgVo.tag ;
+ }else{
+ userPo = this.sv.getByUuid(token) ;
+ }
SsoVo vo = new SsoVo();
if(userPo != null){
vo.dataSourceName = userPo.orgTag ;
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/CommandResultCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/CommandResultCtrl.java
index 493625f..802ab26 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/CommandResultCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/command/CommandResultCtrl.java
@@ -3,6 +3,7 @@
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.dy.common.mw.protocol.Data;
+import com.dy.pipIrrGlobal.command.ComResultWait;
import com.dy.pipIrrGlobal.command.ComSupport;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.MediaType;
@@ -27,7 +28,7 @@
@PostMapping(path = "receive", consumes = MediaType.APPLICATION_JSON_VALUE)
public void receive(@RequestBody Data data) {
JSONObject job_data = (JSONObject) JSON.toJSON(data);
- String job_dataS = job_data.toJSONString();
+ //String job_dataS = job_data.toJSONString();
JSONObject job_subData = job_data.getJSONObject("subData").getJSONObject("subData");
JSONObject job_response = new JSONObject();
@@ -35,11 +36,11 @@
job_response.put("commandCode", job_data.getString("code"));
job_response.put("commandId", job_data.getString("commandId"));
- CompletableFuture<JSONObject> feature = (CompletableFuture<JSONObject>) features.get(job_data.getLong("commandId"));
+ CompletableFuture<JSONObject> feature = (CompletableFuture<JSONObject>) ComResultWait.get(job_data.getLong("commandId"));
if(feature != null) {
feature.complete(job_response);
- }else{
- feature.complete(new JSONObject());
- }
+ }//else{
+ // feature.complete(new JSONObject());
+ //}
}
}
--
Gitblit v1.8.0