作者 王勇

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

... ... @@ -105,6 +105,11 @@ public class BusServerController {
public ResultJson updateBusServer(@RequestBody BusServer busServer) {
//先验证,修改好的核心信息(ip和port,同时存在)是否已存在
String message = validateBusServer(busServer);
// 判断服务器名称是否已存在
String existName = "MQ服务器名称已存在";
if (existName.equals(message)) {
return new ResultJson("402", "MQ服务器名称已存在");
}
//验证通过
if (message == null) {
ResultJson result = new ResultJson<>();
... ... @@ -131,6 +136,11 @@ public class BusServerController {
public ResultJson insertBusServer(@RequestBody BusServer busServer) {
//先验证,增加的服务器的核心信息(ip和port,同时存在)是否已存在
String message = validateBusServer(busServer);
// 判断服务器名称是否已存在
String existName = "MQ服务器名称已存在";
if (existName.equals(message)) {
return new ResultJson("402", "MQ服务器名称已存在");
}
//验证通过
if (message == null) {
ResultJson result = new ResultJson<>();
... ... @@ -156,6 +166,9 @@ public class BusServerController {
* @return 通过,无返回消息
*/
private String validateBusServer(BusServer busServer) {
if ("".equals(busServer.getServerName()) || busServer.getServerName() == null) {
return "该服务器信息中,没有服务器名称";
}
if ("".equals(busServer.getServerIp()) || busServer.getServerIp() == null) {
return "该服务器信息中,没有服务器IP";
}
... ... @@ -167,14 +180,28 @@ public class BusServerController {
if (busServer.getId() != null && busServer.getId().length() != 0) {
// 根据 id 查询出原来的 MQ服务器 信息
BusServer oldBusServer = busServerService.selectByPrimaryKey(busServer.getId());
// 如果修改后的 ServerIp以及ServerPort(同时),和原来的 ServerIp以及ServerPort(同时) 不一致,(有一个不一致,即可)
// 则校验 该 ServerIp以及ServerPort(同时) 是否已存在
if (!oldBusServer.getServerPort().equals(busServer.getServerPort()) ||
/**
* 必须保证,修改或者增加 后的 serverName 是唯一的,即数据库中不存在
* 1、若服务器名称进行了修改
*/
if (!oldBusServer.getServerName().equals(busServer.getServerName())) {
List<BusServer> serverNames = busServerService.validateServerName(busServer);
if (serverNames.size() > 0) {
return "MQ服务器名称已存在";
}
}
/**
* 2、若服务器名称没有修改
* 如果修改后的 ServerIp以及ServerPort(同时),和原来的 ServerIp以及ServerPort(同时) 不一致,(有一个不一致,即可)
* 则校验 该 ServerIp以及ServerPort(同时) 是否已存在
*/
if (
!oldBusServer.getServerPort().equals(busServer.getServerPort()) ||
!oldBusServer.getServerIp().equals(busServer.getServerIp())) {
// 根据 ServerIp以及ServerPort(同时),进行查询校验
List<BusServer> info = busServerService.validateBusServer(busServer);
// 多于0个,则代表已存在;否则则是,校验通过
// 多于0个,则代表已存在;等于0个,校验通过
if (info.size() > 0) {
return "该-MQ服务器(ServerIp以及ServerPort)-信息已存在,请谨慎输入";
}
... ... @@ -185,6 +212,11 @@ public class BusServerController {
}
// 如果id为空,则是 insert 操作
else {
// 必须保证,修改或者增加 后的 serverName 是唯一的,即数据库中不存在
List<BusServer> serverNames = busServerService.validateServerName(busServer);
if (serverNames.size() > 0) {
return "MQ服务器名称已存在";
}
// 根据 ServerIp以及ServerPort(同时),进行查询校验
List<BusServer> info = busServerService.validateBusServer(busServer);
// 多于0个,则代表已存在;否则则是,校验通过
... ...
... ... @@ -70,6 +70,14 @@ public interface BusServerMapper {
int updateByPrimaryKey(BusServer record);
/**
* 先校验该服务器名称是否存在
*
* @param busServer {@link BusServer}
* @return List<BusServer>
*/
List<BusServer> validateServerName(BusServer busServer);
/**
* 校验该服务器信息是否存在
*
* @param busServer {@link BusServer}
... ...
... ... @@ -71,6 +71,14 @@ public interface BusServerService {
PageInfo selectBusServerList(BusServer busServer, Integer pageNum, Integer pageSize);
/**
* 先校验该服务器名称是否存在
*
* @param busServer {@link BusServer}
* @return List<BusServer>
*/
List<BusServer> validateServerName(BusServer busServer);
/**
* 校验该服务器信息是否存在
*
* @param busServer {@link BusServer}
... ... @@ -100,4 +108,6 @@ public interface BusServerService {
* @return List<BusServer>
*/
List<BusServer> getServerAndHostAndExchangeList();
}
... ...
... ... @@ -33,6 +33,11 @@ public class BusServerServiceImpl implements BusServerService {
return pageInfo;
}
@Override
public List<BusServer> validateServerName(BusServer busServer) {
return busServerMapper.validateServerName(busServer);
}
@Override
@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
... ...
... ... @@ -88,7 +88,20 @@
</where>
</select>
<!-- 校验服务器信息是否存在 -->
<!-- 首先。校验服务器名称,是否存在 -->
<select id="validateServerName" parameterType="com.sunyo.wlpt.message.bus.service.domain.BusServer"
resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from bus_server
<where>
<!-- 服务器名称 -->
<if test="serverName != null and serverName !=''">
server_name = #{serverName,jdbcType=VARCHAR}
</if>
</where>
</select>
<!-- 再校验服务器信息(服务器的ip,服务器的port)是否同时存在 -->
<select id="validateBusServer" parameterType="com.sunyo.wlpt.message.bus.service.domain.BusServer"
resultMap="BaseResultMap">
select
... ...