交叉加服bug解决

master
duhui 2023-01-16 16:38:08 +08:00
parent 2c90177b12
commit dbdc0f6a01
1 changed files with 8 additions and 11 deletions

View File

@ -266,9 +266,11 @@ public class ServerInfoController {
// 2.1 修改跨服信息
RedisLogic.updateGameGroupId(vo.getServer_id(),vo.getCrossGroupId());
// 2.2 修改开服时间
ServerInfoVo infoVo = createServerVo(info, 0);
if (!vo.getOpenTime().equals(infoVo.getOpenTime())){
serverInfoDao.updateOpenServerTime(vo.getServer_id(),vo.getOpenTime());
// GMHandler.sendGm(info.getServer_id(),"reloadserverconfig");
autoServerManager.rebootServer(info.getServer_id());
}
}else {
RedisLogic.updateGmGroupId(vo.getServer_id(),vo.getCrossGroupId());
}
@ -449,7 +451,8 @@ public class ServerInfoController {
int cross = vo.getCross();
int crossValue = 0;
for (int i = 0; i < count; i++) {
int id = serverId + i;
// id和name随id变化
int id = cross==1?serverId + crossValue:serverId + i;
if (serverMap.get(String.valueOf(id)) != null){
LOGGER.error("批量添加服务器出现重复id:{}",id);
continue;
@ -458,15 +461,9 @@ public class ServerInfoController {
vo.setPort(String.valueOf(port+i));
vo.setCoreName("core"+(coreNum+i));
// id和name随id变化
int i2 = i;
if (cross == 1){
id = serverId + crossValue;
i2 = crossValue;
}
vo.set_id(id);
vo.setServer_id(String.valueOf(id));
String name = named.replace("%d", String.valueOf(nameNum + i2));
String name = named.replace("%d", String.valueOf(nameNum + crossValue));
vo.setName(name);
crossValue+=2;