diff --git a/src/main/java/com/jmfy/controller/ServerInfoController.java b/src/main/java/com/jmfy/controller/ServerInfoController.java index 5f2ae65..ce17f3b 100644 --- a/src/main/java/com/jmfy/controller/ServerInfoController.java +++ b/src/main/java/com/jmfy/controller/ServerInfoController.java @@ -332,11 +332,39 @@ public class ServerInfoController { @RequestMapping(value = "/addServer", method = {RequestMethod.POST, RequestMethod.GET}) public @ResponseBody int addServer(@RequestBody ServerInfo serverInfo) throws Exception { - ServerInfo info = serverInfoDao.getServerinfo(serverInfo.getServer_id()); - if (info != null){ - return 0; + Map serverMap = serverInfoDao.getAllServerMap(); + int count = serverInfo.getCount(); + if (count > 0){ + // 需要修改的参数 + int serverId = Integer.parseInt(serverInfo.getServer_id()); + // name模板,太初%d服 + String named = serverInfo.getName().split("#")[0]; + // name数值,23 + int nameNum = Integer.parseInt(serverInfo.getName().split("#")[1]); + int port = Integer.parseInt(serverInfo.getPort()); + int coreNum = Integer.parseInt(serverInfo.getCoreName()); + for (int i = 0; i < count; i++) { + int i1 = serverId + i; + if (serverMap.get(String.valueOf(i1)) != null){ + LOGGER.error("批量添加服务器,出现重复id:{}",i1); + continue; + } + // 重新赋值 + serverInfo.set_id(i1); + serverInfo.setServer_id(String.valueOf(i1)); + String name = named.replace("%d", String.valueOf(nameNum + i)); + serverInfo.setName(name); + serverInfo.setPort(String.valueOf(port+i)); + serverInfo.setCoreName("core"+(coreNum+i)); + serverInfoDao.addServerInfo(serverInfo); + } + }else { + ServerInfo info = serverMap.get(serverInfo.getServer_id()); + if (info != null){ + return 0; + } + serverInfoDao.addServerInfo(serverInfo); } - serverInfoDao.addServerInfo(serverInfo); return 1; } diff --git a/src/main/java/com/jmfy/model/ServerInfo.java b/src/main/java/com/jmfy/model/ServerInfo.java index 8330e00..c7b814c 100644 --- a/src/main/java/com/jmfy/model/ServerInfo.java +++ b/src/main/java/com/jmfy/model/ServerInfo.java @@ -1,6 +1,7 @@ package com.jmfy.model; import org.springframework.data.annotation.Id; +import org.springframework.data.annotation.Transient; import org.springframework.data.mongodb.core.index.Indexed; import org.springframework.data.mongodb.core.mapping.Document; import org.springframework.data.mongodb.core.mapping.Field; @@ -76,6 +77,12 @@ public class ServerInfo implements Comparable,Cloneable { @Field(value = "open_time") private String open_time; + /** + * 不入库,批量添加服务器时使用 + */ + @Transient + private int count; + public ServerInfo(int _id, String name) { this._id = _id; this.server_id = String.valueOf(_id); @@ -209,6 +216,14 @@ public class ServerInfo implements Comparable,Cloneable { this.open_time = open_time; } + public int getCount() { + return count; + } + + public void setCount(int count) { + this.count = count; + } + @Override public String toString() { return "ServerInfo{" + diff --git a/src/main/resources/static/html/addServer.html b/src/main/resources/static/html/addServer.html index 4611c0c..5a54f76 100644 --- a/src/main/resources/static/html/addServer.html +++ b/src/main/resources/static/html/addServer.html @@ -37,54 +37,60 @@
-
+
创建服务器
- +
- +
- +
- +
-
+ +
+
- +
@@ -143,15 +149,6 @@
-
- -
- -
-
-
+
+ +
+ +
+
+
@@ -223,6 +229,7 @@ var coreName = $("input[name='coreName']").val(); var server_version = $("input[name='server_version']").val(); var isWhite = $("input[name='isWhite']").val(); + var count = $("input[name='count']").val(); var reg = new RegExp(/[\s\S]/i); if (!reg.test(server_id) || !reg.test(_id) || !reg.test(name) || !reg.test(ip) || @@ -252,7 +259,8 @@ "server_version":server_version, "isWhite":isWhite, "open_time":"0", - "open_type":"0" + "open_type":"0", + "count":count }), url: "/addServer", dataType: "json",