循环活动bug处理

grimm 2024-04-01 16:28:26 +08:00
parent 99acbb8dad
commit 8ab1f93bb5
12 changed files with 23 additions and 23 deletions

View File

@ -62,8 +62,8 @@ public class Cmd_changename extends GmRoleAbstract {
if(!storeInfoMap.containsKey(10) && !storeInfoMap.containsKey(15)){
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(10);
long userCreateTime = user.getPlayerInfoManager().getCreateTime();
long startTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),userCreateTime, 1, 0);
long endTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),userCreateTime, 2, 0);
long startTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),userCreateTime, 1, sGlobalActivity.getCycleMinute());
long endTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),userCreateTime, 2, sGlobalActivity.getCycleMinute());
StoreLogic.getInstance().initOnsStoereWithTime(user,10,startTime,endTime);
LOGGER.info("hotfix user={} store end",user.getId());
}

View File

@ -816,8 +816,8 @@ public class ActivityLogic implements IEventHandler{
}
long createTime = user.getPlayerInfoManager().getCreateTime();
int startTime = (int) (ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),createTime, 1, 0) / 1000);
int endTime = (int) (ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),createTime, 2, 0) / 1000);
int startTime = (int) (ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),createTime, 1, sGlobalActivity.getCycleMinute()) / 1000);
int endTime = (int) (ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),createTime, 2, sGlobalActivity.getCycleMinute()) / 1000);
List<CommonProto.ActivityInfo.MissionInfo> missionInfos = abstractActivity.getAllMissInfo(user,activityMission);
fBuilder.addActivityInfo(CommonProto.ActivityInfo.newBuilder().setValue(activityMission.getV()).setActivityId(activityId).addAllMission(missionInfos).setStartTime(startTime).setEndTime(endTime).setReallyOpen(activityMission.getOpenType()).build());
fBuilder.setHadLuckTime(user.getPlayerInfoManager().getLuckWheelLimitTime());
@ -1418,9 +1418,9 @@ public class ActivityLogic implements IEventHandler{
if(sGlobalActivities.isEmpty()){
throw new ErrorCodeException(ErrorCode.ACTIVITY_NOT_OPEN);
}
Function<SGlobalActivity,Integer> function = v->(int)ToolsUtil.getTimeLong(v.getStartTimeLong(),v.getEndTimeLong(),v.getTime(),user.getPlayerInfoManager().getCreateTime(),1, 0);
Function<SGlobalActivity,Integer> function = v->(int)ToolsUtil.getTimeLong(v.getStartTimeLong(),v.getEndTimeLong(),v.getTime(),user.getPlayerInfoManager().getCreateTime(),1, v.getCycleMinute());
Stream<SGlobalActivity> stream = sGlobalActivities.stream().sorted(Comparator.comparing(function))
.filter(v->ToolsUtil.getTimeLong(v.getStartTimeLong(), v.getEndTimeLong(), v.getTime(), user.getPlayerInfoManager().getCreateTime(), 1, 0) > TimeUtils.now());
.filter(v->ToolsUtil.getTimeLong(v.getStartTimeLong(), v.getEndTimeLong(), v.getTime(), user.getPlayerInfoManager().getCreateTime(), 1, v.getCycleMinute()) > TimeUtils.now());
List<SGlobalActivity> collect = stream.collect(Collectors.toList());
if(collect.isEmpty()){
throw new ErrorCodeException(ErrorCode.ACTIVITY_NOT_OPEN);
@ -1430,7 +1430,7 @@ public class ActivityLogic implements IEventHandler{
if(sGlobalActivity==null){
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
}
long startTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),user.getPlayerInfoManager().getCreateTime(),1, 0);
long startTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),user.getPlayerInfoManager().getCreateTime(),1, sGlobalActivity.getCycleMinute());
PlayerInfoProto.NextActivityResponse response = PlayerInfoProto.NextActivityResponse.newBuilder().setId(id).setTime((int)(startTime/1000)).build();
MessageUtil.sendMessage(session,1,messageType.getNumber(),response,true);

View File

