活动:限时排行榜
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
import { Application, BackendSession, HandlerService, pinus, } from "pinus";
|
||||
import { resResult } from "../../../pubUtils/util";
|
||||
import { STATUS, RANK_TYPE_TO_KEY, ROLE_SELECT, RANK_TYPE, HERO_SELECT, GUILD_SELECT, RANK_FIRST_REWARD_STATUS, ITEM_CHANGE_REASON } from "../../../consts";
|
||||
import { STATUS, getRedisKeyByRankType, ROLE_SELECT, RANK_TYPE, HERO_SELECT, GUILD_SELECT, RANK_FIRST_REWARD_STATUS, ITEM_CHANGE_REASON } from "../../../consts";
|
||||
import { RoleModel } from "../../../db/Role";
|
||||
import { UserGuildModel } from "../../../db/UserGuild";
|
||||
import { GuildModel } from "../../../db/Guild";
|
||||
import { Rank, getGeneralRank, getRankFirstReward } from "../../../services/rankService";
|
||||
import { Rank, getGeneralRank, getRankFirstReward, getRankInHandler } from "../../../services/rankService";
|
||||
import { nowSeconds } from "../../../pubUtils/timeUtil";
|
||||
import { gameData } from "../../../pubUtils/data";
|
||||
import { addItems } from "../../../services/rewardService";
|
||||
@@ -55,51 +55,10 @@ export class RoleHandler {
|
||||
let guildCode = session.get('guildCode');
|
||||
|
||||
let { type } = msg;
|
||||
let redisKey = RANK_TYPE_TO_KEY.get(type);
|
||||
let redisKey = getRedisKeyByRankType(type);
|
||||
if (!redisKey) return resResult(STATUS.WRONG_PARMS);
|
||||
let r = new Rank(redisKey, { serverId });
|
||||
r.setGenerFieldsFun((obj => {
|
||||
let result = new RoleAndGuildRankInfo(obj.rank, obj.num);
|
||||
if(obj instanceof GuildRankInfo) {
|
||||
result.setGuildInfo(obj);
|
||||
}
|
||||
if(obj instanceof RoleRankInfo) {
|
||||
result.setUserInfo(obj);
|
||||
}
|
||||
return result
|
||||
}));
|
||||
|
||||
let { ranks, myRank } = await r.getRankListWithMyRank({ roleId, guildCode });
|
||||
if (!myRank) {
|
||||
let role = await RoleModel.findByRoleId(roleId, ROLE_SELECT.RANK, true);
|
||||
if (type == RANK_TYPE.TOP_LINTUP) {
|
||||
myRank = await r.generMyRankWithRole(roleId, role.topLineupCe, 0, role);
|
||||
} else if (type == RANK_TYPE.TOP_HERO) {
|
||||
let hero = await HeroModel.getMyTopHero(roleId, HERO_SELECT.RANK_LINEUP);
|
||||
myRank = await r.generMyRankWithHero(roleId, hero.hid, hero.ce, 0, hero, role);
|
||||
} else if (type == RANK_TYPE.HERO_NUM) {
|
||||
myRank = await r.generMyRankWithRole(roleId, role.heroNum, role.heroNumUpdatedAt, role);
|
||||
} else if (type == RANK_TYPE.USER_LV) {
|
||||
myRank = await r.generMyRankWithRole(roleId, role.lv, role.updatedAt.getTime(), role);
|
||||
} else if (type == RANK_TYPE.SUM_CE) {
|
||||
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.MAIN) {
|
||||
myRank = await r.generMyRankWithRole(roleId, role.mainWarId, role.mainUpdatedAt, role);
|
||||
} else if (type == RANK_TYPE.MAIN_ELITE) {
|
||||
myRank = await r.generMyRankWithRole(roleId, role.mainEliteWarId, role.mainEliteUpdatedAt, role);
|
||||
} else if (type == RANK_TYPE.GUILD_LV) {
|
||||
if(role.hasGuild) {
|
||||
let guild = await GuildModel.findByCode(guildCode, serverId);
|
||||
myRank = await r.generMyRankWithGuild2(roleId, guild.lv, guild.activeWeekly, guild.lvUpdateTime, guild);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return resResult(STATUS.SUCCESS, { type, ranks, myRank });
|
||||
let result = await getRankInHandler(redisKey, type, { serverId }, session);
|
||||
return resResult(STATUS.SUCCESS, { type, ...result });
|
||||
}
|
||||
|
||||
// 查看活跃排行榜
|
||||
@@ -110,7 +69,7 @@ export class RoleHandler {
|
||||
|
||||
let { type } = msg;
|
||||
|
||||
let redisKey = RANK_TYPE_TO_KEY.get(type);
|
||||
let redisKey = getRedisKeyByRankType(type);
|
||||
if (!redisKey) return resResult(STATUS.WRONG_PARMS);
|
||||
|
||||
let r = new Rank(redisKey, { serverId });
|
||||
@@ -134,7 +93,7 @@ export class RoleHandler {
|
||||
let serverId = session.get('serverId')
|
||||
|
||||
let { type, hid } = msg;
|
||||
let redisKey = RANK_TYPE_TO_KEY.get(type);
|
||||
let redisKey = getRedisKeyByRankType(type);
|
||||
if (!redisKey) return resResult(STATUS.WRONG_PARMS);
|
||||
|
||||
let r = new Rank(redisKey, { serverId, hid });
|
||||
|
||||
Reference in New Issue
Block a user