登陆玩家信息增加距离开服周数

master_haizei
grimm 2023-12-22 17:47:49 +08:00
parent a6cdc946e7
commit 48f7f40fa5
3 changed files with 17 additions and 12 deletions

View File

@ -4,7 +4,6 @@ import com.ljsd.GameApplication;
import com.ljsd.jieling.db.mongo.AreaManager; import com.ljsd.jieling.db.mongo.AreaManager;
import com.ljsd.jieling.db.redis.RedisKey; import com.ljsd.jieling.db.redis.RedisKey;
import com.ljsd.jieling.db.redis.RedisUtil; import com.ljsd.jieling.db.redis.RedisUtil;
import com.ljsd.jieling.handler.hero.FaBaoSoulUpLvRequestHandler;
import com.ljsd.jieling.handler.map.MapManager; import com.ljsd.jieling.handler.map.MapManager;
import com.ljsd.jieling.jbean.ActivityMission; import com.ljsd.jieling.jbean.ActivityMission;
import com.ljsd.jieling.ktbeans.ReportEventEnum; import com.ljsd.jieling.ktbeans.ReportEventEnum;
@ -230,6 +229,7 @@ public class GetPlayerInfoHandler extends BaseHandler{
.addAllLifeGridInfos(getLifeGridInfos(heroManager)) .addAllLifeGridInfos(getLifeGridInfos(heroManager))
.addAllGiftIds(user.getPlayerInfoManager().getPlayerGiftEquipList()) .addAllGiftIds(user.getPlayerInfoManager().getPlayerGiftEquipList())
.addAllGemLotteryCountByDay(EquipLogic.getInstance().getGemLotteryCountByDay(userId)) .addAllGemLotteryCountByDay(EquipLogic.getInstance().getGemLotteryCountByDay(userId))
.setIsStart(PlayerLogic.getCrossStartWeek())
.build(); .build();
try { try {

View File

@ -1,6 +1,5 @@
package com.ljsd.jieling.handler.gtw; package com.ljsd.jieling.handler.gtw;
import com.ljsd.GameApplication;
import com.ljsd.jieling.core.FunctionIdEnum; import com.ljsd.jieling.core.FunctionIdEnum;
import com.ljsd.jieling.exception.ErrorCode; import com.ljsd.jieling.exception.ErrorCode;
import com.ljsd.jieling.exception.ErrorCodeException; import com.ljsd.jieling.exception.ErrorCodeException;
@ -11,6 +10,7 @@ import com.ljsd.jieling.logic.arena.ArenaLogic;
import com.ljsd.jieling.logic.arenaworld.ArenaWorldLogic; import com.ljsd.jieling.logic.arenaworld.ArenaWorldLogic;
import com.ljsd.jieling.logic.dao.TimeControllerOfFunction; import com.ljsd.jieling.logic.dao.TimeControllerOfFunction;
import com.ljsd.jieling.logic.dao.UserManager; import com.ljsd.jieling.logic.dao.UserManager;
import com.ljsd.jieling.logic.player.PlayerLogic;
import com.ljsd.jieling.logic.rank.RankContext; import com.ljsd.jieling.logic.rank.RankContext;
import com.ljsd.jieling.logic.rank.RankEnum; import com.ljsd.jieling.logic.rank.RankEnum;
import com.ljsd.jieling.logic.rank.rankImpl.AbstractRank; import com.ljsd.jieling.logic.rank.rankImpl.AbstractRank;
@ -52,20 +52,20 @@ public class GetWorldArenaInfoRequestHandler extends BaseHandler<WorldProto.GetW
WorldProto.GetWorldArenaInfoResponse.Builder builder = WorldProto.GetWorldArenaInfoResponse.newBuilder(); WorldProto.GetWorldArenaInfoResponse.Builder builder = WorldProto.GetWorldArenaInfoResponse.newBuilder();
TimeControllerOfFunction timeControllerOfFunction = GlobalDataManaager.getInstance().getTimeControllerOfFunctionByFunctinoType(FunctionIdEnum.World_Arena); TimeControllerOfFunction timeControllerOfFunction = GlobalDataManaager.getInstance().getTimeControllerOfFunctionByFunctinoType(FunctionIdEnum.World_Arena);
long diff = (System.currentTimeMillis() - timeControllerOfFunction.getStartTime())/1000; int functionStartTime = (int)(timeControllerOfFunction.getStartTime() / 1000);
int diff = TimeUtils.nowInt() - functionStartTime;
if (diff > setting.getRestTime()[0] && diff < setting.getRestTime()[1]) { if (diff > setting.getRestTime()[0] && diff < setting.getRestTime()[1]) {
//多加1分钟 周期间隔后 client再发起请求 //多加1分钟 周期间隔后 client再发起请求
builder.setEndTime((int)(timeControllerOfFunction.getStartTime()/1000+setting.getRestTime()[1])+61); builder.setEndTime(functionStartTime + setting.getRestTime()[1]+61);
} else if (diff > setting.getBattleTime()[0] && diff < setting.getBattleTime()[1]) { }
builder.setEndTime((int)(timeControllerOfFunction.getStartTime()/1000+setting.getBattleTime()[1])+10); else if (diff > setting.getBattleTime()[0] && diff < setting.getBattleTime()[1]) {
} else { builder.setEndTime(functionStartTime + setting.getBattleTime()[1]+10);
MessageUtil.sendMessage(iSession,1, MessageTypeProto.MessageType.GetWorldArenaInfoResponse.getNumber(),builder.build(),true); }
return; else {
throw new ErrorCodeException(ErrorCode.SYS_ERROR_CODE);
} }
long before = TimeUtils.stringToTimeLong2(GameApplication.serverConfig.getOpenTime()); builder.setIsStart(PlayerLogic.getCrossStartWeek());
long week = TimeUtils.AfterTimeByWeek(before, TimeUtils.now());
builder.setIsStart((int) week);
SGlobalSystemConfig sGlobalSystemConfig = STableManager.getConfig(SGlobalSystemConfig.class).get(FunctionIdEnum.World_Arena.getFunctionType()); SGlobalSystemConfig sGlobalSystemConfig = STableManager.getConfig(SGlobalSystemConfig.class).get(FunctionIdEnum.World_Arena.getFunctionType());
if (!GlobleSystemLogic.checkOpen(UserManager.getUser(iSession.getUid()),sGlobalSystemConfig)) { if (!GlobleSystemLogic.checkOpen(UserManager.getUser(iSession.getUid()),sGlobalSystemConfig)) {

View File

@ -1462,4 +1462,9 @@ public class PlayerLogic {
LOGGER.info("封禁列表已迁移"); LOGGER.info("封禁列表已迁移");
} }
public static int getCrossStartWeek(){
long before = TimeUtils.stringToTimeLong2(GameApplication.serverConfig.getOpenTime());
return (int) TimeUtils.AfterTimeByWeek(before, TimeUtils.now());
}
} }