作者 王勇

添加和修改服务器时的校验规则,进行了修改

@@ -105,6 +105,11 @@ public class BusServerController { @@ -105,6 +105,11 @@ public class BusServerController {
105 public ResultJson updateBusServer(@RequestBody BusServer busServer) { 105 public ResultJson updateBusServer(@RequestBody BusServer busServer) {
106 //先验证,修改好的核心信息(ip和port,同时存在)是否已存在 106 //先验证,修改好的核心信息(ip和port,同时存在)是否已存在
107 String message = validateBusServer(busServer); 107 String message = validateBusServer(busServer);
  108 + // 判断服务器名称是否已存在
  109 + String existName = "MQ服务器名称已存在";
  110 + if (existName.equals(message)) {
  111 + return new ResultJson("402", "MQ服务器名称已存在");
  112 + }
108 //验证通过 113 //验证通过
109 if (message == null) { 114 if (message == null) {
110 ResultJson result = new ResultJson<>(); 115 ResultJson result = new ResultJson<>();
@@ -131,6 +136,11 @@ public class BusServerController { @@ -131,6 +136,11 @@ public class BusServerController {
131 public ResultJson insertBusServer(@RequestBody BusServer busServer) { 136 public ResultJson insertBusServer(@RequestBody BusServer busServer) {
132 //先验证,增加的服务器的核心信息(ip和port,同时存在)是否已存在 137 //先验证,增加的服务器的核心信息(ip和port,同时存在)是否已存在
133 String message = validateBusServer(busServer); 138 String message = validateBusServer(busServer);
  139 + // 判断服务器名称是否已存在
  140 + String existName = "MQ服务器名称已存在";
  141 + if (existName.equals(message)) {
  142 + return new ResultJson("402", "MQ服务器名称已存在");
  143 + }
134 //验证通过 144 //验证通过
135 if (message == null) { 145 if (message == null) {
136 ResultJson result = new ResultJson<>(); 146 ResultJson result = new ResultJson<>();
@@ -156,6 +166,9 @@ public class BusServerController { @@ -156,6 +166,9 @@ public class BusServerController {
156 * @return 通过,无返回消息 166 * @return 通过,无返回消息
157 */ 167 */
158 private String validateBusServer(BusServer busServer) { 168 private String validateBusServer(BusServer busServer) {
  169 + if ("".equals(busServer.getServerName()) || busServer.getServerName() == null) {
  170 + return "该服务器信息中,没有服务器名称";
  171 + }
159 if ("".equals(busServer.getServerIp()) || busServer.getServerIp() == null) { 172 if ("".equals(busServer.getServerIp()) || busServer.getServerIp() == null) {
160 return "该服务器信息中,没有服务器IP"; 173 return "该服务器信息中,没有服务器IP";
161 } 174 }
@@ -167,14 +180,28 @@ public class BusServerController { @@ -167,14 +180,28 @@ public class BusServerController {
167 if (busServer.getId() != null && busServer.getId().length() != 0) { 180 if (busServer.getId() != null && busServer.getId().length() != 0) {
168 // 根据 id 查询出原来的 MQ服务器 信息 181 // 根据 id 查询出原来的 MQ服务器 信息
169 BusServer oldBusServer = busServerService.selectByPrimaryKey(busServer.getId()); 182 BusServer oldBusServer = busServerService.selectByPrimaryKey(busServer.getId());
170 - // 如果修改后的 ServerIp以及ServerPort(同时),和原来的 ServerIp以及ServerPort(同时) 不一致,(有一个不一致,即可)  
171 - // 则校验 该 ServerIp以及ServerPort(同时) 是否已存在  
172 - if (!oldBusServer.getServerPort().equals(busServer.getServerPort()) ||  
173 - !oldBusServer.getServerIp().equals(busServer.getServerIp())) { 183 + /**
  184 + * 必须保证,修改或者增加 后的 serverName 是唯一的,即数据库中不存在
  185 + * 1、若服务器名称进行了修改
  186 + */
  187 + if (!oldBusServer.getServerName().equals(busServer.getServerName())) {
  188 + List<BusServer> serverNames = busServerService.validateServerName(busServer);
  189 + if (serverNames.size() > 0) {
  190 + return "MQ服务器名称已存在";
  191 + }
  192 + }
  193 + /**
  194 + * 2、若服务器名称没有修改
  195 + * 如果修改后的 ServerIp以及ServerPort(同时),和原来的 ServerIp以及ServerPort(同时) 不一致,(有一个不一致,即可)
  196 + * 则校验 该 ServerIp以及ServerPort(同时) 是否已存在
  197 + */
  198 + if (
  199 + !oldBusServer.getServerPort().equals(busServer.getServerPort()) ||
  200 + !oldBusServer.getServerIp().equals(busServer.getServerIp())) {
174 201
175 // 根据 ServerIp以及ServerPort(同时),进行查询校验 202 // 根据 ServerIp以及ServerPort(同时),进行查询校验
176 List<BusServer> info = busServerService.validateBusServer(busServer); 203 List<BusServer> info = busServerService.validateBusServer(busServer);
177 - // 多于0个,则代表已存在;否则则是,校验通过 204 + // 多于0个,则代表已存在;等于0个,校验通过
178 if (info.size() > 0) { 205 if (info.size() > 0) {
179 return "该-MQ服务器(ServerIp以及ServerPort)-信息已存在,请谨慎输入"; 206 return "该-MQ服务器(ServerIp以及ServerPort)-信息已存在,请谨慎输入";
180 } 207 }
@@ -185,6 +212,11 @@ public class BusServerController { @@ -185,6 +212,11 @@ public class BusServerController {
185 } 212 }
186 // 如果id为空,则是 insert 操作 213 // 如果id为空,则是 insert 操作
187 else { 214 else {
  215 + // 必须保证,修改或者增加 后的 serverName 是唯一的,即数据库中不存在
  216 + List<BusServer> serverNames = busServerService.validateServerName(busServer);
  217 + if (serverNames.size() > 0) {
  218 + return "MQ服务器名称已存在";
  219 + }
188 // 根据 ServerIp以及ServerPort(同时),进行查询校验 220 // 根据 ServerIp以及ServerPort(同时),进行查询校验
189 List<BusServer> info = busServerService.validateBusServer(busServer); 221 List<BusServer> info = busServerService.validateBusServer(busServer);
190 // 多于0个,则代表已存在;否则则是,校验通过 222 // 多于0个,则代表已存在;否则则是,校验通过
@@ -70,6 +70,14 @@ public interface BusServerMapper { @@ -70,6 +70,14 @@ public interface BusServerMapper {
70 int updateByPrimaryKey(BusServer record); 70 int updateByPrimaryKey(BusServer record);
71 71
72 /** 72 /**
  73 + * 先校验该服务器名称是否存在
  74 + *
  75 + * @param busServer {@link BusServer}
  76 + * @return List<BusServer>
  77 + */
  78 + List<BusServer> validateServerName(BusServer busServer);
  79 +
  80 + /**
73 * 校验该服务器信息是否存在 81 * 校验该服务器信息是否存在
74 * 82 *
75 * @param busServer {@link BusServer} 83 * @param busServer {@link BusServer}
@@ -71,6 +71,14 @@ public interface BusServerService { @@ -71,6 +71,14 @@ public interface BusServerService {
71 PageInfo selectBusServerList(BusServer busServer, Integer pageNum, Integer pageSize); 71 PageInfo selectBusServerList(BusServer busServer, Integer pageNum, Integer pageSize);
72 72
73 /** 73 /**
  74 + * 先校验该服务器名称是否存在
  75 + *
  76 + * @param busServer {@link BusServer}
  77 + * @return List<BusServer>
  78 + */
  79 + List<BusServer> validateServerName(BusServer busServer);
  80 +
  81 + /**
74 * 校验该服务器信息是否存在 82 * 校验该服务器信息是否存在
75 * 83 *
76 * @param busServer {@link BusServer} 84 * @param busServer {@link BusServer}
@@ -100,4 +108,6 @@ public interface BusServerService { @@ -100,4 +108,6 @@ public interface BusServerService {
100 * @return List<BusServer> 108 * @return List<BusServer>
101 */ 109 */
102 List<BusServer> getServerAndHostAndExchangeList(); 110 List<BusServer> getServerAndHostAndExchangeList();
  111 +
  112 +
103 } 113 }
@@ -33,6 +33,11 @@ public class BusServerServiceImpl implements BusServerService { @@ -33,6 +33,11 @@ public class BusServerServiceImpl implements BusServerService {
33 return pageInfo; 33 return pageInfo;
34 } 34 }
35 35
  36 + @Override
  37 + public List<BusServer> validateServerName(BusServer busServer) {
  38 + return busServerMapper.validateServerName(busServer);
  39 + }
  40 +
36 41
37 @Override 42 @Override
38 @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED) 43 @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
@@ -88,7 +88,20 @@ @@ -88,7 +88,20 @@
88 </where> 88 </where>
89 </select> 89 </select>
90 90
91 - <!-- 校验服务器信息是否存在 --> 91 + <!-- 首先。校验服务器名称,是否存在 -->
  92 + <select id="validateServerName" parameterType="com.sunyo.wlpt.message.bus.service.domain.BusServer"
  93 + resultMap="BaseResultMap">
  94 + select
  95 + <include refid="Base_Column_List"/>
  96 + from bus_server
  97 + <where>
  98 + <!-- 服务器名称 -->
  99 + <if test="serverName != null and serverName !=''">
  100 + server_name = #{serverName,jdbcType=VARCHAR}
  101 + </if>
  102 + </where>
  103 + </select>
  104 + <!-- 再校验服务器信息(服务器的ip,服务器的port)是否同时存在 -->
92 <select id="validateBusServer" parameterType="com.sunyo.wlpt.message.bus.service.domain.BusServer" 105 <select id="validateBusServer" parameterType="com.sunyo.wlpt.message.bus.service.domain.BusServer"
93 resultMap="BaseResultMap"> 106 resultMap="BaseResultMap">
94 select 107 select