🐞 fix(初始): pvp排行榜初始问题修复

This commit is contained in:
luying
2023-05-26 11:26:41 +08:00
parent 12c040a7f7
commit 73f470bdbf
2 changed files with 8 additions and 4 deletions
+3 -2
View File
@@ -22,6 +22,7 @@ import { GVGVestigeLeagueRankModel } from "../db/GVGVestigeLeagueRank";
import { getDayKeyInfo } from "./gvg/gvgFightService"; import { getDayKeyInfo } from "./gvg/gvgFightService";
import { ActivityMiniGameModel } from "../db/ActivityMiniGame"; import { ActivityMiniGameModel } from "../db/ActivityMiniGame";
import { getPVPServerGroup } from "./serverService"; 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); await r.setRankWithGuildInfoArrParam(guild.code, [guild.lv, guild.activeWeekly, guild.activeUpdateTime], guild);
} }
} else if (type == REDIS_KEY.PVP_RANK) { } 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) { if(seasonNum > 0) {
let serverGroup = await getPVPServerGroup(); let serverGroup = await getPVPServerGroup();
for(let [groupId, serverIds] of serverGroup) { for(let [groupId, serverIds] of serverGroup) {
@@ -1098,7 +1100,6 @@ export async function setRankRedisFromDb(type: string, args?: { serverId?: numbe
await delKeys(keyName.getName()); await delKeys(keyName.getName());
let ranks = await PvpDefenseModel.getRank(serverIds, seasonNum);//获得全服前1000名的排名,加入到redis中 let ranks = await PvpDefenseModel.getRank(serverIds, seasonNum);//获得全服前1000名的排名,加入到redis中
console.log('#####', seasonNum, groupId, serverIds, ranks.length)
let r = new Rank(type, { seasonNum, groupId }); let r = new Rank(type, { seasonNum, groupId });
r.setIsInit(true); r.setIsInit(true);
for (let { roleId, role: _role, score, updatedAt } of ranks) { for (let { roleId, role: _role, score, updatedAt } of ranks) {
+5 -2
View File
@@ -104,11 +104,14 @@ function getPinusKeyOfFun(fun: SERVER_GROUP_FUN_TYPE) {
export async function getPVPServerGroup() { export async function getPVPServerGroup() {
let now = nowSeconds(); let now = nowSeconds();
const servers = await ServerlistModel.findByEnv(pinus.app.get('env'));
const pvpServerGroup = await ServerGroupModel.findByTime(now, SERVER_GROUP_FUN_TYPE.PVP); const pvpServerGroup = await ServerGroupModel.findByTime(now, SERVER_GROUP_FUN_TYPE.PVP);
let map = new Map<number, number[]>(); let map = new Map<number, number[]>();
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, []); if(!map.has(groupId)) map.set(groupId, []);
map.get(groupId).push(serverId); map.get(groupId).push(server.id);
} }
return map return map
} }