跨服分组逻辑优化

back_recharge
duhui 2022-07-13 16:45:38 +08:00
parent c41de97b94
commit 180120f93c
2 changed files with 12 additions and 3 deletions

View File

@ -333,9 +333,11 @@ public class RedisKey {
public static final String SERVER_LEVEL_RANK = "SERVER_LEVEL_RANK";
public static final String SERVER_SPLIT_INFO = "SERVER_SPLIT_INFO";
public static final String SERVER_SPLIT_INFO = "SERVER_SPLIT_INFO";// 游戏服跨服分组id缓存
public static final String CROSS_SERVER_GROUP = "CROSS_SERVER_GROUP";
public static final String SERVER_STATE = "SERVER_STATE";// 服务器状态缓存
public static final String CROSS_SERVER_GROUP = "CROSS_SERVER_GROUP";// gm跨服分组id缓存
public static final String SERVER_SPLIT_MAIL_INFO = "SERVER_SPLIT_MAIL_INFO";

View File

@ -336,10 +336,17 @@ public class GlobleSystemLogic implements IEventHandler {
*/
public List<String> getCrossServersByGroup(){
int group = getCrossGroup();
// 跨服分组id
Map<String, Integer> values = RedisUtil.getInstence().getMapValues(RedisKey.SERVER_SPLIT_INFO, "", String.class, Integer.class);
// 服务器状态
Map<String, String> serverStates = RedisUtil.getInstence().getMapValues(RedisKey.SERVER_STATE, "", String.class, String.class);
ArrayList<String> list = new ArrayList<>();
for (Map.Entry<String, Integer> entry : values.entrySet()) {
if (entry.getValue() == group){
// 获取服务器状态
String serverStatesOrDefault = serverStates.getOrDefault(entry.getValue(), "-2");
// "-2"表示未运营,此类服务器不参与分组
if (entry.getValue() == group && !"-2".equals(serverStatesOrDefault)){
list.add(entry.getKey());
}
}