🎈 perf(排行榜): 武将排行榜修改为读数据库
This commit is contained in:
@@ -281,8 +281,10 @@ export function getInfoKeyByRedisKey(redisKey: REDIS_KEY) {
|
||||
return { infoKey: REDIS_KEY.USER_INFO, extraKey: [] };
|
||||
case REDIS_KEY.TOP_LINEUP_RANK: // 最强阵容排行
|
||||
return { infoKey: REDIS_KEY.USER_INFO, extraKey: [REDIS_KEY.TOP_LINEUP_INFO] };
|
||||
// case REDIS_KEY.TOP_HERO_RANK: // 最强武将排行
|
||||
// return { infoKey: REDIS_KEY.USER_INFO, extraKey: [REDIS_KEY.HERO_INFO] };
|
||||
case REDIS_KEY.TOP_HERO_RANK: // 最强武将排行
|
||||
return { infoKey: REDIS_KEY.USER_INFO, extraKey: [REDIS_KEY.HERO_INFO] };
|
||||
return { infoKey: REDIS_KEY.USER_INFO, extraKey: [] };
|
||||
case REDIS_KEY.HERO_NUM_RANK: // 武将数量排行
|
||||
return { infoKey: REDIS_KEY.USER_INFO, extraKey: [] };
|
||||
case REDIS_KEY.USER_LV: // 主公等级排行榜
|
||||
@@ -295,8 +297,10 @@ export function getInfoKeyByRedisKey(redisKey: REDIS_KEY) {
|
||||
return { infoKey: REDIS_KEY.USER_INFO, extraKey: [] };
|
||||
case REDIS_KEY.MAIN_ELITE_RANK: // 精英通关排名
|
||||
return { infoKey: REDIS_KEY.USER_INFO, extraKey: [] };
|
||||
// case REDIS_KEY.HERO_RANK: // 武将排行榜
|
||||
// return { infoKey: REDIS_KEY.USER_INFO, extraKey: [REDIS_KEY.HERO_INFO] };
|
||||
case REDIS_KEY.HERO_RANK: // 武将排行榜
|
||||
return { infoKey: REDIS_KEY.USER_INFO, extraKey: [REDIS_KEY.HERO_INFO] };
|
||||
return { infoKey: REDIS_KEY.USER_INFO, extraKey: [] };
|
||||
|
||||
case REDIS_KEY.GUILD_ACTIVE_RANK: // 公会周活跃排行榜
|
||||
return { infoKey: REDIS_KEY.GUILD_INFO, extraKey: [] };
|
||||
|
||||
@@ -101,6 +101,8 @@ export class EPlace {
|
||||
@index({ seqId: 1 })
|
||||
@index({ roleId: 1, hid: 1 })
|
||||
@index({ roleId: 1, ce: -1 })
|
||||
@index({ serverId: 1, ce: -1 })
|
||||
@index({ serverId: 1, hid: 1, ce: -1 })
|
||||
export default class Hero extends BaseModel {
|
||||
|
||||
@prop({ required: true })
|
||||
@@ -188,6 +190,16 @@ export default class Hero extends BaseModel {
|
||||
return heroes
|
||||
}
|
||||
|
||||
public static async findByServerIdAndSortByCe(serverId: number) {
|
||||
const heroes: HeroType[] = await HeroROModel.find({ serverId }).sort({ ce: -1 }).select('hid skinId star colorStar lv quality job roleId ce').limit(200).lean();
|
||||
return heroes
|
||||
}
|
||||
|
||||
public static async findByServerIdAndHidAndSortByCe(serverId: number, hid: number) {
|
||||
const heroes: HeroType[] = await HeroROModel.find({ serverId, hid }).sort({ ce: -1 }).select('hid skinId star colorStar lv quality job roleId ce').limit(200).lean();
|
||||
return heroes
|
||||
}
|
||||
|
||||
public static async findBySeqIdRange(seqIds: Array<number>, roleId: string, lean = true) {
|
||||
const hero: HeroType[] = await HeroROModel.find({ seqId: { $in: seqIds }, roleId }).lean(lean);
|
||||
return hero;
|
||||
|
||||
Reference in New Issue
Block a user