pvp赛季结算界面
This commit is contained in:
@@ -6,8 +6,9 @@ import { GameModel } from "../db/Game";
|
||||
import { promisifyAll } from 'bluebird';
|
||||
import { pinus } from 'pinus';
|
||||
import { PvpDefenseModel } from '../db/PvpDefense';
|
||||
import { SystemConfigModel } from '../db/SystemConfig';
|
||||
import { RankParam } from '../pubUtils/interface';
|
||||
|
||||
import { accessSync } from 'fs';
|
||||
/**
|
||||
* 在服务重新启动时,将信息存入redis
|
||||
*/
|
||||
@@ -36,21 +37,6 @@ export async function initRank(serverId: number) {
|
||||
let rankPram = new RankParam(roleName, lv, vLv, headHid, sHid, title);
|
||||
await redisUserInfoAdd(roleId, rankPram);
|
||||
}
|
||||
let pvpRank = await PvpDefenseModel.getRank();
|
||||
for(let {roleId, role: _role, score, updatedAt } of pvpRank) {
|
||||
let role = <RoleType>_role;
|
||||
if (!role) {
|
||||
continue;
|
||||
}
|
||||
let { roleName, headHid, sHid, title, lv, vLv } = role;
|
||||
await client.zaddAsync(getKeyName(REDIS_KEY.PVP_RANK), encodeScoreWithTime(score, updatedAt?updatedAt.getTime():0), roleId);
|
||||
|
||||
const hasCurUser = await client.hexistsAsync(REDIS_KEY.USER_INFO, roleId);
|
||||
if(!hasCurUser) {
|
||||
let rankPram = new RankParam(roleName, lv, vLv, headHid, sHid, title);
|
||||
await redisUserInfoAdd(roleId, rankPram);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 排行榜是否存在
|
||||
@@ -242,4 +228,26 @@ export async function delRedis(key: string) {
|
||||
const client: Redis.RedisClient = pinus.app.get('redis');
|
||||
await client.delAsync(key);
|
||||
}
|
||||
|
||||
export async function resetPvpRanks() {
|
||||
const client: Redis.RedisClient = pinus.app.get('redis');
|
||||
await client.delAsync(REDIS_KEY.PVP_RANK);
|
||||
let { seasonNum } = await SystemConfigModel.findSystemConfig();
|
||||
let pvpRank = await PvpDefenseModel.getRank(seasonNum);
|
||||
for(let {roleId, role: _role, score, updatedAt } of pvpRank) {
|
||||
let role = <RoleType>_role;
|
||||
if (!role) {
|
||||
continue;
|
||||
}
|
||||
let { roleName, headHid, sHid, title, lv, vLv } = role;
|
||||
await client.zaddAsync(getKeyName(REDIS_KEY.PVP_RANK), encodeScoreWithTime(score, updatedAt?updatedAt.getTime():0), roleId);
|
||||
|
||||
const hasCurUser = await client.hexistsAsync(REDIS_KEY.USER_INFO, roleId);
|
||||
if(!hasCurUser) {
|
||||
let rankPram = new RankParam(roleName, lv, vLv, headHid, sHid, title);
|
||||
await redisUserInfoAdd(roleId, rankPram);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**************** 寻宝相关 end */
|
||||
|
||||
Reference in New Issue
Block a user