From 99acbb8dad7e453c96f55c40239e01580752656f Mon Sep 17 00:00:00 2001 From: grimm <1769111741@qq.com> Date: Thu, 28 Mar 2024 16:12:01 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BE=AA=E7=8E=AF=E6=B4=BB=E5=8A=A8bug?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jieling/logic/activity/ActivityLogic.java | 8 ++---- .../logic/activity/PowerRiceActivity.java | 28 +++++++++---------- .../logic/rank/rankImpl/PowerRiceRank.java | 10 ++++--- .../bean/TimeLimitWelfareBag.java | 1 + 4 files changed, 22 insertions(+), 25 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityLogic.java index 8007b54a6..004d10751 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityLogic.java @@ -1594,13 +1594,9 @@ public class ActivityLogic implements IEventHandler{ public static long[] getStartAndEndTime(User user,int activityId){ SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(activityId); - long createUserTime = 0; - if (sGlobalActivity.getTime() == ActivityType.OPEN_TYPE_ROLE) { - createUserTime = user.getPlayerInfoManager().getCreateTime(); - } long[] result = new long[2]; - result[0] = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),createUserTime, 1, 0); - result[1] = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),createUserTime, 2, 0); + result[0] = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),user.getPlayerInfoManager().getCreateTime(), 1, sGlobalActivity.getCycleMinute()); + result[1] = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),user.getPlayerInfoManager().getCreateTime(), 2, sGlobalActivity.getCycleMinute()); return result; } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/PowerRiceActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/PowerRiceActivity.java index a0bdaa40f..33bea10be 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/PowerRiceActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/PowerRiceActivity.java @@ -16,7 +16,6 @@ import com.ljsd.jieling.network.session.ISession; import config.SActivityRankingReward; import config.SActivityRewardConfig; import config.SErrorCodeEerverConfig; -import config.SGlobalActivity; import org.springframework.data.redis.core.ZSetOperations; import util.StringUtil; import util.TimeUtils; @@ -98,9 +97,8 @@ public class PowerRiceActivity extends AbstractActivity{ globalSystemControl.addActivityPreEnd(id,TimeUtils.now()); GlobalSystemControl.save(globalSystemControl); } - public List getRankReward() throws Exception{ - List sActivityRankingReward = SActivityRankingReward.getsActivityRankingRewardMapByActivityId(id); - return sActivityRankingReward; + public List getRankReward() { + return SActivityRankingReward.getsActivityRankingRewardMapByActivityId(id); } /** @@ -108,15 +106,15 @@ public class PowerRiceActivity extends AbstractActivity{ * @param user * @return */ - public int getStage(User user){ - long []time = ActivityLogic.getStartAndEndTime(user,id); - SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id); - long gapTime = time[1] +sGlobalActivity.getGapTime()*TimeUtils.ONE_DAY; - if(TimeUtils.now()>=time[0]&&TimeUtils.now()<=time[1]){ - return 0; - }else if(TimeUtils.now()>=time[1]&&TimeUtils.now()<=gapTime){ - return 1; - } - return -1; - } +// public int getStage(User user){ +// long []time = ActivityLogic.getStartAndEndTime(user,id); +// SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id); +// long gapTime = time[1] +sGlobalActivity.getGapTime()*TimeUtils.ONE_DAY; +// if(TimeUtils.now()>=time[0]&&TimeUtils.now()<=time[1]){ +// return 0; +// }else if(TimeUtils.now()>=time[1]&&TimeUtils.now()<=gapTime){ +// return 1; +// } +// return -1; +// } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/rankImpl/PowerRiceRank.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/rankImpl/PowerRiceRank.java index c10bb1a1d..c09796d95 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/rankImpl/PowerRiceRank.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/rankImpl/PowerRiceRank.java @@ -12,6 +12,7 @@ import com.ljsd.jieling.logic.activity.event.UserMainTeamForceEvent; import com.ljsd.jieling.logic.dao.cross.CSPlayer; import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.rank.RankEnum; +import com.ljsd.jieling.util.ToolsUtil; import config.SActivityRankingReward; import config.SGlobalActivity; import org.springframework.data.redis.core.ZSetOperations; @@ -59,13 +60,14 @@ public class PowerRiceRank extends AbstractRank implements IEventHandler { } //判斷是否在展示期 Map sGlobalActivityMap = SGlobalActivity.getsGlobalActivityMap(); - SGlobalActivity sGlobalActivity = sGlobalActivityMap.get(activityId); - if (sGlobalActivity == null) { + SGlobalActivity activity = sGlobalActivityMap.get(activityId); + if (activity == null) { return; } - long[] startAndEndTime = ActivityLogic.getStartAndEndTime(null, activityId); + long start = ToolsUtil.getTimeLong(activity.getStartTimeLong(),activity.getEndTimeLong(),activity.getTime(),0,1, activity.getCycleMinute()); + long end = ToolsUtil.getTimeLong(activity.getStartTimeLong(),activity.getEndTimeLong(),activity.getTime(),0,2, activity.getCycleMinute()); long now = TimeUtils.now(); - if (now > startAndEndTime[0] && now < startAndEndTime[1]) { + if (now > start && now < end) { if (event instanceof UserMainTeamForceEvent) { int uid = ((UserMainTeamForceEvent) event).getUid(); CSPlayer player = CrossServiceLogic.getPlayerByRedis(uid); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/newRechargeInfo/bean/TimeLimitWelfareBag.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/newRechargeInfo/bean/TimeLimitWelfareBag.java index fc42fd4ea..eb87758a2 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/newRechargeInfo/bean/TimeLimitWelfareBag.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/newRechargeInfo/bean/TimeLimitWelfareBag.java @@ -17,6 +17,7 @@ public class TimeLimitWelfareBag extends AbstractWelfareBag { int anInt = value[1]; if(ActivityLogic.checkActivityOpen(user,anInt)){ setOpen(true); + long[] result = ActivityLogic.getStartAndEndTime(user, anInt); setStartTime(result[0]); setEndTime(result[1]);