🐞 fix(gvg): 添加个人积分排行榜

This commit is contained in:
luying
2023-07-05 17:16:16 +08:00
parent 84e4f22af2
commit d4ec0ab92a
9 changed files with 103 additions and 7 deletions
+1
View File
@@ -210,4 +210,5 @@ export const PUSH_ROUTE = {
GVG_TARGET_CITY_UPDATE: 'onGVGTargetCitiesUpdate', // 目标城池更新
GVG_NOTICE_UPDATE: 'onGVGNoticeUpdate', // 管理信息更新
PUBLIC_ACCOUNT_GIFT: 'onPublicAccountGift', // 公众号发送
GVG_REC_ADD: 'onGVGRecAdd', // 动态更新
}
+2 -1
View File
@@ -166,7 +166,8 @@ export const GVG_ROBOT = 'robot';
export enum GVG_BATTLE_RANK_TYPE {
PLAYER = 1,
GUILD = 2, // 废弃
LEAGUE = 3
LEAGUE = 3,
PLAYER_SETTLE = 4, // 玩家占领积分
}
// 据点上的守卫类型
+1
View File
@@ -74,6 +74,7 @@ export enum MAIL_TYPE {
GVG_BOX_REWARD = 44, // 云台补发
MONTHLY_FUND = 45, // 补发月基金奖励
ARTIFACT_OVER = 46, // 宝物数量超过
GVG_BATTLE_PLAYER_SETTLE_RANK_REWARD = 47, // 激战期个人占领排行榜奖励
};
export const SEND_NAME = '系统';
+12
View File
@@ -263,8 +263,11 @@ export enum REDIS_KEY {
GVG_VESTIGE_LEAGUE = 'vestigeLeague', // 联军所有遗迹积分
LEAGUE_INFO ="leagueInfo", // 联军信息
GVG_BATTLE_RANK ="gvgBattleUsr", // 激战期个人排行榜
GVG_BATTLE_USER_RANK_BY_CITY ="gvgBattleUsrByCity", // 激战期个人排行榜
GVG_BATTLE_LEAGUE_RANK = "gvgBattleLeague", // 激战期联军排行榜
GVG_BATTLE_LEAGUE_RANK_BY_CITY = "gvgBattleLeagueByCity", // 激战期联军排行榜
GVG_BATTLE_USR_SETTLE_RANK ="gvgBattleUsrSettle", // 激战期个人积分占领排行榜
GVG_BATTLE_USR_SETTLE_RANK_BY_CITY ="gvgBattleUsrSettleByCity", // 激战期个人积分占领排行榜按城池分
GVG_HISTORY_AREA ='gvgHisArea', // gvg激战期玩家加入的区域
GVG_HISTORY_AREA_TEAM ='gvgHisAreaTeam', // gvg激战期玩家加入的区域
GVG_HISTORY_CITY ='gvgHisCity', // gvg激战期玩家进入的城池
@@ -332,10 +335,16 @@ export function getInfoKeyByRedisKey(redisKey: REDIS_KEY) {
return { infoKey: REDIS_KEY.LEAGUE_INFO, extraKey: [] };
case REDIS_KEY.GVG_BATTLE_RANK: // 激战期玩家排行榜
return { infoKey: REDIS_KEY.USER_INFO, extraKey: [] };
case REDIS_KEY.GVG_BATTLE_USER_RANK_BY_CITY: // 激战期按城池分的玩家排行榜
return { infoKey: REDIS_KEY.USER_INFO, extraKey: [] };
case REDIS_KEY.GVG_BATTLE_LEAGUE_RANK: // 激战期联军排行榜
return { infoKey: REDIS_KEY.LEAGUE_INFO, extraKey: [] };
case REDIS_KEY.GVG_BATTLE_LEAGUE_RANK_BY_CITY: // 激战期联军排行榜
return { infoKey: REDIS_KEY.LEAGUE_INFO, extraKey: [] };
case REDIS_KEY.GVG_BATTLE_USR_SETTLE_RANK: // 激战期玩家进驻排行榜
return { infoKey: REDIS_KEY.USER_INFO, extraKey: [] };
case REDIS_KEY.GVG_BATTLE_USR_SETTLE_RANK_BY_CITY: // 激战期按城池分的玩家进驻排行榜
return { infoKey: REDIS_KEY.USER_INFO, extraKey: [] };
case REDIS_KEY.ACTIVITY_MINI_GAME:
return { infoKey: REDIS_KEY.USER_INFO, extraKey: [] };
default:
@@ -438,8 +447,11 @@ export const KEY_TO_COMPOSE_FIELD = new Map([
[REDIS_KEY.GVG_VESTIGE_LEAGUE, COMPOSE_FIELD_TYPE.LEAGUE],
[REDIS_KEY.LEAGUE_INFO, COMPOSE_FIELD_TYPE.LEAGUE],
[REDIS_KEY.GVG_BATTLE_RANK, COMPOSE_FIELD_TYPE.ROLE],
[REDIS_KEY.GVG_BATTLE_USER_RANK_BY_CITY, COMPOSE_FIELD_TYPE.ROLE],
[REDIS_KEY.GVG_BATTLE_LEAGUE_RANK, COMPOSE_FIELD_TYPE.LEAGUE],
[REDIS_KEY.GVG_BATTLE_LEAGUE_RANK_BY_CITY, COMPOSE_FIELD_TYPE.LEAGUE],
[REDIS_KEY.GVG_BATTLE_USR_SETTLE_RANK, COMPOSE_FIELD_TYPE.ROLE],
[REDIS_KEY.GVG_BATTLE_USR_SETTLE_RANK_BY_CITY, COMPOSE_FIELD_TYPE.ROLE],
[REDIS_KEY.ACTIVITY_MINI_GAME, COMPOSE_FIELD_TYPE.ROLE]
]);
+2 -2
View File
@@ -63,8 +63,8 @@ export default class GVGRec extends BaseModel {
return result;
}
public static async findBattleRecByRole(configId: number, roleId: string, leagueCode: string) {
const result: GVGRecType[] = await GVGRecModel.find({ configId, roleId, leagueCode, type: GVG_REC_TYPE.BATTLE_BY_ROLE }, { _id: 0, recId: 1, params: 1, createTime: 1 }).sort({ createTime: -1 }).limit(50).lean();
public static async findBattleRecByRole(configId: number, roleId: string, leagueCode: string, limit = 50) {
const result: GVGRecType[] = await GVGRecModel.find({ configId, roleId, leagueCode, type: GVG_REC_TYPE.BATTLE_BY_ROLE }, { _id: 0, recId: 1, params: 1, createTime: 1 }).sort({ createTime: -1 }).limit(limit).lean();
return result;
}
}
+3
View File
@@ -423,10 +423,13 @@ export class KeyName {
case REDIS_KEY.GVG_VESTIGE_LEAGUE:
return `${this.key}:${this.day}:${this.groupKey}`;
case REDIS_KEY.GVG_BATTLE_RANK:
case REDIS_KEY.GVG_BATTLE_USR_SETTLE_RANK:
return `${this.key}:${this.configId}:${this.groupKey}`;
case REDIS_KEY.GVG_BATTLE_LEAGUE_RANK:
return `${this.key}:${this.configId}:${this.groupKey}`;
case REDIS_KEY.GVG_BATTLE_LEAGUE_RANK_BY_CITY:
case REDIS_KEY.GVG_BATTLE_USR_SETTLE_RANK_BY_CITY:
case REDIS_KEY.GVG_BATTLE_USER_RANK_BY_CITY:
return `${this.key}:${this.configId}:${this.groupKey}:${this.cityId}`;
case REDIS_KEY.ACTIVITY_MINI_GAME:
return `${this.key}:${this.activityId}:${this.roundIndex}`;