| | |
| | | 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; |
| | |
| | | public class CommandResultCtrl extends ComSupport { |
| | | @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(); |
| | | JSONObject job_subData = job_data.getJSONObject("subData").getJSONObject("subData"); |
| | | |
| | | 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", job_subData); |
| | | job_response.put("commandCode", job_data.getString("code")); |
| | | job_response.put("commandId", job_data.getString("commandId")); |
| | | 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(job_data.getLong("commandId")); |
| | | CompletableFuture<JSONObject> feature = (CompletableFuture<JSONObject>) ComResultWait.get(Long.parseLong(data.commandId)); |
| | | if(feature != null) { |
| | | feature.complete(job_response); |
| | | }//else{ |
| | | // feature.complete(new JSONObject()); |
| | | //} |
| | | }else{ |
| | | //超时,feature被清除了 |
| | | } |
| | | } |
| | | } |