Merge branch 'master_test_gn' into master_test_gn_zf
commit
398b6b446c
|
@ -62,25 +62,42 @@ public class UserManager {
|
|||
|
||||
//离线清除逻辑
|
||||
public static void checkOffline(){
|
||||
// try {
|
||||
// Set<User> collect = userMap.entrySet().stream().filter(integerUserEntry -> !OnlineUserManager.checkUidOnline(integerUserEntry.getKey())).map(Map.Entry::getValue).collect(Collectors.toSet());
|
||||
// if (OnlineUserManager.sessionMap.entrySet().isEmpty() && ChampionshipLogic.getProgress() == -1) {
|
||||
// userMap.clear();
|
||||
// userMapPutTime.clear();
|
||||
// LOGGER.info("checkOffline no online clear all {}", userMap.keySet().size());
|
||||
// return;
|
||||
// }
|
||||
// long now = System.currentTimeMillis();
|
||||
// for (User integerUserEntry : collect) {
|
||||
// Long addTime = userMapPutTime.getOrDefault(integerUserEntry.getId(), LIVE_TIME);
|
||||
// if (now - addTime >= LIVE_TIME) {
|
||||
// userMap.remove(integerUserEntry.getId());
|
||||
// userMapPutTime.remove(integerUserEntry.getId());
|
||||
// }
|
||||
// }
|
||||
// LOGGER.info("checkOffline left count={}", userMap.keySet().size());
|
||||
// }catch (Exception e){
|
||||
// LOGGER.error("Exception离线清除逻辑err={}",e.toString());
|
||||
// }
|
||||
try {
|
||||
Set<User> collect = userMap.entrySet().stream().filter(integerUserEntry -> !OnlineUserManager.checkUidOnline(integerUserEntry.getKey())).map(Map.Entry::getValue).collect(Collectors.toSet());
|
||||
if (OnlineUserManager.sessionMap.entrySet().isEmpty() && ChampionshipLogic.getProgress() == -1) {
|
||||
userMap.clear();
|
||||
userMapPutTime.clear();
|
||||
LOGGER.info("checkOffline no online clear all {}", userMap.keySet().size());
|
||||
return;
|
||||
}
|
||||
long now = System.currentTimeMillis();
|
||||
for (User integerUserEntry : collect) {
|
||||
Long addTime = userMapPutTime.getOrDefault(integerUserEntry.getId(), LIVE_TIME);
|
||||
if (now - addTime >= LIVE_TIME) {
|
||||
long l = System.currentTimeMillis();
|
||||
collect.forEach(integerUserEntry -> {
|
||||
long offLineTime = integerUserEntry.getPlayerInfoManager().getOffLineTime();
|
||||
if (offLineTime < integerUserEntry.getPlayerInfoManager().getOnlineTime()) {
|
||||
return;
|
||||
}
|
||||
if (l - offLineTime > 12 * 60 * 60 * 1000 && userMapPutTime.getOrDefault(integerUserEntry.getId(), 0L) > 12 * 60 * 60 * 1000) {
|
||||
userMap.remove(integerUserEntry.getId());
|
||||
userMapPutTime.remove(integerUserEntry.getId());
|
||||
}
|
||||
}
|
||||
});
|
||||
LOGGER.info("checkOffline left count={}", userMap.keySet().size());
|
||||
}catch (Exception e){
|
||||
LOGGER.error("Exception离线清除逻辑err={}",e.toString());
|
||||
} catch (Exception e) {
|
||||
LOGGER.error("Exception离线清除逻辑err={}", e.toString());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue