diff --git a/game-server/app/servers/role/handler/rankHandler.ts b/game-server/app/servers/role/handler/rankHandler.ts index 4d9d8ab0c..c97cf436b 100644 --- a/game-server/app/servers/role/handler/rankHandler.ts +++ b/game-server/app/servers/role/handler/rankHandler.ts @@ -70,8 +70,8 @@ export class RoleHandler { myRank = await r.generMyRankWithRole(roleId, role.ce, role.updatedAt.getTime(), role); } else if (type == RANK_TYPE.TOWER) { myRank = await r.generMyRankWithRole(roleId, role.towerLv - 1, role.towerUpTime?.getTime() || 0, role); - } else if (type == RANK_TYPE.DUNGEON) { - myRank = await r.generMyRankWithRole(roleId, role.dungeonWarId, role.dungeonUpdatedAt, role); + // } else if (type == RANK_TYPE.DUNGEON) { + // myRank = await r.generMyRankWithRole(roleId, role.dungeonWarId, role.dungeonUpdatedAt, role); } else if (type == RANK_TYPE.MAIN) { myRank = await r.generMyRankWithRole(roleId, role.mainWarId, role.mainUpdatedAt, role); } else if (type == RANK_TYPE.MAIN_ELITE) { diff --git a/game-server/app/services/rankService.ts b/game-server/app/services/rankService.ts index 29e79f0e5..bef87b172 100644 --- a/game-server/app/services/rankService.ts +++ b/game-server/app/services/rankService.ts @@ -855,7 +855,7 @@ export class Rank { let r = new Rank(redisKey, { serverId }, false, 1); let ranks = await r.getRankByRange(); if (ranks.length > 0) { - let param = new GeneralRankParam(id, ranks[0] || new RoleRankInfo({}, false)); + let param = new GeneralRankParam(id, ranks[0] || new RoleRankInfo({}, false), general); pinus.app.rpc.chat.chatRemote.sendRankTopUpdated.toServer(sid, serverId, { ...param, general }); } @@ -1000,7 +1000,7 @@ export async function setRankRedisFromDb(type: string, args?: { serverId?: numbe export async function getGeneralRank(role: RoleType & { rankReceived: number[] }, serverId: number) { let { rankReceived = [] } = role; - let result: GeneralRankParam[] = []; + let result: (GeneralRankParam & {general: number})[] = []; for (let { id, general } of gameData.rank) { let redisKey = RANK_TYPE_TO_KEY.get(id); @@ -1009,14 +1009,11 @@ export async function getGeneralRank(role: RoleType & { rankReceived: number[] } let dic = gameData.generalRankReward.get(rewardId); return dic && dic.rankId == id; }); - if (general == 1) { - let r = new Rank(redisKey, { serverId }, false, 1); - let ranks = await r.getRankByRange(); - if (ranks.length > 0) { - let param = new GeneralRankParam(id, ranks[0] || new RoleRankInfo({}, false), received); - result.push(param); - } - } + let r = new Rank(redisKey, { serverId }, false, 1); + let ranks = await r.getRankByRange(); + // if (ranks.length > 0) { + let param = new GeneralRankParam(id, ranks[0] || new RoleRankInfo({}, false), general, received); + result.push({...param, general}); } } return result; diff --git a/game-server/app/services/redisService.ts b/game-server/app/services/redisService.ts index 6f8b48be6..ec9f2c52e 100644 --- a/game-server/app/services/redisService.ts +++ b/game-server/app/services/redisService.ts @@ -28,7 +28,7 @@ export async function initAllRank() { await delKeys(REDIS_KEY.HERO_NUM_RANK); await delKeys(REDIS_KEY.USER_LV); await delKeys(REDIS_KEY.SUM_CE_RANK); - await delKeys(REDIS_KEY.DUNGEON_RANK); + // await delKeys(REDIS_KEY.DUNGEON_RANK); await delKeys(REDIS_KEY.DUNGEON_LINEUP); await delKeys(REDIS_KEY.MAIN_RANK); await delKeys(REDIS_KEY.MAIN_ELITE_RANK); @@ -54,7 +54,7 @@ export async function initRank(serverId: number) { await setRankRedisFromDb(REDIS_KEY.HERO_NUM_RANK, { serverId }); await setRankRedisFromDb(REDIS_KEY.USER_LV, { serverId }); await setRankRedisFromDb(REDIS_KEY.SUM_CE_RANK, { serverId }); - await setRankRedisFromDb(REDIS_KEY.DUNGEON_RANK, { serverId }); + // await setRankRedisFromDb(REDIS_KEY.DUNGEON_RANK, { serverId }); await setRankRedisFromDb(REDIS_KEY.MAIN_RANK, { serverId }); await setRankRedisFromDb(REDIS_KEY.MAIN_ELITE_RANK, { serverId }); await setRankRedisFromDb(REDIS_KEY.HERO_RANK, { serverId }); diff --git a/shared/consts/constModules/sysConst.ts b/shared/consts/constModules/sysConst.ts index 870ffe069..70d784b39 100644 --- a/shared/consts/constModules/sysConst.ts +++ b/shared/consts/constModules/sysConst.ts @@ -269,10 +269,9 @@ export enum RANK_TYPE { USER_LV = 4, // 主公等级 SUM_CE = 5, // 总战力 TOWER = 6, // 镇念塔 - DUNGEON = 7, // 秘境 - MAIN = 8, // 主线 - MAIN_ELITE = 9, // 精英 - GUILD_LV = 10, // 军团按等级排序 + MAIN = 7, // 主线 + MAIN_ELITE = 8, // 精英 + GUILD_LV = 9, // 军团按等级排序 GUILD_ACTIVE = 11, // 军团活跃度排序 HERO = 12, // 武将排行 } @@ -285,7 +284,7 @@ export const RANK_TYPE_TO_KEY = new Map([ [RANK_TYPE.USER_LV, REDIS_KEY.USER_LV], [RANK_TYPE.SUM_CE, REDIS_KEY.SUM_CE_RANK], [RANK_TYPE.TOWER, REDIS_KEY.TOWER_RANK], - [RANK_TYPE.DUNGEON, REDIS_KEY.DUNGEON_RANK], + // [RANK_TYPE.DUNGEON, REDIS_KEY.DUNGEON_RANK], [RANK_TYPE.MAIN, REDIS_KEY.MAIN_RANK], [RANK_TYPE.MAIN_ELITE, REDIS_KEY.MAIN_ELITE_RANK], [RANK_TYPE.GUILD_LV, REDIS_KEY.GUILD_LV_RANK], diff --git a/shared/domain/rank.ts b/shared/domain/rank.ts index 9b60aed5c..78d6952dc 100644 --- a/shared/domain/rank.ts +++ b/shared/domain/rank.ts @@ -352,13 +352,17 @@ export interface myIdInter { // 排行榜总览左边的数据 export class GeneralRankParam { type: number; // 排行榜id - userInfo: RankParam; + userInfo?: RankParam; num: number; received: number[]; - constructor(type: number, rankInfo: RoleRankInfo, received?: number[]) { + constructor(type: number, rankInfo: RoleRankInfo|GuildRankInfo, general: number, received?: number[]) { this.type = type; - this.userInfo = pick(rankInfo, ['roleId', 'roleName', 'head', 'frame', 'spine', 'guildName', 'ce', 'title', 'lv']); + if(general == 1) { + if(rankInfo instanceof RoleRankInfo) { + this.userInfo = pick(rankInfo, ['roleId', 'roleName', 'head', 'frame', 'spine', 'guildName', 'ce', 'title', 'lv']); + } + } this.num = rankInfo.num; this.received = received; }