diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/StoreLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/StoreLogic.java index 2dd1663fd..11c4ae221 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/StoreLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/StoreLogic.java @@ -57,89 +57,95 @@ public class StoreLogic implements IEventHandler { StoreLogic.getInstance(); } - public static void checkGlobalStore(boolean isStartServer) throws Exception { + public static void checkGlobalStore(boolean isStartServer) { Calendar calendar = Calendar.getInstance(); long now = calendar.getTimeInMillis(); - for(SStoreTypeConfig sStoreTypeConfig : SStoreTypeConfig.getsStoreTypeConfigMap().values()){ - 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 { - initOneStore(user1,sStoreTypeConfig.getId()); - MongoUtil.getInstence().lastUpdate(); - }); - }catch (Exception e){ - LOGGER.error("Exception::=>{}",e.toString()); - } + try { - } - } - if(isStartServer){ - openStoreInfo.add(sStoreTypeConfig.getId()); - } - } - }else if(sStoreTypeConfig.getStoreOpenRule() == 6 ){ - for(ISession session : OnlineUserManager.sessionMap.values()){ - if(session.getFiveReady() == 1){ - User user = UserManager.getUser(session.getUid()); - if(user==null){ - LOGGER.info("user null removeid=>{}",session.getUid()); - OnlineUserManager.userOffline(session.getUid()); - continue; + for (SStoreTypeConfig sStoreTypeConfig : SStoreTypeConfig.getsStoreTypeConfigMap().values()) { + 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()); + } + + } } - long userCreateTime = user.getPlayerInfoManager().getCreateTime(); - long startTime = ToolsUtil.getTimeLong(sStoreTypeConfig.getStartTimeLong(), sStoreTypeConfig.getEndTimeLong(),ActivityType.OPEN_TYPE_ROLE,userCreateTime, 1); - 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(); - }); + if (isStartServer) { + openStoreInfo.add(sStoreTypeConfig.getId()); } } - } - }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 (now < startTime || now>endTime) { - continue; - } - for(ISession session : OnlineUserManager.sessionMap.values()){ - if(session.getFiveReady() == 1){ - User user = UserManager.getUser(session.getUid()); - if(user==null){ - LOGGER.info("user null removeid=>{}",session.getUid()); - OnlineUserManager.userOffline(session.getUid()); - continue; + } else if (sStoreTypeConfig.getStoreOpenRule() == 6) { + for (ISession session : OnlineUserManager.sessionMap.values()) { + 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; + } + long userCreateTime = user.getPlayerInfoManager().getCreateTime(); + long startTime = ToolsUtil.getTimeLong(sStoreTypeConfig.getStartTimeLong(), sStoreTypeConfig.getEndTimeLong(), ActivityType.OPEN_TYPE_ROLE, userCreateTime, 1); + 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(); + }); + } } - 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 endTime) { continue; } - sendRefreshIndication(sStoreTypeConfig,now); - break ; + for (ISession session : OnlineUserManager.sessionMap.values()) { + 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(); } }