@ -45,7 +45,7 @@ public class FifteenActivity extends AbstractActivity {
if(activityMission == null){
return;
}
long startTime = ToolsUtil.getTimeLong(globalActivity.getStartTimeLong(),globalActivity.getEndTimeLong(),globalActivity.getTime(),user.getPlayerInfoManager().getCreateTime(), 1, 0);
long startTime = ToolsUtil.getTimeLong(globalActivity.getStartTimeLong(),globalActivity.getEndTimeLong(),globalActivity.getTime(),user.getPlayerInfoManager().getCreateTime(), 1, globalActivity.getCycleMinute());
int time = (int)(startTime/1000);
Map<Integer, ActivityProgressInfo> progressInfoMap = activityMission.getActivityMissionMap();
for(Map.Entry<Integer,ActivityProgressInfo> entry : progressInfoMap.entrySet()){

View File

@ -50,8 +50,8 @@ public class FightMainEventHandler implements IEventHandler{
activityMission.setActivityState(ActivityType.OPEN_STATE);
ActivityLogic.getInstance().sendActivityInfo(user,sGlobalActivity.getId());
if(sGlobalActivity.getShopId().length>0){
long startTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),user.getPlayerInfoManager().getCreateTime(), 1, 0);
long endTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),user.getPlayerInfoManager().getCreateTime(), 2, 0);
long startTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),user.getPlayerInfoManager().getCreateTime(), 1, sGlobalActivity.getCycleMinute());
long endTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),user.getPlayerInfoManager().getCreateTime(), 2, sGlobalActivity.getCycleMinute());
for (int shopId : sGlobalActivity.getShopId()) {
ActivityLogic.getInstance().checkNeedOpenStore(user,shopId,startTime,endTime);
}

View File

@ -32,7 +32,7 @@ class MissSearchExpectRankActivity extends ExpectRankActivity {
public void initActivity(User user) throws Exception {
super.initActivity(user);
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id);
long endTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(), sGlobalActivity.getEndTimeLong(), sGlobalActivity.getTime(), 0, 2, 0);
long endTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(), sGlobalActivity.getEndTimeLong(), sGlobalActivity.getTime(), 0, 2, sGlobalActivity.getCycleMinute());
user.getPlayerInfoManager().addVipByTime(155,(int)(endTime/1000));
Set<Integer> vipInfo = new HashSet<>();
vipInfo.add(155);

View File

@ -197,7 +197,7 @@ public class OpenServerCompeteRankActivity extends AbstractActivity {
if (info == null || activity == null){
return 0;
}
long startTime = ToolsUtil.getTimeLong(activity.getStartTimeLong(),activity.getEndTimeLong(),activity.getTime(),0, 1, 0);
long startTime = ToolsUtil.getTimeLong(activity.getStartTimeLong(),activity.getEndTimeLong(),activity.getTime(),0, 1, activity.getCycleMinute());
long rankEndTime = startTime + info.getCloseTime()*1000L;
return rankEndTime-TimeUtils.now();
}
@ -211,7 +211,7 @@ public class OpenServerCompeteRankActivity extends AbstractActivity {
if (info == null || activity == null){
return false;
}
long startTime = ToolsUtil.getTimeLong(activity.getStartTimeLong(),activity.getEndTimeLong(),activity.getTime(),0, 1, 0);
long startTime = ToolsUtil.getTimeLong(activity.getStartTimeLong(),activity.getEndTimeLong(),activity.getTime(),0, 1, activity.getCycleMinute());
long rankStartTime = startTime + info.getOpenTime()*1000L;
long rankEndTime = startTime + info.getCloseTime()*1000L;
long now = TimeUtils.now();
@ -229,7 +229,7 @@ public class OpenServerCompeteRankActivity extends AbstractActivity {
if (info == null || activity == null){
return 0;
}
int endTime = (int)(ToolsUtil.getTimeLong(activity.getStartTimeLong(),activity.getEndTimeLong(),activity.getTime(),0, 2, 0)/1000);
int endTime = (int)(ToolsUtil.getTimeLong(activity.getStartTimeLong(),activity.getEndTimeLong(),activity.getTime(),0, 2, activity.getCycleMinute())/1000);
return endTime-TimeUtils.nowInt();
}

View File

@ -28,7 +28,7 @@ class SecretExpectRankActivity extends ExpectRankActivity {
listValue.add(153);//额外购买次数
listValue.add(154);//额外免费次数
Set<Integer> changedSet = new HashSet<>();
long endTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(), sGlobalActivity.getEndTimeLong(), sGlobalActivity.getTime(), 0, 2, 0);
long endTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(), sGlobalActivity.getEndTimeLong(), sGlobalActivity.getTime(), 0, 2, sGlobalActivity.getCycleMinute());
int time = (int)(endTime / 1000);
listValue.forEach(privilegeId -> {
changedSet.add(privilegeId);

View File

@ -25,7 +25,7 @@ public class SevenHappyActivity extends DefaultEmptyActivity{
user.getActivityManager().getActivityMissionMap().put(id, mission);
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id);
user.getUserMissionManager().onGameEvent(user, GameEvent.SERVENHAPPY_REFRESH,id);
long startTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),user.getPlayerInfoManager().getCreateTime(), 1, 0);
long startTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),user.getPlayerInfoManager().getCreateTime(), 1, sGlobalActivity.getCycleMinute());
user.getActivityManager().setSenvenStartTime(startTime);
}

