Merge branch 'master_online_hw' of http://60.1.1.230/backend/jieling_server into master_online_hw

back_recharge
zhangshanxue 2020-11-04 17:54:04 +08:00
commit 711fa42582
1 changed files with 77 additions and 71 deletions

View File

@ -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<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());
}
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<sStoreTypeConfig.getRefreshType().length;i++){
if(sStoreTypeConfig.getRefreshType()[i]!=calendar.get(Calendar.HOUR_OF_DAY)){
} 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;
}
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();
}
}