pvp:修复赛季初始排行
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import { KeyName, KeyNameParam, RankParam, GuildRankParam, RoleRankInfo, GuildLeader, LineupParam, myIdInter, GeneralRankParam, ValueConfig, GuildRankInfo } from "../domain/rank";
|
||||
import { REDIS_RANK_TO_INFO, ROLE_SELECT, GUILD_SELECT, REDIS_KEY, REDIS_RANK_TO_EXTRA, HERO_SELECT, COMPOSE_FIELD_TYPE, KEY_TO_COMPOSE_FIELD, RANK_TYPE_TO_KEY } from "../consts";
|
||||
import { redisClient, setUserInfo } from "./redisService";
|
||||
import { REDIS_RANK_TO_INFO, ROLE_SELECT, GUILD_SELECT, REDIS_KEY, REDIS_RANK_TO_EXTRA, HERO_SELECT, COMPOSE_FIELD_TYPE, KEY_TO_COMPOSE_FIELD, RANK_TYPE_TO_KEY, COUNTER } from "../consts";
|
||||
import { redisClient, delKeys } from "./redisService";
|
||||
import { RoleType, RoleModel } from "../db/Role";
|
||||
import { GuildType, GuildModel } from "../db/Guild";
|
||||
import { HeroModel, HeroType, HeroUpdate } from "../db/Hero";
|
||||
@@ -13,6 +13,7 @@ import { pinus } from "pinus";
|
||||
import { RankFirstModel, RankFirstType, RankFirstUpdateParam } from "../db/RankFirst";
|
||||
import { getRandSingleEelm } from "../pubUtils/util";
|
||||
import { RANK_FIRST_REWARD_STATUS } from '../consts';
|
||||
import { CounterModel } from "../db/Counter";
|
||||
|
||||
|
||||
/**
|
||||
@@ -709,6 +710,8 @@ export class Rank {
|
||||
|
||||
const rankFromDb = await redisClient().zrevrangeAsync(key, start, end, "WITHSCORES");
|
||||
|
||||
console.log(key, start, end, rankFromDb)
|
||||
|
||||
let num = 0;
|
||||
for (let ii = 0; ii < rankFromDb.length; ii += 2) {
|
||||
if (num >= this.limit) break;
|
||||
@@ -930,9 +933,12 @@ 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('pvpSeasonNum');
|
||||
let seasonNum = await CounterModel.getCounter(COUNTER.PVP_SEASON_NUM);
|
||||
if(seasonNum > 0) {
|
||||
let keyName = new KeyName(type, { seasonNum })
|
||||
await delKeys(keyName.getName());
|
||||
let ranks = await PvpDefenseModel.getRank(seasonNum);//获得全服前1000名的排名,加入到redis中
|
||||
|
||||
let r = new Rank(type, { seasonNum });
|
||||
r.setIsInit(true);
|
||||
for (let { roleId, role: _role, score, updatedAt } of ranks) {
|
||||
|
||||
Reference in New Issue
Block a user