View File

@ -172,7 +172,7 @@ public class SuperBoxActivity 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);
// 库里存储的活动档位信息

View File

@ -104,7 +104,7 @@ public class WeekCardActivity extends AbstractActivity {
SGlobalActivity activity = SGlobalActivity.getsGlobalActivityMap().get(activityId);
long createTime = user.getPlayerInfoManager().getCreateTime();
// 计算间隔时间
long startTimeLong = ToolsUtil.getTimeLong(activity.getStartTimeLong(),activity.getEndTimeLong(),activity.getTime(),createTime,1, 0);
long startTimeLong = ToolsUtil.getTimeLong(activity.getStartTimeLong(),activity.getEndTimeLong(),activity.getTime(),createTime,1, activity.getCycleMinute());
int days = TimeUtils.differentDays(startTimeLong, TimeUtils.now()) + 1;
for (int[] ints : sWeekcardConfig.getBaseRewardID()) {
@ -139,7 +139,7 @@ public class WeekCardActivity extends AbstractActivity {
SGlobalActivity activity = SGlobalActivity.getsGlobalActivityMap().get(id);
long createTime = user.getPlayerInfoManager().getCreateTime();
// 计算间隔时间
long startTimeLong = ToolsUtil.getTimeLong(activity.getStartTimeLong(),activity.getEndTimeLong(),activity.getTime(),createTime,1, 0);
long startTimeLong = ToolsUtil.getTimeLong(activity.getStartTimeLong(),activity.getEndTimeLong(),activity.getTime(),createTime,1, activity.getCycleMinute());
int days = TimeUtils.differentDays(startTimeLong, TimeUtils.now())+1;
for (Map.Entry<Integer, Map<Integer, Integer>> entry : weekCard.entrySet()) {

View File

@ -32,8 +32,8 @@ public class ActivityStateChangeHandler implements IEventHandler {
if(state == ActivityType.OPEN_STATE){
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(activityId);
if(sGlobalActivity.getShopId().length>0){
long startTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),user.getPlayerInfoManager().getCreateTime(), 1, 0);
long endTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),user.getPlayerInfoManager().getCreateTime(), 2, 0);
long startTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),user.getPlayerInfoManager().getCreateTime(), 1, sGlobalActivity.getCycleMinute());
long endTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),user.getPlayerInfoManager().getCreateTime(), 2, sGlobalActivity.getCycleMinute());
for (int shopId : sGlobalActivity.getShopId()) {
ActivityLogic.getInstance().checkNeedOpenStore(user,shopId,startTime,endTime);
}

View File

@ -39,8 +39,8 @@ public class MissionLogic {
return null;
}
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(activityId);
long startTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),0, 1, 0);
long endTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),0, 2, 0);
long startTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),0, 1, sGlobalActivity.getCycleMinute());
long endTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),0, 2, sGlobalActivity.getCycleMinute());
if(TimeUtils.now()>endTime){
return null;
}