generated from root/miduo_server
添加迁服功能页签
parent
ff527f4e5b
commit
fde633bd58
|
|
@ -205,6 +205,39 @@ public class ServerInfoController {
|
|||
return 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除服务器
|
||||
* @param request
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping(value = "/transferServer", method = {RequestMethod.POST, RequestMethod.GET})
|
||||
public @ResponseBody
|
||||
int transferServer(HttpServletRequest request) throws Exception {
|
||||
boolean power = commonManager.verifyPower(request, PowersEnum.TRANSFER_SERVER_PERMISSIONS);
|
||||
if (!power){
|
||||
return 0;
|
||||
}
|
||||
int serverId = Integer.parseInt(request.getParameter("serverId"));
|
||||
String ip = request.getParameter("ip");
|
||||
int port = Integer.parseInt(request.getParameter("port"));
|
||||
int coreNum = Integer.parseInt(request.getParameter("coreName"));
|
||||
int count = Integer.parseInt(request.getParameter("count"));
|
||||
|
||||
Map<String, ServerInfo> serverMap = serverInfoDao.getAllServerMap();
|
||||
for (int i = 0; i < count; i++) {
|
||||
ServerInfo info = serverMap.get(String.valueOf(serverId+i));
|
||||
if (info == null){
|
||||
continue;
|
||||
}
|
||||
info.setIp(ip);
|
||||
info.setPort(String.valueOf(port+i));
|
||||
info.setCoreName("core"+(coreNum+i));
|
||||
serverInfoDao.updateServerInfo(info);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改服务器信息
|
||||
* @param serverInfo
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ import org.springframework.data.mongodb.core.query.Update;
|
|||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
|
@ -38,7 +39,11 @@ public class ServerInfoDaoImpl implements ServerInfoDao {
|
|||
MongoTemplate mongoTemplate = connect.getMongoTemplete(dbName);
|
||||
Query query = new Query();
|
||||
List<ServerInfo> serverInfos = mongoTemplate.find(query, ServerInfo.class);
|
||||
return serverInfos.stream().collect(Collectors.toMap(ServerInfo::getServer_id, v -> v));
|
||||
HashMap<String, ServerInfo> map = new HashMap<>();
|
||||
for (ServerInfo info : serverInfos) {
|
||||
map.put(info.getServer_id(),info);
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ public enum PowersEnum {
|
|||
AUTO_START_SERVER(205,"自动开服配置",200,1,"autoStartServerSetting"),
|
||||
AUTO_START_SERVER_PERMISSIONS(206,"权限:自动开服配置",200,0,""),
|
||||
DELETE_SERVER_PERMISSIONS(207,"权限:删除服务器",200,0,""),
|
||||
TRANSFER_SERVER_PERMISSIONS(208,"迁服",200,1,"/html/transferServer.html"),
|
||||
|
||||
// 序列号管理300-399
|
||||
SERIAL_NUMBER_MANAGER(300,"序列号管理",300,1,""),
|
||||
|
|
|
|||
|
|
@ -0,0 +1,155 @@
|
|||
<!--_meta 作为公共模版分离出去-->
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8"/>
|
||||
<meta name="renderer" content="webkit|ie-comp|ie-stand"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
|
||||
<meta name="viewport"
|
||||
content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
|
||||
<meta http-equiv="Cache-Control" content="no-siteapp"/>
|
||||
<link rel="Bookmark" href="../favicon.ico"/>
|
||||
<link rel="Shortcut Icon" href="../favicon.ico"/>
|
||||
<!--[if lt IE 9]>
|
||||
<script type="text/javascript" src="../lib/html5shiv.js"></script>
|
||||
<script type="text/javascript" src="../lib/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
<link rel="stylesheet" type="text/css" href="../h-ui/css/H-ui.min.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="../h-ui.admin/css/H-ui.admin.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="../lib/Hui-iconfont/1.0.8/iconfont.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="../h-ui.admin/skin/default/skin.css" id="skin"/>
|
||||
<link rel="stylesheet" type="text/css" href="../h-ui.admin/css/style.css"/>
|
||||
<!--[if IE 6]>
|
||||
<script type="text/javascript" src="../lib/DD_belatedPNG_0.0.8a-min.js"></script>
|
||||
<script>DD_belatedPNG.fix('*');</script>
|
||||
<![endif]-->
|
||||
<!--/meta 作为公共模版分离出去-->
|
||||
|
||||
<title>基本设置</title>
|
||||
</head>
|
||||
<body>
|
||||
<nav class="breadcrumb"><i class="Hui-iconfont"></i> 首页
|
||||
<span class="c-gray en">></span>
|
||||
服务器管理
|
||||
<span class="c-gray en">></span>
|
||||
迁服使用
|
||||
</nav>
|
||||
<div class="page-container">
|
||||
<form class="form form-horizontal" id="form-article-add" action="http://60.1.1.212:9076/idip/manager" method="post">
|
||||
<div id="tab-system" class="HuiTab">
|
||||
<div class="tabBar cl">
|
||||
<span>迁服</span>
|
||||
</div>
|
||||
<div class="tabCon">
|
||||
|
||||
<div class="row cl">
|
||||
<label class="form-label col-xs-4 col-sm-2">
|
||||
<span class="c-red">*</span> serverId:</label>
|
||||
<div class="formControls col-xs-8 col-sm-9">
|
||||
<input type="number" name="serverId" style="width: 200px;" class="input-text"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row cl">
|
||||
<label class="form-label col-xs-4 col-sm-2">
|
||||
<span class="c-red">*</span> ip:</label>
|
||||
<div class="formControls col-xs-8 col-sm-9">
|
||||
<input type="text" name="ip" style="width: 200px;" class="input-text"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row cl">
|
||||
<label class="form-label col-xs-4 col-sm-2">
|
||||
<span class="c-red">*</span> port:</label>
|
||||
<div class="formControls col-xs-8 col-sm-9">
|
||||
<input type="number" name="port" style="width: 200px;" class="input-text"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row cl">
|
||||
<label class="form-label col-xs-4 col-sm-2">
|
||||
<span class="c-red">*</span> core:</label>
|
||||
<div class="formControls col-xs-8 col-sm-9">
|
||||
<input type="number" name="coreName" style="width: 200px;" class="input-text"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row cl">
|
||||
<label class="form-label col-xs-4 col-sm-2">
|
||||
<span class="c-red">*</span>数量:</label>
|
||||
<div class="formControls col-xs-8 col-sm-9">
|
||||
<input type="number" name="count" style="width: 200px;" value="0" class="input-text"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="row cl">
|
||||
<div class="col-xs-8 col-sm-9 col-xs-offset-4 col-sm-offset-2">
|
||||
<button onClick="return transferServer();" class="btn btn-primary radius" type="button"><i
|
||||
class="Hui-iconfont"></i> 开始
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
|
||||
<!--_footer 作为公共模版分离出去-->
|
||||
<script type="text/javascript" src="../lib/jquery/1.9.1/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="../lib/layer/2.4/layer.js"></script>
|
||||
<script type="text/javascript" src="../h-ui/js/H-ui.min.js"></script>
|
||||
<script type="text/javascript" src="../h-ui.admin/js/H-ui.admin.js"></script> <!--/_footer 作为公共模版分离出去-->
|
||||
|
||||
<!--请在下方写此页面业务相关的脚本-->
|
||||
<script type="text/javascript" src="../lib/My97DatePicker/4.8/WdatePicker.js"></script>
|
||||
<script type="text/javascript" src="../lib/jquery.validation/1.14.0/jquery.validate.js"></script>
|
||||
<script type="text/javascript" src="../lib/jquery.validation/1.14.0/validate-methods.js"></script>
|
||||
<script type="text/javascript" src="../lib/jquery.validation/1.14.0/messages_zh.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
$('.skin-minimal input').iCheck({
|
||||
checkboxClass: 'icheckbox-blue',
|
||||
radioClass: 'iradio-blue',
|
||||
increaseArea: '20%'
|
||||
});
|
||||
$("#tab-system").Huitab({
|
||||
index: 0
|
||||
});
|
||||
});
|
||||
|
||||
function transferServer() {
|
||||
var serverId = $("input[name='serverId']").val();
|
||||
var ip = $("input[name='ip']").val();
|
||||
var port = $("input[name='port']").val();
|
||||
var coreName = $("input[name='coreName']").val();
|
||||
var count = $("input[name='count']").val();
|
||||
|
||||
var reg = new RegExp(/[\s\S]/i);
|
||||
if (!reg.test(serverId)||!reg.test(ip)||!reg.test(port)||!reg.test(coreName)||!reg.test(count)){
|
||||
alert("参数不能为空,或者特殊字符");
|
||||
return false;
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
data:{
|
||||
"serverId":serverId,
|
||||
"ip": ip,
|
||||
"port": port,
|
||||
"coreName":coreName,
|
||||
"count":count
|
||||
},
|
||||
url: "/transferServer",
|
||||
success: function (data) {
|
||||
if (data === 1) {
|
||||
layer.msg('成功!', {icon: 6, time: 1000});
|
||||
}
|
||||
if (data === 0) {
|
||||
layer.msg('失败!', {icon: 6, time: 1000});
|
||||
}
|
||||
}
|
||||
}
|
||||
)
|
||||
|
||||
}
|
||||
</script>
|
||||
<!--/请在上方写此页面业务相关的脚本-->
|
||||
</body>
|
||||
</html>
|
||||
Loading…
Reference in New Issue