循环活动bug处理

master_otnew
grimm 2024-03-28 16:12:01 +08:00
parent 7c421103af
commit 99acbb8dad
4 changed files with 22 additions and 25 deletions

View File

@ -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;
}

View File

@ -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<SActivityRankingReward> getRankReward() throws Exception{
List<SActivityRankingReward> sActivityRankingReward = SActivityRankingReward.getsActivityRankingRewardMapByActivityId(id);
return sActivityRankingReward;
public List<SActivityRankingReward> 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;
// }
}

View File

@ -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<Integer, SGlobalActivity> 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);

View File

@ -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]);