From 04f03036722111963a0daeb889c6c75e3445ef27 Mon Sep 17 00:00:00 2001 From: duhui Date: Fri, 18 Jun 2021 10:32:45 +0800 Subject: [PATCH] =?UTF-8?q?=E6=83=8A=E5=96=9C=E7=A4=BC=E7=9B=92,=20?= =?UTF-8?q?=E6=B4=BB=E5=8A=A8=E5=8C=BA=E6=9C=8D=E7=B1=BB=E5=9E=8B,?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../logic/activity/SuperBoxActivity.java | 48 +++++++++++++++++-- 1 file changed, 45 insertions(+), 3 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SuperBoxActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SuperBoxActivity.java index a2392d61d..5ecd67a32 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SuperBoxActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SuperBoxActivity.java @@ -1,5 +1,6 @@ package com.ljsd.jieling.logic.activity; +import com.ljsd.GameApplication; import com.ljsd.jieling.globals.Global; import com.ljsd.jieling.jbean.ActivityMission; import com.ljsd.jieling.jbean.ActivityProgressInfo; @@ -7,6 +8,7 @@ import com.ljsd.jieling.logic.OnlineUserManager; import com.ljsd.jieling.logic.activity.event.IEvent; import com.ljsd.jieling.logic.activity.event.Poster; import com.ljsd.jieling.logic.activity.event.SuperBoxEvent; +import com.ljsd.jieling.logic.dao.ServerConfig; import com.ljsd.jieling.logic.dao.UserManager; import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.network.session.ISession; @@ -107,14 +109,15 @@ public class SuperBoxActivity extends AbstractActivity { */ private void updateState(User user){ long now = TimeUtils.now(); - SGlobalActivity activity = SGlobalActivity.getsGlobalActivityMap().get(id); + long start = getSrartTime(); + long end = getEndTime(); // 验证活动是否开启 - if (now < activity.getStartTimeLong() || now > activity.getEndTimeLong()){ + if (now < start || now > end){ return; } ActivityMission mission = user.getActivityManager().getActivityMissionMap().get(id); // 计算过去了几天 - int days = TimeUtils.getSoFarWentDays(activity.getStartTimeLong(), now); + int days = TimeUtils.getSoFarWentDays(start, now); mission.setV(days); // mission 单个礼包 Map missionMap = mission.getActivityMissionMap(); @@ -165,6 +168,45 @@ public class SuperBoxActivity extends AbstractActivity { sendActivityProgress(session, mission, null); } + /** + * 开始时间 + * @return + */ + public long getSrartTime(){ + long startTime = 0; + SGlobalActivity activity = SGlobalActivity.getsGlobalActivityMap().get(id); + // 绝对时间 + if (activity.getType() == ActivityType.OPEN_TYPE_TIME){ + startTime = activity.getStartTimeLong(); + } + // 开服时间 + else if (activity.getType() == ActivityType.OPEN_TYPE_SERVER) { + String openTime = GameApplication.serverConfig.getOpenTime(); + startTime = TimeUtils.stringToTimeLong2(openTime); + } + return startTime; + } + + /** + * 结束时间 + * @return + */ + public long getEndTime(){ + long endTime = 0; + SGlobalActivity activity = SGlobalActivity.getsGlobalActivityMap().get(id); + // 绝对时间 + if (activity.getType() == ActivityType.OPEN_TYPE_TIME){ + endTime = activity.getEndTimeLong(); + } + // 开服时间 + else if (activity.getType() == ActivityType.OPEN_TYPE_SERVER) { + String openTime = GameApplication.serverConfig.getOpenTime(); + long timeLong2 = TimeUtils.stringToTimeLong2(openTime); + endTime = timeLong2 + activity.getEndTimeLong() * 1000; + } + return endTime; + } + /** * 验证前置礼包购买状态 * @param user