Browse Source

/*xml下行调用调整。*/

master
htjcAdmin 9 months ago
parent
commit
2bdb3ac4b7
3 changed files with 25 additions and 18 deletions
  1. +6
    -7
      src/main/java/com/inspect/tcpserver/controller/ClientController.java
  2. +3
    -2
      src/main/java/com/inspect/tcpserver/tcp/NettyClient.java
  3. +16
    -9
      src/main/java/com/inspect/tcpserver/tcp/NettyServer.java

+ 6
- 7
src/main/java/com/inspect/tcpserver/controller/ClientController.java View File

@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject;
import com.inspect.tcpserver.domain.AjaxResult;
import com.inspect.tcpserver.tcp.NettyClient;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.slf4j.MDC;
@ -15,8 +16,7 @@ import java.util.UUID;
@RestController
@RequestMapping("/client")
public class ClientController {
private Logger logger = LoggerFactory.getLogger(ClientController.class);
private final Logger logger = LoggerFactory.getLogger(ClientController.class);
@Resource
NettyClient nettyClient;
@ -41,23 +41,22 @@ public class ClientController {
public AjaxResult sendMsg(@RequestBody String msg) {
try {
if (StringUtils.isBlank(msg)) {
return AjaxResult.fail("500", "发送消息msg为空");
return AjaxResult.fail("500", "消息为空");
}
// 此处只是为了判断传入的格式是否正确
JSONObject jsonObject = JSONObject.parseObject(msg);
if (null == jsonObject) {
return AjaxResult.fail("500", "发送消息json对象为空");
return AjaxResult.fail("500", "消息JSON解析失败");
}
logger.info("巡视主机客户端接收到消息,发送到上级{}", msg);
logger.info("################ 巡视主机客户端接收到消息, 发送到上级 ################\n{}", msg);
msg = msg.replaceAll("sendCode", "SendCode");
msg = msg.replaceAll("receiveCode", "ReceiveCode");
msg = msg.replaceAll("type", "Type");
nettyClient.sendJsonMessage(msg);
return AjaxResult.success();
} catch (Exception e) {
logger.error("客户端发送消息捕获异常", e);
logger.error("################ 客户端发送消息捕获异常 ################\n{}", ExceptionUtils.getStackTrace(e));
return AjaxResult.fail(500, "数据格式不正确");
}
}


+ 3
- 2
src/main/java/com/inspect/tcpserver/tcp/NettyClient.java View File

@ -304,7 +304,8 @@ public class NettyClient {
}
// 将xml消息转为json格式字符串
String msg = upJson2Xml.ModelJson2Xml(response);
//String msg = upJson2Xml.ModelJson2Xml(response);
String msg = upJson2Xml.UpStreamJson2Xml(response, ModelControl.class);
// 上报上级系统会话类型为响应
sendMsgToUpper(false, msg);
@ -449,7 +450,7 @@ public class NettyClient {
* @return
*/
public JSONObject handleIdentity(JSONObject obj) {
// 从服务端发出的请求sendcode 应为服务端
// 从服务端发出的请求sendCode 应为服务端
obj.put("SendCode", sendCode);
obj.put("ReceiveCode", receiveCode);


+ 16
- 9
src/main/java/com/inspect/tcpserver/tcp/NettyServer.java View File

@ -482,36 +482,43 @@ public class NettyServer {
case RobotType.robotFz:
case RobotType.robotIr:
case RobotType.robotPtz:
xml = upJson2Xml.RobotJson2Xml(json);
// xml = upJson2Xml.RobotJson2Xml(json);
xml = upJson2Xml.UpStreamJson2Xml(json, RobotControl.class);
break;
case UAVType.uav:
case UAVType.uavXj:
case UAVType.uavKz:
case UAVType.uavYt:
case UAVType.nest:
xml = upJson2Xml.UavControlJson2Xml(json);
// xml = upJson2Xml.UavControlJson2Xml(json);
xml = upJson2Xml.UpStreamJson2Xml(json, RobotControl.class);
break;
case TaskType.taskControl:
xml = upJson2Xml.ResponseJson2Xml(json);
// xml = upJson2Xml.ResponseJson2Xml(json);
xml = upJson2Xml.UpStreamJson2Xml(json, ResponseControl.class);
break;
case TaskType.taskSend:
xml = upJson2Xml.TaskSendJson2Xml(json);
// xml = upJson2Xml.TaskSendJson2Xml(json);
xml = upJson2Xml.UpStreamJson2Xml(json, TaskSendControl.class);
break;
case TaskType.taskArea:
xml = upJson2Xml.AreaJson2Xml(json);
// xml = upJson2Xml.AreaJson2Xml(json);
xml = upJson2Xml.UpStreamJson2Xml(json, AreaControl.class);
break;
case ModelType.modelSync:
xml = upJson2Xml.ResponseJson2Xml(json);
// xml = upJson2Xml.ResponseJson2Xml(json);
xml = upJson2Xml.UpStreamJson2Xml(json, ResponseControl.class);
break;
case TaskType.lendonTask:
xml = upJson2Xml.LinkageTaskJson2Xml(json);
// xml = upJson2Xml.LinkageTaskJson2Xml(json);
xml = upJson2Xml.UpStreamJson2Xml(json, LinkageTaskControl.class);
break;
default:
logger.warn("[NETTY] 向设备端下发命令, 类型[{}]不正确, 不予处理", type);
logger.warn("################ 向设备端下发命令, 类型:{}错误, 不予处理 ################", type);
}
if (!StringUtils.isEmpty(xml)) {
logger.info("[NETTY] 向设备端下发命令: {}", xml);
logger.info("################ 向设备端下发命令 ################\n{}", xml);
sendMsg(receiveCode, true, xml);
}
}


Loading…
Cancel
Save