活动:限时排行榜
This commit is contained in:
@@ -53,6 +53,7 @@ export enum ACTIVITY_TYPE {
|
||||
NEW_HERO_GK = 38, //新将演绎 (配置N个武将,每个武将有X个关卡;活动期间,*天(时间自定义)开启每个武将对应的一个关卡,只有第一次通关会获得奖励)
|
||||
NEW_HERO_GACHA = 39, //新将擢迁(新武将抽卡)
|
||||
LUCKY_TURNTABLE = 40, // 幸运转盘
|
||||
TIME_LIMIT_RANK = 41, // 限时排行榜
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -47,8 +47,9 @@ export enum MAIL_TYPE {
|
||||
EQUIP_OVER = 18, // 装备超数量
|
||||
TOWER_TASK_REWARD = 19, // 镇念塔派遣过期奖励
|
||||
MONTHLY_REWARD = 20, // 月卡奖品
|
||||
TREAT_ROLE_NAME = 21, // 月卡奖品
|
||||
TREAT_GUILD_INFO = 22, // 月卡奖品
|
||||
TREAT_ROLE_NAME = 21, // 改玩家名
|
||||
TREAT_GUILD_INFO = 22, // 改军团名
|
||||
TIME_LIMIT_RANK = 23, // 限时排行榜
|
||||
};
|
||||
|
||||
export const SEND_NAME = '系统';
|
||||
|
||||
@@ -238,36 +238,59 @@ export enum REDIS_KEY {
|
||||
PAY_CHANNEL = 'pay', // 支付订阅频道
|
||||
TREAT_ROLE_CHANNEL = 'treatRole', // 处理玩家账号名频道
|
||||
TREAT_GUILD_CHANNEL = 'treatGuild', // 处理公会账号名频道
|
||||
GUILD_FUND = 'guildFund', // 限时排行
|
||||
SUM_CE_SNAPSHOT = "sumCeTL", // 限时战力排行榜
|
||||
}
|
||||
|
||||
// 各排行榜对应hash的key
|
||||
export const REDIS_RANK_TO_INFO = new Map([
|
||||
[REDIS_KEY.TOWER_RANK, REDIS_KEY.USER_INFO],
|
||||
[REDIS_KEY.PVP_RANK, REDIS_KEY.USER_INFO],
|
||||
[REDIS_KEY.GUILD_ACTIVE_RANK, REDIS_KEY.GUILD_INFO],
|
||||
[REDIS_KEY.GUILD_LV_RANK, REDIS_KEY.GUILD_INFO],
|
||||
[REDIS_KEY.GATE_ACTIVITY, REDIS_KEY.GUILD_INFO],
|
||||
[REDIS_KEY.USER_GATE_ACTIVITY, REDIS_KEY.USER_INFO],
|
||||
[REDIS_KEY.CITY_ACTIVITY, REDIS_KEY.GUILD_INFO],
|
||||
[REDIS_KEY.USER_CITY_ACTIVITY, REDIS_KEY.USER_INFO],
|
||||
[REDIS_KEY.RACE_ACTIVITY, REDIS_KEY.GUILD_INFO],
|
||||
[REDIS_KEY.TOP_LINEUP_RANK, REDIS_KEY.USER_INFO],
|
||||
[REDIS_KEY.TOP_HERO_RANK, REDIS_KEY.USER_INFO],
|
||||
[REDIS_KEY.HERO_NUM_RANK, REDIS_KEY.USER_INFO],
|
||||
[REDIS_KEY.USER_LV, REDIS_KEY.USER_INFO],
|
||||
[REDIS_KEY.SUM_CE_RANK, REDIS_KEY.USER_INFO],
|
||||
[REDIS_KEY.DUNGEON_RANK, REDIS_KEY.USER_INFO],
|
||||
[REDIS_KEY.MAIN_RANK, REDIS_KEY.USER_INFO],
|
||||
[REDIS_KEY.MAIN_ELITE_RANK, REDIS_KEY.USER_INFO],
|
||||
[REDIS_KEY.HERO_RANK, REDIS_KEY.USER_INFO]
|
||||
]);
|
||||
export function getInfoKeyByRedisKey(redisKey: REDIS_KEY) {
|
||||
switch(redisKey) {
|
||||
case REDIS_KEY.TOWER_RANK: // 天梯排行榜
|
||||
return { infoKey: REDIS_KEY.USER_INFO, extraKey: [] };
|
||||
case REDIS_KEY.PVP_RANK: // pvp排行榜
|
||||
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.HERO_NUM_RANK: // 武将数量排行
|
||||
return { infoKey: REDIS_KEY.USER_INFO, extraKey: [] };
|
||||
case REDIS_KEY.USER_LV: // 主公等级排行榜
|
||||
return { infoKey: REDIS_KEY.USER_INFO, extraKey: [] };
|
||||
case REDIS_KEY.SUM_CE_RANK: // 总战力排名
|
||||
return { infoKey: REDIS_KEY.USER_INFO, extraKey: [] };
|
||||
case REDIS_KEY.DUNGEON_RANK: // 秘境排名
|
||||
return { infoKey: REDIS_KEY.USER_INFO, extraKey: [REDIS_KEY.DUNGEON_LINEUP] };
|
||||
case REDIS_KEY.MAIN_RANK: // 主线通关排名
|
||||
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.GUILD_ACTIVE_RANK: // 公会周活跃排行榜
|
||||
return { infoKey: REDIS_KEY.GUILD_INFO, extraKey: [] };
|
||||
case REDIS_KEY.GUILD_LV_RANK: // 公会等级排行榜
|
||||
return { infoKey: REDIS_KEY.GUILD_INFO, extraKey: [] };
|
||||
case REDIS_KEY.GUILD_FUND: // 军团资金
|
||||
return { infoKey: REDIS_KEY.GUILD_INFO, extraKey: [] };
|
||||
|
||||
export const REDIS_RANK_TO_EXTRA = new Map([
|
||||
[REDIS_KEY.TOP_LINEUP_RANK, [REDIS_KEY.TOP_LINEUP_INFO]],
|
||||
[REDIS_KEY.TOP_HERO_RANK, [REDIS_KEY.HERO_INFO]],
|
||||
[REDIS_KEY.DUNGEON_RANK, [REDIS_KEY.DUNGEON_LINEUP]],
|
||||
[REDIS_KEY.HERO_RANK, [REDIS_KEY.HERO_INFO]]
|
||||
]);
|
||||
case REDIS_KEY.GATE_ACTIVITY: // 蛮夷入侵军团排行
|
||||
return { infoKey: REDIS_KEY.GUILD_INFO, extraKey: [] };
|
||||
case REDIS_KEY.USER_GATE_ACTIVITY: // 蛮夷入侵玩家排行
|
||||
return { infoKey: REDIS_KEY.USER_INFO, extraKey: [] };
|
||||
case REDIS_KEY.CITY_ACTIVITY: // 诸侯混战军团排行
|
||||
return { infoKey: REDIS_KEY.GUILD_INFO, extraKey: [] };
|
||||
case REDIS_KEY.USER_CITY_ACTIVITY: // 诸侯混战玩家排行
|
||||
return { infoKey: REDIS_KEY.USER_INFO, extraKey: [] };
|
||||
case REDIS_KEY.RACE_ACTIVITY: // 粮草先行军团排行
|
||||
return { infoKey: REDIS_KEY.GUILD_INFO, extraKey: [] };
|
||||
|
||||
case REDIS_KEY.SUM_CE_SNAPSHOT: // 战力限时排行榜的快照
|
||||
return { infoKey: REDIS_KEY.USER_INFO, extraKey: [] };
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// 排行榜类型
|
||||
export enum RANK_TYPE {
|
||||
@@ -279,26 +302,43 @@ export enum RANK_TYPE {
|
||||
TOWER = 6, // 镇念塔
|
||||
MAIN = 7, // 主线
|
||||
MAIN_ELITE = 8, // 精英
|
||||
GUILD_LV = 9, // 军团按等级排序
|
||||
GUILD_LV = 9, // 军团按等级排序
|
||||
GUILD_ACTIVE = 11, // 军团活跃度排序
|
||||
HERO = 12, // 武将排行
|
||||
GUILD_FUND = 13, // 军团积分排行,限时类型的排行榜,仅计算期限内增加的值
|
||||
}
|
||||
|
||||
// 接口中的排行榜类型对应的redis中的key
|
||||
export const RANK_TYPE_TO_KEY = new Map([
|
||||
[RANK_TYPE.TOP_LINTUP, REDIS_KEY.TOP_LINEUP_RANK],
|
||||
[RANK_TYPE.TOP_HERO, REDIS_KEY.TOP_HERO_RANK],
|
||||
[RANK_TYPE.HERO_NUM, REDIS_KEY.HERO_NUM_RANK],
|
||||
[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.MAIN, REDIS_KEY.MAIN_RANK],
|
||||
[RANK_TYPE.MAIN_ELITE, REDIS_KEY.MAIN_ELITE_RANK],
|
||||
[RANK_TYPE.GUILD_LV, REDIS_KEY.GUILD_LV_RANK],
|
||||
[RANK_TYPE.GUILD_ACTIVE, REDIS_KEY.GUILD_ACTIVE_RANK],
|
||||
[RANK_TYPE.HERO, REDIS_KEY.HERO_RANK]
|
||||
]);
|
||||
export function getRedisKeyByRankType(rankType: RANK_TYPE, isTimelimit = false) {
|
||||
switch(rankType) {
|
||||
case RANK_TYPE.TOP_LINTUP: // 最强阵容战力
|
||||
return REDIS_KEY.TOP_LINEUP_RANK;
|
||||
case RANK_TYPE.TOP_HERO: // 最强武将
|
||||
return REDIS_KEY.TOP_HERO_RANK;
|
||||
case RANK_TYPE.HERO_NUM: // 武将数量
|
||||
return REDIS_KEY.HERO_NUM_RANK;
|
||||
case RANK_TYPE.USER_LV: // 主公等级
|
||||
return REDIS_KEY.USER_LV;
|
||||
case RANK_TYPE.SUM_CE: // 总战力
|
||||
return isTimelimit? REDIS_KEY.SUM_CE_SNAPSHOT: REDIS_KEY.SUM_CE_RANK;
|
||||
case RANK_TYPE.TOWER: // 镇念塔
|
||||
return REDIS_KEY.TOWER_RANK;
|
||||
case RANK_TYPE.MAIN: // 主线
|
||||
return REDIS_KEY.MAIN_RANK;
|
||||
case RANK_TYPE.MAIN_ELITE: // 精英
|
||||
return REDIS_KEY.MAIN_ELITE_RANK;
|
||||
case RANK_TYPE.GUILD_LV: // 军团按等级排序
|
||||
return REDIS_KEY.GUILD_LV_RANK;
|
||||
case RANK_TYPE.GUILD_ACTIVE: // 军团活跃度排序
|
||||
return REDIS_KEY.GUILD_ACTIVE_RANK;
|
||||
case RANK_TYPE.HERO: // 武将排行
|
||||
return REDIS_KEY.HERO_RANK;
|
||||
case RANK_TYPE.GUILD_FUND: // 军团积分排行,限时类型的排行榜,仅计算期限内增加的值
|
||||
return REDIS_KEY.GUILD_FUND;
|
||||
}
|
||||
}
|
||||
|
||||
export const RANK_TYPE_TO_KEY = new Map();
|
||||
|
||||
// field处理方法
|
||||
export enum COMPOSE_FIELD_TYPE {
|
||||
@@ -334,7 +374,8 @@ export const KEY_TO_COMPOSE_FIELD = new Map([
|
||||
[REDIS_KEY.SHOW_LINEUP, COMPOSE_FIELD_TYPE.ROLE],
|
||||
[REDIS_KEY.SUM_CE_RANK, COMPOSE_FIELD_TYPE.ROLE],
|
||||
[REDIS_KEY.PVP_RANK, COMPOSE_FIELD_TYPE.ROLE],
|
||||
|
||||
[REDIS_KEY.GUILD_FUND, COMPOSE_FIELD_TYPE.GUILD],
|
||||
[REDIS_KEY.SUM_CE_SNAPSHOT, COMPOSE_FIELD_TYPE.ROLE],
|
||||
]);
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user