diff --git a/game-server/app/services/rankService.ts b/game-server/app/services/rankService.ts index 601662a1b..b9d9367a6 100644 --- a/game-server/app/services/rankService.ts +++ b/game-server/app/services/rankService.ts @@ -22,6 +22,7 @@ import { GVGVestigeLeagueRankModel } from "../db/GVGVestigeLeagueRank"; import { getDayKeyInfo } from "./gvg/gvgFightService"; import { ActivityMiniGameModel } from "../db/ActivityMiniGame"; import { getPVPServerGroup } from "./serverService"; +import { PVPConfigModel } from "../db/PvpConfig"; /** @@ -1090,7 +1091,8 @@ export async function setRankRedisFromDb(type: string, args?: { serverId?: numbe await r.setRankWithGuildInfoArrParam(guild.code, [guild.lv, guild.activeWeekly, guild.activeUpdateTime], guild); } } else if (type == REDIS_KEY.PVP_RANK) { - let seasonNum: number = pinus.app.get('pvpSettleSeasonNum'); + let pvpConfig = await PVPConfigModel.findCurPVPConfig(); + let seasonNum = pvpConfig?.seasonNum; if(seasonNum > 0) { let serverGroup = await getPVPServerGroup(); for(let [groupId, serverIds] of serverGroup) { @@ -1098,7 +1100,6 @@ export async function setRankRedisFromDb(type: string, args?: { serverId?: numbe await delKeys(keyName.getName()); let ranks = await PvpDefenseModel.getRank(serverIds, seasonNum);//获得全服前1000名的排名,加入到redis中 - console.log('#####', seasonNum, groupId, serverIds, ranks.length) let r = new Rank(type, { seasonNum, groupId }); r.setIsInit(true); for (let { roleId, role: _role, score, updatedAt } of ranks) { diff --git a/game-server/app/services/serverService.ts b/game-server/app/services/serverService.ts index 0d118779b..c2bb7c1d5 100644 --- a/game-server/app/services/serverService.ts +++ b/game-server/app/services/serverService.ts @@ -104,11 +104,14 @@ function getPinusKeyOfFun(fun: SERVER_GROUP_FUN_TYPE) { export async function getPVPServerGroup() { let now = nowSeconds(); + const servers = await ServerlistModel.findByEnv(pinus.app.get('env')); const pvpServerGroup = await ServerGroupModel.findByTime(now, SERVER_GROUP_FUN_TYPE.PVP); let map = new Map(); - for(let { serverId, groupId } of pvpServerGroup) { + for(let server of servers) { + let serverGroup = pvpServerGroup.find(cur => cur.serverId == server.id); + let groupId = serverGroup? serverGroup.groupId: server.groupId; if(!map.has(groupId)) map.set(groupId, []); - map.get(groupId).push(serverId); + map.get(groupId).push(server.id); } return map }