From f4d206d07eaeabad56e2918edf9799af13bb526e Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期一, 12 五月 2025 17:38:12 +0800 Subject: [PATCH] 表阀一体机:web后端系统,实现功能码5B、5C、15、16、22、30、31、50、55、56、65、68、97、98、99远程命令。 --- pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandResultCtrl.java | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 54 insertions(+), 0 deletions(-) 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 new file mode 100644 index 0000000..86f89d6 --- /dev/null +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-remote/src/main/java/com/dy/pipIrrRemote/common/CommandResultCtrl.java @@ -0,0 +1,54 @@ +package com.dy.pipIrrRemote.common; + +import com.alibaba.fastjson2.JSON; +import com.alibaba.fastjson2.JSONArray; +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; +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 java.util.concurrent.CompletableFuture; + +/** + * @author ZhuBaoMin + * @date 2024-05-23 8:19 + * @LastEditTime 2024-05-23 8:19 + * @Description + */ + +@Slf4j +@RestController +@RequestMapping(path="comRes") +public class CommandResultCtrl extends ComSupport { + @PostMapping(path = "receive", consumes = MediaType.APPLICATION_JSON_VALUE) + public void receive(@RequestBody Data data) { + JSONObject protocolData = data == null ? null : (JSONObject)data.subData ; //鍗忚鏁版嵁 + Object codeDataObj = protocolData == null ? null : protocolData.get("subData") ; + JSONObject codeData = null ; + JSONArray codeArrayData = null ; + if(codeDataObj != null){ + if(codeDataObj instanceof JSONObject){ + codeData = protocolData == null ? null : (protocolData.getJSONObject("subData")) ; //鍗忚鍔熻兘鐮佹暟鎹� + }else if(codeDataObj instanceof JSONArray){{ + codeArrayData = protocolData == null ? null : (protocolData.getJSONArray("subData")) ; //鍗忚鍔熻兘鐮佹暟鎹� + }} + } + JSONObject job_response = new JSONObject(); + job_response.put("data", codeData!=null?codeData:(codeArrayData!=null?codeArrayData:null)); + job_response.put("commandCode", data.code); + job_response.put("commandId", data.commandId); + + CompletableFuture<JSONObject> feature = (CompletableFuture<JSONObject>) ComResultWait.get(Long.parseLong(data.commandId)); + if(feature != null) { + feature.complete(job_response); + }else{ + //瓒呮椂锛宖eature琚竻闄や簡 + } + } +} -- Gitblit v1.8.0