diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ThreeWorldActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ThreeWorldActivity.java index 38171590c..fa8adebd3 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ThreeWorldActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ThreeWorldActivity.java @@ -1,12 +1,19 @@ package com.ljsd.jieling.logic.activity; +import com.ljsd.GameApplication; +import com.ljsd.jieling.db.redis.RedisKey; +import com.ljsd.jieling.db.redis.RedisUtil; import com.ljsd.jieling.jbean.ActivityMission; import com.ljsd.jieling.jbean.ActivityProgressInfo; import com.ljsd.jieling.logic.OnlineUserManager; import com.ljsd.jieling.logic.activity.event.IEvent; import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.network.session.ISession; +import com.ljsd.jieling.util.ToolsUtil; +import config.SActivityRewardConfig; +import config.SGlobalActivity; +import util.TimeUtils; import java.util.Map; @@ -26,6 +33,13 @@ class ThreeWorldActivity extends AbstractActivity { @Override public void update(User user, int count) { + long now = TimeUtils.now()/1000; + SGlobalActivity activityConfig= SGlobalActivity.getsGlobalActivityMap().get(id); + long endTime = GameApplication.serverConfig.getCacheOpenTime()/1000+activityConfig.getEndTimeLong(); + ///活动已结束 + if (now>endTime){ + return; + } ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(id); if(null == activityMission){ return; @@ -40,4 +54,23 @@ class ThreeWorldActivity extends AbstractActivity { ISession sessionByUid = OnlineUserManager.getSessionByUid(user.getId()); sendActivityProgress(sessionByUid, activityMission, null); } + + @Override + void onActivityEndSelfWithDealReward(User user) throws Exception { + super.onActivityEndSelfWithDealReward(user); + } + + @Override + boolean takeRewardsProcess(ISession session, SActivityRewardConfig sActivityRewardConfig, ActivityProgressInfo activityProgressInfo) throws Exception { + int[][] values = sActivityRewardConfig.getValues(); + int missionProgress = activityProgressInfo.getProgrss(); + return missionProgress >= values[0][1]; + } + + @Override + public void onActivityEnd() throws Exception { + super.onActivityEnd(); + } + + }