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

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.redis.RedisKey;
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.jbean.ActivityMission;
import com.ljsd.jieling.ktbeans.ReportEventEnum;
@ -230,6 +229,7 @@ public class GetPlayerInfoHandler extends BaseHandler{
.addAllLifeGridInfos(getLifeGridInfos(heroManager))
.addAllGiftIds(user.getPlayerInfoManager().getPlayerGiftEquipList())
.addAllGemLotteryCountByDay(EquipLogic.getInstance().getGemLotteryCountByDay(userId))
.setIsStart(PlayerLogic.getCrossStartWeek())
.build();
try {

View File

@ -1,6 +1,5 @@
package com.ljsd.jieling.handler.gtw;
import com.ljsd.GameApplication;
import com.ljsd.jieling.core.FunctionIdEnum;
import com.ljsd.jieling.exception.ErrorCode;
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.dao.TimeControllerOfFunction;
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.RankEnum;
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();
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]) {
//多加1分钟 周期间隔后 client再发起请求
builder.setEndTime((int)(timeControllerOfFunction.getStartTime()/1000+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 {
MessageUtil.sendMessage(iSession,1, MessageTypeProto.MessageType.GetWorldArenaInfoResponse.getNumber(),builder.build(),true);
return;
builder.setEndTime(functionStartTime + setting.getRestTime()[1]+61);
}
else if (diff > setting.getBattleTime()[0] && diff < setting.getBattleTime()[1]) {
builder.setEndTime(functionStartTime + setting.getBattleTime()[1]+10);
}
else {
throw new ErrorCodeException(ErrorCode.SYS_ERROR_CODE);
}
long before = TimeUtils.stringToTimeLong2(GameApplication.serverConfig.getOpenTime());
long week = TimeUtils.AfterTimeByWeek(before, TimeUtils.now());
builder.setIsStart((int) week);
builder.setIsStart(PlayerLogic.getCrossStartWeek());
SGlobalSystemConfig sGlobalSystemConfig = STableManager.getConfig(SGlobalSystemConfig.class).get(FunctionIdEnum.World_Arena.getFunctionType());
if (!GlobleSystemLogic.checkOpen(UserManager.getUser(iSession.getUid()),sGlobalSystemConfig)) {

View File

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