diff --git a/gamecommon/src/main/java/util/TimeUtils.java b/gamecommon/src/main/java/util/TimeUtils.java index 36eef416b..630502e3e 100644 --- a/gamecommon/src/main/java/util/TimeUtils.java +++ b/gamecommon/src/main/java/util/TimeUtils.java @@ -861,6 +861,25 @@ public class TimeUtils { return ca.getTimeInMillis(); } + /** + * 获取某个时间戳当前月份最后一天23:59:59秒时间戳 + */ + public static long getMonthEndTime(Long time){ + //获取当前月最后一天 + Calendar ca = Calendar.getInstance(); + ca.setTimeInMillis(time); + ca.set(Calendar.DAY_OF_MONTH, ca.getActualMaximum(Calendar.DAY_OF_MONTH)); + //将小时至0 + ca.set(Calendar.HOUR_OF_DAY, 23); + //将分钟至0 + ca.set(Calendar.MINUTE, 59); + //将秒至0 + ca.set(Calendar.SECOND,59); + //将毫秒至0 + ca.set(Calendar.MILLISECOND, 1000); + return ca.getTimeInMillis(); + } + /** * x:第几天 * next:距离当前月几个月 diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserMissionManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserMissionManager.java index 58ccda8bf..010f20cf4 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserMissionManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserMissionManager.java @@ -1,5 +1,6 @@ package com.ljsd.jieling.logic.dao; +import com.ljsd.GameApplication; import com.ljsd.common.mogodb.MongoBase; import com.ljsd.jieling.config.clazzStaticCfg.TaskStaticConfig; import com.ljsd.jieling.core.VipPrivilegeType; @@ -102,7 +103,7 @@ public class UserMissionManager extends MongoBase { break; } case DAILY_REFRESH: - int day = new Date(TimeUtils.now()).getDate();//当月第几天 + int day = new Date(GameApplication.serverConfig.getCacheOpenTime()).getDate();//当月第几天 Set missionIds = SDailyTasksConfig.config.values().stream().filter(n->day >=n. getViewDateUp()&& day <=n.getViewDataDown()).map(n ->n.getId()).collect(Collectors.toSet()); int type = (int) parm[0]; @@ -231,7 +232,7 @@ public class UserMissionManager extends MongoBase { updateString("cowFlySkyMissionType", cowFlySkyMissionType); break; case ENDLESS_MISSION_REFRESH: - int days = new Date(TimeUtils.now()).getDate();//当月第几天 + int days = new Date(GameApplication.serverConfig.getCacheOpenTime()).getDate();//当月第几天 Set endlessTask = STableManager.getConfig(SEndlessTask.class).values().stream().filter(n->days >=n. getViewDateUp()&& days <=n.getViewDataDown()).map(n ->n.getId()).collect(Collectors.toSet()); endlessMissionType.getDoingMissionIds().clear(); @@ -591,7 +592,7 @@ public class UserMissionManager extends MongoBase { //缥缈之旅 if(!mistyTripMissionType.getDoingMissionIds().isEmpty() ){ - Map config = STableManager.getConfig(SEndlessTask.class); + Map config = STableManager.getConfig(SJourneyWithWind.class); if(config!=null&&config.size()!=0){ int starSum = HardStageLogic.getHardStageStarsSum(user); if(starSum != 0 && mistyTripCumulationData.getHardstage_stars() == 0){ diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java index 3dae7a5ea..b98628d50 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java @@ -892,6 +892,11 @@ public class GuildLogic { MailLogic.getInstance().sendMail(user.getId(),title,content,"",(int)(System.currentTimeMillis()/1000), Global.MAIL_EFFECTIVE_TIME); } } + for(int i = 1;i<=10;i++){ + RedisUtil.getInstence().zsetRemoveOne(RedisUtil.getInstence().getKey(RedisKey.DEATH_PATH_EVERY_GUILD_RANK,String.valueOf(i)),String.valueOf(guildInfo.getId())); + } + + RedisUtil.getInstence().zsetRemoveOne(RedisUtil.getInstence().getKey(RedisKey.DEATH_PATH_TOTAL_GUILD_RANK,""),String.valueOf(guildInfo.getId())); GuilidManager.removeGuildInfo(guildInfo); MongoUtil.getInstence().lastUpdate(); @@ -1636,7 +1641,9 @@ public class GuildLogic { sendGuildHelpRewardEmail(user); int guildId = user.getPlayerInfoManager().getGuildId(); RedisUtil.getInstence().zsetRemoveOne(RedisKey.getKey(RedisKey.CAR_DEALY_RANK,"",false),String.valueOf(user.getId())); + RedisUtil.getInstence().zsetRemoveOne(RedisKey.getKey(RedisKey.CAR_DEALY_RANK,"",false),String.valueOf(user.getId())); RedisUtil.getInstence().putMapEntry(RedisKey.USER_LEVEL_GUILD_INFO,"",String.valueOf(user.getId()),guildId); + RedisUtil.getInstence().zsetRemoveOne(RedisUtil.getInstence().getKey(RedisKey.DEATH_PATH_TOTAL_PERSON_RANK,""),String.valueOf(user.getId())); //删除战力 Poster.getPoster().dispatchEvent(new GuildForceChangeEvent(user.getId(),user.getPlayerInfoManager().getGuildId(),3,0-user.getPlayerInfoManager().getMaxForce())); //notify ALL diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionLoigc.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionLoigc.java index 5434952a2..417429ef5 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionLoigc.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionLoigc.java @@ -1,6 +1,7 @@ package com.ljsd.jieling.logic.mission; +import com.ljsd.GameApplication; import com.ljsd.jieling.config.clazzStaticCfg.TaskStaticConfig; import com.ljsd.jieling.dataReport.reportBeans_37.Repot37EventUtil; import com.ljsd.jieling.exception.ErrorCode; @@ -34,6 +35,7 @@ import config.*; import manager.STableManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import util.TimeUtils; import java.util.*; import java.util.stream.Collectors; @@ -387,23 +389,26 @@ public class MissionLoigc { values.forEach(v->{ int id = v.getId(); SEndlessTask config = STableManager.getConfig(SEndlessTask.class).get(id); - CommonProto.UserMissionInfo.Builder info = CommonProto.UserMissionInfo.newBuilder(); - info.setMissionId(id); - info.setType(GameMisionType.ENDLESS_MISSION.getType()); - if (doingMissionIds.contains(id)){ - info.setState(MissionState.DOING.getState()); - int doingProgress = getDoingProgress(user, treasureCumulationData, config.getType(), config.getValues()[0]); - info.setProgress(doingProgress); + int day =new Date(GameApplication.serverConfig.getCacheOpenTime()).getDate();//当月第几天 + if(day >= config.getViewDateUp() && day <= config.getViewDataDown()){ + CommonProto.UserMissionInfo.Builder info = CommonProto.UserMissionInfo.newBuilder(); + info.setMissionId(id); + info.setType(GameMisionType.ENDLESS_MISSION.getType()); + if (doingMissionIds.contains(id)){ + info.setState(MissionState.DOING.getState()); + int doingProgress = getDoingProgress(user, treasureCumulationData, config.getType(), config.getValues()[0]); + info.setProgress(doingProgress); + } + if (finishMissionIds.contains(id)){ + int finishProgress = config.getValues()[1][0]; + info.setState(MissionState.FINISH.getState()); + info.setProgress(finishProgress); + } + if (rewardedMissionIds.get(id)){ + info.setState(MissionState.REWARD.getState()); + } + missionList.add(info.build()); } - if (finishMissionIds.contains(id)){ - int finishProgress = config.getValues()[1][0]; - info.setState(MissionState.FINISH.getState()); - info.setProgress(finishProgress); - } - if (rewardedMissionIds.get(id)){ - info.setState(MissionState.REWARD.getState()); - } - missionList.add(info.build()); }); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/newRechargeInfo/bean/PerpetualWelfareBag.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/newRechargeInfo/bean/PerpetualWelfareBag.java index cf7d48846..e1f577d75 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/newRechargeInfo/bean/PerpetualWelfareBag.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/newRechargeInfo/bean/PerpetualWelfareBag.java @@ -30,7 +30,9 @@ public class PerpetualWelfareBag extends AbstractWelfareBag { } if(getDailyUpdate() > 0){ setStartTime(TimeUtils.getTodayZero()); - setRefreshTime(getStartTime()+ getDailyUpdate() * TimeUtils.DAY); + if(!isUserBuyRefresh()){ + setRefreshTime(getStartTime()+ getDailyUpdate() * TimeUtils.DAY); + } } if(config.getTime() == 7){//自然周 setStartTime(TimeUtils.getCurWeekdayStartTime(1,0)); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/util/ToolsUtil.java b/serverlogic/src/main/java/com/ljsd/jieling/util/ToolsUtil.java index 91f082cff..d74b3e645 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/ToolsUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/ToolsUtil.java @@ -29,7 +29,7 @@ public class ToolsUtil { } }else if(type ==2){ if(baseTime ==1){ - startTime = TimeUtils.getCurMonthEndTime(); + startTime = TimeUtils.getMonthEndTime(GameApplication.serverConfig.getCacheOpenTime()); }else{ startTime = TimeUtils.getMonthStartTime(GameApplication.serverConfig.getCacheOpenTime(),1,(int)baseTime); }