diff --git a/detection/src/main/java/com/njcn/gather/detection/handler/SocketDevResponseService.java b/detection/src/main/java/com/njcn/gather/detection/handler/SocketDevResponseService.java index 1eaccf25..25005e90 100644 --- a/detection/src/main/java/com/njcn/gather/detection/handler/SocketDevResponseService.java +++ b/detection/src/main/java/com/njcn/gather/detection/handler/SocketDevResponseService.java @@ -72,10 +72,6 @@ public class SocketDevResponseService { Map devNameMapComm = new HashMap<>(); - /** - * 所有装置通道信息 - */ - List moniterIdListXieyi = new ArrayList<>(); /** * 成功结束的装置 */ @@ -88,7 +84,9 @@ public class SocketDevResponseService { public void deal(PreDetectionParam param, String msg) { SocketDataMsg socketDataMsg = MsgUtil.socketDataMsg(msg); + SourceOperateCodeEnum sourceOperateCodeEnum = SourceOperateCodeEnum.getDictDataEnumByCode(socketDataMsg.getRequestId()); + String userKey = param.getUserPageId() + handlerStr; switch (sourceOperateCodeEnum) { case YJC_SBTXJY: @@ -96,12 +94,25 @@ public class SocketDevResponseService { break; case QUITE: SourceResponseCodeEnum dictDataEnumByCode = SourceResponseCodeEnum.getDictDataEnumByCode(socketDataMsg.getCode()); - String userKey = param.getUserPageId() + handlerStr; + SourceOperateCodeEnum operateCodeEnum = SourceOperateCodeEnum.getDictDataEnumByCode(socketDataMsg.getOperateCode()); + SocketMsg socketMsg = new SocketMsg(); switch (dictDataEnumByCode) { case SUCCESS: //通讯校验成功 - webSocketHandler.sendMsgToUser(userKey, msg); - + switch (operateCodeEnum){ + case QUIT_INIT_01: + break; + case QUIT_INIT_02: + socketMsg.setRequestId("quit"); + socketMsg.setOperateCode("QUIT_FUNEND$01"); + SocketManager.sendMsg(userKey, JSON.toJSONString(socketMsg)); + break; + case QUIT_INIT_03: + socketMsg.setRequestId("quit"); + socketMsg.setOperateCode("QUIT_FUNEND$02"); + SocketManager.sendMsg(userKey, JSON.toJSONString(socketMsg)); + break; + } break; case UNPROCESSED_BUSINESS: break; @@ -125,6 +136,9 @@ public class SocketDevResponseService { private Map> reloverMap = new HashMap<>(); + /** + * 装置通讯检测 + */ private void devComm(SocketDataMsg socketDataMsg, PreDetectionParam param, String msg) { SourceResponseCodeEnum dictDataEnumByCode = SourceResponseCodeEnum.getDictDataEnumByCode(socketDataMsg.getCode()); String s = param.getUserPageId() + handlerStr; @@ -167,13 +181,7 @@ public class SocketDevResponseService { break; case RE_OPERATE: //发起关闭操作 - socketMsg.setRequestId("quit"); - socketMsg.setOperateCode("QUIT_FUNEND$01"); - SocketManager.sendMsg(s, JSON.toJSONString(socketMsg)); - socketMsg.setOperateCode("QUIT_FUNEND$02"); - SocketManager.sendMsg(s, JSON.toJSONString(socketMsg)); - socketMsg.setOperateCode("QUIT_FUNEND$03"); - SocketManager.sendMsg(s, JSON.toJSONString(socketMsg)); + quitSend(param,socketDataMsg,socketMsg); break; default: WebSocketVO webSocketVO = new WebSocketVO(); @@ -183,7 +191,9 @@ public class SocketDevResponseService { } } - + /** + * 装置协议检测 + */ private void devXieyi(SocketDataMsg socketDataMsg, PreDetectionParam param, String msg) { SourceResponseCodeEnum dictDataEnumByCode = SourceResponseCodeEnum.getDictDataEnumByCode(socketDataMsg.getCode()); SocketMsg socketMsg = new SocketMsg(); @@ -192,13 +202,13 @@ public class SocketDevResponseService { switch (dictDataEnumByCode) { case SUCCESS: webSocketHandler.sendMsgToUser(param.getUserPageId(), msg); - System.out.println(successXieyi.size() + "=====" + moniterIdListXieyi.size()); + JSONObject jsonObject = JSON.parseObject(msg); String mId = jsonObject.get("data").toString(); String type = jsonObject.get("operateCode").toString(); if (type.equals(SourceOperateCodeEnum.DEV_INIT_GATHER_02.getValue())) { successXieyi.add(mId); - if (successXieyi.size() == moniterIdListXieyi.size()) { + if (successXieyi.size() == moniterIdListComm.size()) { //协议3校验 successXieyi = new ArrayList<>(); @@ -216,8 +226,9 @@ public class SocketDevResponseService { } } else if (type.equals(SourceOperateCodeEnum.DEV_INIT_GATHER_03.getValue())) { + System.out.println(successXieyi3.size() + "=====" + moniterIdListComm.size()); successXieyi3.add(mId); - if (successXieyi.size() == moniterIdListXieyi.size()) { + if (successXieyi3.size() == moniterIdListComm.size()) { System.out.println("开始相序校验++++++++++"); @@ -230,14 +241,7 @@ public class SocketDevResponseService { break; case RE_OPERATE: //发起关闭操作 - - socketMsg.setRequestId("quit"); - socketMsg.setOperateCode("QUIT_FUNEND$01"); - SocketManager.sendMsg(s, JSON.toJSONString(socketMsg)); - socketMsg.setOperateCode("QUIT_FUNEND$02"); - SocketManager.sendMsg(s, JSON.toJSONString(socketMsg)); - socketMsg.setOperateCode("QUIT_FUNEND$03"); - SocketManager.sendMsg(s, JSON.toJSONString(socketMsg)); + quitSend(param,socketDataMsg,socketMsg); break; default: WebSocketVO webSocketVO = new WebSocketVO(); @@ -247,6 +251,28 @@ public class SocketDevResponseService { } } + /** + * 退出检测 + */ + private void quitSend(PreDetectionParam param,SocketDataMsg socketDataMsg,SocketMsg socketMsg){ + SourceOperateCodeEnum operateCodeEnum = SourceOperateCodeEnum.getDictDataEnumByCode(socketDataMsg.getOperateCode()); + socketMsg.setRequestId(SourceOperateCodeEnum.QUITE.getValue()); + switch (operateCodeEnum){ + case DEV_INIT_GATHER_01: + socketMsg.setOperateCode(SourceOperateCodeEnum.QUIT_INIT_01.getValue()); + SocketManager.sendMsg(param.getUserPageId()+handlerStr, JSON.toJSONString(socketMsg)); + break; + case DEV_INIT_GATHER_02: + socketMsg.setOperateCode(SourceOperateCodeEnum.QUIT_INIT_02.getValue()); + SocketManager.sendMsg(param.getUserPageId()+handlerStr, JSON.toJSONString(socketMsg)); + break; + case DEV_INIT_GATHER_03: + socketMsg.setOperateCode(SourceOperateCodeEnum.QUIT_INIT_03.getValue()); + SocketManager.sendMsg(param.getUserPageId()+handlerStr, JSON.toJSONString(socketMsg)); + break; + } + } + public void devXu(PreDetectionParam param, SocketDataMsg socketDataMsg) { if (CollUtil.isEmpty(moniterIdList)) { @@ -401,7 +427,6 @@ public class SocketDevResponseService { this.successComm = new ArrayList<>(); this.devNameMapComm = new HashMap<>(); - this.moniterIdListXieyi = new ArrayList<>(); this.successXieyi = new ArrayList<>(); this.successXieyi3 = new ArrayList<>(); this.devNameMapXieyi = new HashMap<>(); diff --git a/detection/src/main/java/com/njcn/gather/detection/pojo/enums/SourceOperateCodeEnum.java b/detection/src/main/java/com/njcn/gather/detection/pojo/enums/SourceOperateCodeEnum.java index 8f60172f..bdfc3715 100644 --- a/detection/src/main/java/com/njcn/gather/detection/pojo/enums/SourceOperateCodeEnum.java +++ b/detection/src/main/java/com/njcn/gather/detection/pojo/enums/SourceOperateCodeEnum.java @@ -30,6 +30,10 @@ public enum SourceOperateCodeEnum { DEV_DATA_REQUEST_02("DATA_REQUEST$02", "实时采集申请"), DEV_DATA_REQUEST_03("DATA_REQUEST$03", "暂态采集申请"), + QUIT_INIT_01("QUIT_FUNEND$01", "关闭统计申请"), + QUIT_INIT_02("QUIT_FUNEND$02", "关闭实时申请"), + QUIT_INIT_03("QUIT_FUNEND$03", "关闭暂态申请"), + @@ -39,12 +43,12 @@ public enum SourceOperateCodeEnum { YJC_XUJY("YJC_xujy", "预检测_相序校验"), - QUITE("quit","预监测_关闭设备通讯检测") + QUITE("quit","预监测_关闭设备通讯初始化") ; - private String value; - private String msg; + private final String value; + private final String msg; SourceOperateCodeEnum(String value, String msg) { this.value = value; diff --git a/detection/src/main/java/com/njcn/gather/detection/pojo/enums/SourceResponseCodeEnum.java b/detection/src/main/java/com/njcn/gather/detection/pojo/enums/SourceResponseCodeEnum.java index 64146b2c..9f61e605 100644 --- a/detection/src/main/java/com/njcn/gather/detection/pojo/enums/SourceResponseCodeEnum.java +++ b/detection/src/main/java/com/njcn/gather/detection/pojo/enums/SourceResponseCodeEnum.java @@ -42,8 +42,8 @@ public enum SourceResponseCodeEnum { ; - private Integer code; - private String message; + private final Integer code; + private final String message; SourceResponseCodeEnum(Integer code, String message) { this.code = code;