diff --git a/serverlogic/src/main/java/com/ljsd/jieling/jbean/ActivityMission.java b/serverlogic/src/main/java/com/ljsd/jieling/jbean/ActivityMission.java index 44f536e5b..68313a611 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/jbean/ActivityMission.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/jbean/ActivityMission.java @@ -16,7 +16,8 @@ public final class ActivityMission extends MongoBase { private LogHashMap> activityMissionMapLog ; private int activityState; private int openType; - private int v; + private int v; + private long creatTime; public ActivityMission() { } @@ -28,6 +29,7 @@ public final class ActivityMission extends MongoBase { this.activityState = _o_.activityState; this.openType = _o_.openType; this.v = _o_.v; + this.creatTime = _o_.creatTime; } public Map getActivityMissionMap() { @@ -63,6 +65,14 @@ public final class ActivityMission extends MongoBase { this.v = v; } + public long getCreatTime() { + return creatTime; + } + + public void setCreatTime(long creatTime) { + updateString("creatTime",creatTime); + this.creatTime = creatTime; + } @Override public String toString() { @@ -72,6 +82,7 @@ public final class ActivityMission extends MongoBase { _sb_.append(this.activityState).append(","); _sb_.append(this.openType).append(","); _sb_.append(this.v).append(","); + _sb_.append(this.creatTime).append(","); _sb_.append(")"); return _sb_.toString(); } 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 c6fdc37e8..ff4287d9c 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 @@ -264,6 +264,7 @@ public class ActivityLogic implements IEventHandler{ activityMission.setOpenType(1); activityMission.setActivityState(ActivityType.OPEN_STATE); activityMission.setV(0); + activityMission.setCreatTime(0); } public void initOtherMission(ActivityMission activityMission,List missionIds){ diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SignInSumActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SignInSumActivity.java index 9da41e575..ea93cbae2 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SignInSumActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SignInSumActivity.java @@ -8,6 +8,7 @@ import com.ljsd.jieling.logic.activity.event.SignInEvent; import com.ljsd.jieling.logic.dao.UserManager; import com.ljsd.jieling.network.session.ISession; import config.SActivityRewardConfig; +import util.TimeUtils; import java.util.List; import java.util.Map; @@ -31,7 +32,24 @@ class SignInSumActivity extends AbstractActivity { @Override void updateProgress(ActivityMission activityMission, int count) { - activityMission.setV(count + activityMission.getV()); + // 初始化,时间为0 + long o1 = activityMission.getCreatTime(); + if (o1 == 0){ + activityMission.setV(count + activityMission.getV()); + activityMission.setCreatTime(TimeUtils.now()); + return; + } + // 获取当天零点时间戳 + long o2 = TimeUtils.getAppointTime(0); + // 后面比前面多几天 + int day = TimeUtils.differentDays(o1, o2); + // 大于1天,重新开始 + if (day > 1){ + activityMission.setV(count); + }else { + activityMission.setV(count + activityMission.getV()); + } + activityMission.setCreatTime(TimeUtils.now()); } @Override