商店try catch

back_recharge
lvxinran 2020-11-04 09:34:50 +08:00
parent ebc1382f72
commit 93fae4842a
1 changed files with 77 additions and 71 deletions

View File

@ -57,89 +57,95 @@ public class StoreLogic implements IEventHandler {
StoreLogic.getInstance(); StoreLogic.getInstance();
} }
public static void checkGlobalStore(boolean isStartServer) throws Exception { public static void checkGlobalStore(boolean isStartServer) {
Calendar calendar = Calendar.getInstance(); Calendar calendar = Calendar.getInstance();
long now = calendar.getTimeInMillis(); long now = calendar.getTimeInMillis();
for(SStoreTypeConfig sStoreTypeConfig : SStoreTypeConfig.getsStoreTypeConfigMap().values()){ try {
if(sStoreTypeConfig.getStoreOpenRule() == 3){
long startTime = ToolsUtil.getTimeLong(sStoreTypeConfig.getStartTimeLong(), sStoreTypeConfig.getEndTimeLong(),ActivityType.OPEN_TYPE_TIME,0, 1);
long endTime = ToolsUtil.getTimeLong(sStoreTypeConfig.getStartTimeLong(),sStoreTypeConfig.getEndTimeLong(), ActivityType.OPEN_TYPE_TIME,0, 2);
if(startTime!=0 && endTime!=0 && now > startTime && now<endTime && !openStoreInfo.contains(sStoreTypeConfig.getId())){
for(ISession session : OnlineUserManager.sessionMap.values()){
if(session.getFiveReady() == 1){
try {
updateUsersStoreAyync(UserManager.getUser(session.getUid()),user1 -> {
initOneStore(user1,sStoreTypeConfig.getId());
MongoUtil.getInstence().lastUpdate();
});
}catch (Exception e){
LOGGER.error("Exception::=>{}",e.toString());
}
} for (SStoreTypeConfig sStoreTypeConfig : SStoreTypeConfig.getsStoreTypeConfigMap().values()) {
} if (sStoreTypeConfig.getStoreOpenRule() == 3) {
if(isStartServer){ long startTime = ToolsUtil.getTimeLong(sStoreTypeConfig.getStartTimeLong(), sStoreTypeConfig.getEndTimeLong(), ActivityType.OPEN_TYPE_TIME, 0, 1);
openStoreInfo.add(sStoreTypeConfig.getId()); long endTime = ToolsUtil.getTimeLong(sStoreTypeConfig.getStartTimeLong(), sStoreTypeConfig.getEndTimeLong(), ActivityType.OPEN_TYPE_TIME, 0, 2);
} if (startTime != 0 && endTime != 0 && now > startTime && now < endTime && !openStoreInfo.contains(sStoreTypeConfig.getId())) {
} for (ISession session : OnlineUserManager.sessionMap.values()) {
}else if(sStoreTypeConfig.getStoreOpenRule() == 6 ){ if (session.getFiveReady() == 1) {
for(ISession session : OnlineUserManager.sessionMap.values()){ try {
if(session.getFiveReady() == 1){ updateUsersStoreAyync(UserManager.getUser(session.getUid()), user1 -> {
User user = UserManager.getUser(session.getUid()); initOneStore(user1, sStoreTypeConfig.getId());
if(user==null){ MongoUtil.getInstence().lastUpdate();
LOGGER.info("user null removeid=>{}",session.getUid()); });
OnlineUserManager.userOffline(session.getUid()); } catch (Exception e) {
continue; LOGGER.error("Exception::=>{}", e.toString());
}
}
} }
long userCreateTime = user.getPlayerInfoManager().getCreateTime(); if (isStartServer) {
long startTime = ToolsUtil.getTimeLong(sStoreTypeConfig.getStartTimeLong(), sStoreTypeConfig.getEndTimeLong(),ActivityType.OPEN_TYPE_ROLE,userCreateTime, 1); openStoreInfo.add(sStoreTypeConfig.getId());
long endTime = ToolsUtil.getTimeLong(sStoreTypeConfig.getStartTimeLong(),sStoreTypeConfig.getEndTimeLong(), ActivityType.OPEN_TYPE_ROLE,userCreateTime, 2);
if (now < startTime || now>endTime) {
continue;
}
if(!user.getStoreManager().getStoreInfoMap().containsKey(sStoreTypeConfig.getId())){
updateUsersStoreAyync(UserManager.getUser(session.getUid()),user1 -> {
initOneStore(user1,sStoreTypeConfig.getId());
MongoUtil.getInstence().lastUpdate();
});
} }
} }
} } else if (sStoreTypeConfig.getStoreOpenRule() == 6) {
}else if(sStoreTypeConfig.getStoreOpenRule() == 7){ for (ISession session : OnlineUserManager.sessionMap.values()) {
long startTime = ToolsUtil.getTimeLong(sStoreTypeConfig.getStartTimeLong(), sStoreTypeConfig.getEndTimeLong(),ActivityType.OPEN_TYPE_ROLE,0, 1); if (session.getFiveReady() == 1) {
long endTime = ToolsUtil.getTimeLong(sStoreTypeConfig.getStartTimeLong(),sStoreTypeConfig.getEndTimeLong(), ActivityType.OPEN_TYPE_ROLE,0, 2); User user = UserManager.getUser(session.getUid(), true);
if (now < startTime || now>endTime) { if (user == null) {
continue; LOGGER.info("user null removeid=>{}", session.getUid());
} OnlineUserManager.userOffline(session.getUid());
for(ISession session : OnlineUserManager.sessionMap.values()){ continue;
if(session.getFiveReady() == 1){ }
User user = UserManager.getUser(session.getUid()); long userCreateTime = user.getPlayerInfoManager().getCreateTime();
if(user==null){ long startTime = ToolsUtil.getTimeLong(sStoreTypeConfig.getStartTimeLong(), sStoreTypeConfig.getEndTimeLong(), ActivityType.OPEN_TYPE_ROLE, userCreateTime, 1);
LOGGER.info("user null removeid=>{}",session.getUid()); long endTime = ToolsUtil.getTimeLong(sStoreTypeConfig.getStartTimeLong(), sStoreTypeConfig.getEndTimeLong(), ActivityType.OPEN_TYPE_ROLE, userCreateTime, 2);
OnlineUserManager.userOffline(session.getUid()); if (now < startTime || now > endTime) {
continue; continue;
}
if (!user.getStoreManager().getStoreInfoMap().containsKey(sStoreTypeConfig.getId())) {
updateUsersStoreAyync(UserManager.getUser(session.getUid()), user1 -> {
initOneStore(user1, sStoreTypeConfig.getId());
MongoUtil.getInstence().lastUpdate();
});
}
} }
if(!user.getStoreManager().getStoreInfoMap().containsKey(sStoreTypeConfig.getId())){
updateUsersStoreAyync(UserManager.getUser(session.getUid()),user1 -> {
initOneStore(user1,sStoreTypeConfig.getId());
MongoUtil.getInstence().lastUpdate();
});
}
} }
} } else if (sStoreTypeConfig.getStoreOpenRule() == 7) {
} long startTime = ToolsUtil.getTimeLong(sStoreTypeConfig.getStartTimeLong(), sStoreTypeConfig.getEndTimeLong(), ActivityType.OPEN_TYPE_ROLE, 0, 1);
long endTime = ToolsUtil.getTimeLong(sStoreTypeConfig.getStartTimeLong(), sStoreTypeConfig.getEndTimeLong(), ActivityType.OPEN_TYPE_ROLE, 0, 2);
if(sStoreTypeConfig.getRefreshType()[0]==2&& calendar.get(Calendar.MINUTE) ==0){ if (now < startTime || now > endTime) {
for(int i = 1;i<sStoreTypeConfig.getRefreshType().length;i++){
if(sStoreTypeConfig.getRefreshType()[i]!=calendar.get(Calendar.HOUR_OF_DAY)){
continue; continue;
} }
sendRefreshIndication(sStoreTypeConfig,now); for (ISession session : OnlineUserManager.sessionMap.values()) {
break ; if (session.getFiveReady() == 1) {
User user = UserManager.getUser(session.getUid(), true);
if (user == null) {
LOGGER.info("user null removeid=>{}", session.getUid());
OnlineUserManager.userOffline(session.getUid());
continue;
}
if (!user.getStoreManager().getStoreInfoMap().containsKey(sStoreTypeConfig.getId())) {
updateUsersStoreAyync(UserManager.getUser(session.getUid()), user1 -> {
initOneStore(user1, sStoreTypeConfig.getId());
MongoUtil.getInstence().lastUpdate();
});
}
}
}
}
if (sStoreTypeConfig.getRefreshType()[0] == 2 && calendar.get(Calendar.MINUTE) == 0) {
for (int i = 1; i < sStoreTypeConfig.getRefreshType().length; i++) {
if (sStoreTypeConfig.getRefreshType()[i] != calendar.get(Calendar.HOUR_OF_DAY)) {
continue;
}
sendRefreshIndication(sStoreTypeConfig, now);
break;
}
} }
} }
}catch (Exception e){
LOGGER.error(e.getMessage());
e.printStackTrace();
} }
} }