From 12e9ce64c364deb7ea08ba82f8d72abf6e561fc2 Mon Sep 17 00:00:00 2001
From: wuzeyu <1223318623@qq.com>
Date: 星期一, 27 五月 2024 16:53:50 +0800
Subject: [PATCH] 田间灌溉项目管理 灌溉制度模块 修改查询流浪灌溉单元和已绑定灌溉单元接口返回id类型 作物分页查询增加返回备注字段
---
pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/ComSupport.java | 79 +++++++++++++++++++++++++++++++++++++--
1 files changed, 74 insertions(+), 5 deletions(-)
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/ComSupport.java b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/ComSupport.java
index ccba930..7994a33 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/ComSupport.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/ComSupport.java
@@ -4,20 +4,32 @@
import com.alibaba.fastjson2.JSONObject;
import com.dy.common.mw.protocol.Command;
import com.dy.common.mw.protocol.CommandType;
+import com.dy.common.mw.protocol.Data;
import com.dy.common.mw.protocol.p206V202404.CodeV202404;
import com.dy.common.mw.protocol.p206V202404.ProtocolConstantV206V202404;
import com.dy.common.mw.protocol.p206V202404.downVos.ComCdXyVo;
import com.dy.common.webUtil.BaseResponse;
+import com.dy.common.webUtil.BaseResponseUtils;
+import com.dy.pipIrrGlobal.daoBa.BaSettingsMapper;
import com.dy.pipIrrGlobal.pojoRm.RmCommandHistory;
+import com.dy.pipIrrRemote.result.RemoteResultCode;
+import jakarta.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Component;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.util.UriComponentsBuilder;
import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.TimeoutException;
/**
* @author ZhuBaoMin
@@ -25,7 +37,8 @@
* @LastEditTime 2024-05-21 15:30
* @Description
*/
-//@RequiredArgsConstructor
+
+@Component
public class ComSupport {
//@NotNull
//private final CommandSv commandSv;
@@ -37,17 +50,44 @@
protected static String rtuResultSendWebUrl = "http://127.0.0.1:8081/remote/comRes/receive" ;
protected static String controllerType = "57" ;//鎺у埗鍣ㄧ被鍨�
- protected static Integer projectNo = 10 ;//椤圭洰缂栫爜
+ protected static Integer projectNo = 100 ;//椤圭洰缂栫爜
protected static String icCardAddr = "04BEA5BB" ;//IC鍗″湴鍧�
protected static String icCardNo = "37142501020500001" ;//IC鍗$紪鍙凤紙鐢ㄦ埛鍗″簭鍒楀彿锛�
protected String protocolName = ProtocolConstantV206V202404.protocolName;
- protected String commandTypeInner = CommandType.innerCommand;
+
protected String commandTypeOuter = CommandType.outerCommand;
+
+ // 瀛樺偍瀹炰緥鍖栫殑 CompletableFuture<Data> 瀵硅薄
+ protected static Map<String, Object> features = new HashMap<>();
+ protected static Boolean setuped = false;
@Autowired
private RestTemplate restTemplate;
+
+ @Autowired
+ private BaSettingsMapper baSettingsMapper;
+ public static ComSupport comSupport;
+
+ /**
+ * 寮曞叆BaSettingsMapper
+ */
+ @PostConstruct
+ public void init() {
+ comSupport = this;
+ comSupport.baSettingsMapper = this.baSettingsMapper;
+ }
+
+ /**
+ * 鑾峰彇绯荤粺閰嶇疆鍙傛暟
+ */
+ public void setUp() {
+ protocolName = comSupport.baSettingsMapper.getItemValue("protocolName");
+ controllerType = comSupport.baSettingsMapper.getItemValue("controllerType");
+ projectNo = Integer.parseInt(comSupport.baSettingsMapper.getItemValue("projectNo"));
+ setuped = true;
+ }
protected ComCdXyVo comCdXyVo(){
ComCdXyVo comVo = new ComCdXyVo() ;
@@ -70,8 +110,6 @@
rmCommandHistory.setCommandName(CodeV202404.getCodeName(commandCode));
rmCommandHistory.setRtuaddr(rtuAddr);
rmCommandHistory.setProtocol(protocolName);
- rmCommandHistory.setCommandType(commandTypeOuter);
- rmCommandHistory.setCallback(rtuResultSendWebUrl);
rmCommandHistory.setParam((JSONObject) JSON.toJSON(param));
rmCommandHistory.setSendTime(new Date());
rmCommandHistory.setOperator(operator);
@@ -99,6 +137,36 @@
com.param = param ;
return com ;
+ }
+
+ /**
+ * 澶勭悊鍥炶皟鍐呭
+ * @param comId
+ * @return
+ */
+ protected BaseResponse<Data> dealWithCallBack(String comId) {
+ CompletableFuture<Data> featureObject = new CompletableFuture<>();
+ features.put(comId, featureObject);
+ try {
+ CompletableFuture<Data> feature = (CompletableFuture<Data>) features.get(comId);
+ System.out.println("receive result ID:" + comId);
+ Data resultData = feature.get(30, TimeUnit.SECONDS);
+ features.remove(comId);
+ String commandId = resultData.getCommandId();
+ if(commandId.equals(comId)) {
+ return BaseResponseUtils.buildSuccess(resultData);
+ }else {
+ return BaseResponseUtils.buildSuccess();
+ }
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ return BaseResponseUtils.buildFail(RemoteResultCode.GET_RESULT_ERROR.getMessage());
+ } catch (ExecutionException e) {
+ e.printStackTrace();
+ return BaseResponseUtils.buildFail(RemoteResultCode.GET_RESULT_ERROR.getMessage());
+ } catch (TimeoutException e) {
+ return BaseResponseUtils.buildFail(RemoteResultCode.GET_RESULT_IN_ONE_MINUTE.getMessage());
+ }
}
/**
@@ -140,4 +208,5 @@
}
return response.getBody();
}
+
}
--
Gitblit v1.8.0