循环活动bug处理
parent
6624b6162a
commit
7c421103af
|
@ -910,7 +910,7 @@ public class TimeUtils {
|
|||
* @param intervalMillis 间隔时间
|
||||
* @return 最近得开始时间
|
||||
*/
|
||||
public static long getLatelyTime(long startTimeMillis, long currentMillis, long intervalMillis){
|
||||
public static long getLatelyTime(long startTimeMillis, long intervalMillis, long currentMillis){
|
||||
return startTimeMillis + (currentMillis - startTimeMillis) / intervalMillis * intervalMillis;
|
||||
}
|
||||
|
||||
|
|
|
@ -187,7 +187,7 @@ public class ContinuousGiftActivity extends AbstractActivity {
|
|||
}
|
||||
long now = TimeUtils.now();
|
||||
long createTime = user.getPlayerInfoManager().getCreateTime();
|
||||
long start = ToolsUtil.getTimeLong(activity.getStartTimeLong(),activity.getEndTimeLong(),activity.getTime(),createTime,1, 0);
|
||||
long start = ToolsUtil.getTimeLong(activity.getStartTimeLong(),activity.getEndTimeLong(),activity.getTime(),createTime,1, activity.getCycleMinute());
|
||||
// 更新记录天数
|
||||
activityMission.setV(TimeUtils.getSoFarWentDays(start, now)+1);
|
||||
// 库里存储的活动档位信息
|
||||
|
|
|
@ -4,6 +4,7 @@ import com.ljsd.jieling.jbean.ActivityProgressInfo;
|
|||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
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;
|
||||
|
@ -22,11 +23,15 @@ public class NewEightActivity extends AbstractActivity {
|
|||
@Override
|
||||
boolean takeRewardsProcess(ISession session, SActivityRewardConfig sActivityRewardConfig, ActivityProgressInfo activityProgressInfo) throws Exception {
|
||||
User user = UserManager.getUser(session.getUid());
|
||||
SGlobalActivity globalActivity = SGlobalActivity.getsGlobalActivityMap().get(id);
|
||||
if (globalActivity.getTime()==1){
|
||||
return TimeUtils.getOverTimeCount(globalActivity.getStartTimeLong(), System.currentTimeMillis(), 0) >= sActivityRewardConfig.getValues()[0][0] - 1;
|
||||
}else if (globalActivity.getTime()==2){
|
||||
return TimeUtils.getOverTimeCount(user.getPlayerInfoManager().getCreateTime(), System.currentTimeMillis(), 0) >= sActivityRewardConfig.getValues()[0][0] - 1;
|
||||
long now = TimeUtils.now();
|
||||
long createTime = user.getPlayerInfoManager().getCreateTime();
|
||||
SGlobalActivity activity = SGlobalActivity.getsGlobalActivityMap().get(id);
|
||||
long startTime = ToolsUtil.getTimeLong(activity.getStartTimeLong(), activity.getEndTimeLong(), activity.getTime(), createTime, 1, activity.getCycleMinute());
|
||||
if (activity.getTime()==1){
|
||||
return TimeUtils.getOverTimeCount(startTime, now, 0) >= sActivityRewardConfig.getValues()[0][0] - 1;
|
||||
}
|
||||
else if (activity.getTime()==2){
|
||||
return TimeUtils.getOverTimeCount(createTime, now, 0) >= sActivityRewardConfig.getValues()[0][0] - 1;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -1,13 +1,16 @@
|
|||
package com.ljsd.jieling.util;
|
||||
|
||||
import com.ljsd.GameApplication;
|
||||
import com.ljsd.jieling.logic.activity.ActivityLogic;
|
||||
import com.ljsd.jieling.logic.activity.ActivityType;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import util.TimeUtils;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
public class ToolsUtil {
|
||||
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(ToolsUtil.class);
|
||||
/**
|
||||
* 根据不同类型获取活动时间
|
||||
*
|
||||
|
@ -26,13 +29,13 @@ public class ToolsUtil {
|
|||
}
|
||||
long resultTime=0;
|
||||
switch (time){
|
||||
case ActivityType.OPEN_TYPE_TIME://开服时间
|
||||
case ActivityType.OPEN_TYPE_TIME://绝对时间
|
||||
resultTime = baseTime;
|
||||
break;
|
||||
case ActivityType.OPEN_TYPE_ROLE:
|
||||
resultTime = TimeUtils.getAppointTimeInXDay(createUserTime,0) + baseTime*1000;
|
||||
break;
|
||||
case ActivityType.OPEN_TYPE_SERVER:
|
||||
case ActivityType.OPEN_TYPE_SERVER://开服时间
|
||||
long serverOpenTime = GameApplication.serverConfig.getCacheOpenTime();
|
||||
resultTime = serverOpenTime + baseTime * 1000;
|
||||
break;
|
||||
|
@ -57,7 +60,7 @@ public class ToolsUtil {
|
|||
// 循环时间
|
||||
long cycleTimeMils = cycleTime * TimeUtils.ONE_MINUTE;
|
||||
// 最近的开始时间
|
||||
long latelyStartTime = TimeUtils.calculateNextStartTime(startTimeLong, now, cycleTimeMils);
|
||||
long latelyStartTime = TimeUtils.getLatelyTime(startTimeLong, cycleTimeMils, now);
|
||||
if (type == 1){
|
||||
resultTime = latelyStartTime;
|
||||
}else {
|
||||
|
|
Loading…
Reference in New Issue