跨服分组逻辑优化
parent
c41de97b94
commit
180120f93c
|
@ -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";
|
||||
|
||||
|
|
|
@ -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());
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue