作者 王勇

完善,备份

@@ -96,10 +96,9 @@ public class RabbitController { @@ -96,10 +96,9 @@ public class RabbitController {
96 .build(); 96 .build();
97 // 2、校验格式、数据 97 // 2、校验格式、数据
98 ResultJson resultJson = xmlUtils.checkFormatAndData(xmlData); 98 ResultJson resultJson = xmlUtils.checkFormatAndData(xmlData);
99 - if (!"200".equals(resultJson.getCode())) { 99 + if (!RESULT_SUCCESS.equals(resultJson.getCode())) {
100 return resultJson; 100 return resultJson;
101 } 101 }
102 - log.info(""+xmlData);  
103 XmlData sentData = (XmlData) resultJson.getData(); 102 XmlData sentData = (XmlData) resultJson.getData();
104 // 3、通过格式校验之后,进行配置校验 103 // 3、通过格式校验之后,进行配置校验
105 Boolean binding = userMessageBindingService.validateXmlBinding(sentData); 104 Boolean binding = userMessageBindingService.validateXmlBinding(sentData);
@@ -13,6 +13,7 @@ public enum CustomExceptionType { @@ -13,6 +13,7 @@ public enum CustomExceptionType {
13 RECEIVE_SERVER_EXCEPTION("20500", "服务器异常,接收消息失败!请联系管理员处理"), 13 RECEIVE_SERVER_EXCEPTION("20500", "服务器异常,接收消息失败!请联系管理员处理"),
14 SERVER_EXCEPTION("10500", "服务器异常,发送消息失败!"), 14 SERVER_EXCEPTION("10500", "服务器异常,发送消息失败!"),
15 CLIENT_EXCEPTION("10400", "报文格式错误,请检查报文格式!"), 15 CLIENT_EXCEPTION("10400", "报文格式错误,请检查报文格式!"),
  16 + FORMAT_EXCEPTION("10400", "参数不得为空,请检查报文格式!"),
16 17
17 BINDING_ERROR("10501", "配置信息,未进行绑定!"), 18 BINDING_ERROR("10501", "配置信息,未进行绑定!"),
18 SENDER_ERROR("10401", "报文格式错误,发送者不能为空!"), 19 SENDER_ERROR("10401", "报文格式错误,发送者不能为空!"),
@@ -75,36 +75,52 @@ public class XmlUtils { @@ -75,36 +75,52 @@ public class XmlUtils {
75 } 75 }
76 76
77 /** 77 /**
  78 + * 对发送消息的格式进行校验
  79 + * <p>
  80 + * 为提升性能,对于格式(某一个而不是具体到每一个)进行是否为空进行判断
  81 + *
78 * @param xmlData {@link XmlData} 需要被检查的 xml 报文数据与格式 82 * @param xmlData {@link XmlData} 需要被检查的 xml 报文数据与格式
79 * @return 83 * @return
80 */ 84 */
81 public ResultJson checkFormatAndData(XmlData xmlData) 85 public ResultJson checkFormatAndData(XmlData xmlData)
82 { 86 {
83 - if (StringUtil.isNullOrEmpty(xmlData.getSendContent())) {  
84 - // 消息内容为空  
85 - return ResultJson.error(CustomExceptionType.CONTENT_ERROR);  
86 - } else if (StringUtil.isNullOrEmpty(xmlData.getSender())) {  
87 - // 发送者名称为空  
88 - return ResultJson.error(CustomExceptionType.SERVER_ERROR);  
89 - } else if (StringUtil.isNullOrEmpty(xmlData.getServerName())) {  
90 - // 服务器名称为空  
91 - return ResultJson.error(CustomExceptionType.SERVER_ERROR);  
92 - } else if (StringUtil.isNullOrEmpty(xmlData.getVirtualHostName())) {  
93 - // 虚拟主机为空  
94 - return ResultJson.error(CustomExceptionType.HOST_ERROR);  
95 - } else if (StringUtil.isNullOrEmpty(xmlData.getExchangeName())) {  
96 - // 交换机为空  
97 - return ResultJson.error(CustomExceptionType.EXCHANGE_ERROR);  
98 - } else if (StringUtil.isNullOrEmpty(xmlData.getRoutingKeyName())) {  
99 - // 路由键为空  
100 - return ResultJson.error(CustomExceptionType.ROUTING_KEY_ERROR);  
101 - } else if (StringUtil.isNullOrEmpty(xmlData.getSequence())) {  
102 - // 序列为空  
103 - return ResultJson.error(CustomExceptionType.SEQUENCE_ERROR);  
104 - } else if (StringUtil.isNullOrEmpty(xmlData.getToken())) {  
105 - // token为空  
106 - return ResultJson.error(CustomExceptionType.TOKEN_ERROR);  
107 - } 87 + if (StringUtil.isNullOrEmpty(xmlData.getSendContent())
  88 + || StringUtil.isNullOrEmpty(xmlData.getSender())
  89 + || StringUtil.isNullOrEmpty(xmlData.getServerName())
  90 + || StringUtil.isNullOrEmpty(xmlData.getVirtualHostName())
  91 + || StringUtil.isNullOrEmpty(xmlData.getExchangeName())
  92 + || StringUtil.isNullOrEmpty(xmlData.getRoutingKeyName())
  93 + ) {
  94 + return ResultJson.error(CustomExceptionType.FORMAT_EXCEPTION);
  95 + }
  96 +
  97 +
  98 +// if (StringUtil.isNullOrEmpty(xmlData.getSendContent())) {
  99 +// // 消息内容为空
  100 +// return ResultJson.error(CustomExceptionType.CONTENT_ERROR);
  101 +// } else if (StringUtil.isNullOrEmpty(xmlData.getSender())) {
  102 +// // 发送者名称为空
  103 +// return ResultJson.error(CustomExceptionType.SERVER_ERROR);
  104 +// } else if (StringUtil.isNullOrEmpty(xmlData.getServerName())) {
  105 +// // 服务器名称为空
  106 +// return ResultJson.error(CustomExceptionType.SERVER_ERROR);
  107 +// } else if (StringUtil.isNullOrEmpty(xmlData.getVirtualHostName())) {
  108 +// // 虚拟主机为空
  109 +// return ResultJson.error(CustomExceptionType.HOST_ERROR);
  110 +// } else if (StringUtil.isNullOrEmpty(xmlData.getExchangeName())) {
  111 +// // 交换机为空
  112 +// return ResultJson.error(CustomExceptionType.EXCHANGE_ERROR);
  113 +// } else if (StringUtil.isNullOrEmpty(xmlData.getRoutingKeyName())) {
  114 +// // 路由键为空
  115 +// return ResultJson.error(CustomExceptionType.ROUTING_KEY_ERROR);
  116 +// } else if (StringUtil.isNullOrEmpty(xmlData.getSequence())) {
  117 +// // 序列为空
  118 +// return ResultJson.error(CustomExceptionType.SEQUENCE_ERROR);
  119 +// } else if (StringUtil.isNullOrEmpty(xmlData.getToken())) {
  120 +// // token为空
  121 +// return ResultJson.error(CustomExceptionType.TOKEN_ERROR);
  122 +// }
  123 +
108 List<UserInfo> userList = userInfoService.selectUserExist(xmlData.getSender()); 124 List<UserInfo> userList = userInfoService.selectUserExist(xmlData.getSender());
109 if (userList.size() == 0) { 125 if (userList.size() == 0) {
110 // 发送者不存在 126 // 发送者不存在