排行榜:修改格式
This commit is contained in:
@@ -7,7 +7,7 @@ import { addUserToChannel, getSimpleRoleInfo } from '../../../services/roleServi
|
||||
import { ChannelUser } from '../../../domain/ChannelUser';
|
||||
import { getWorldChannelSid, groupRoomId } from '../../../services/chatService';
|
||||
import { reloadResources } from '../../../pubUtils/data';
|
||||
import { GeneralRankParamRole, GeneralRankParamBattle } from '../../../domain/rank';
|
||||
import { GeneralRankParam } from '../../../domain/rank';
|
||||
import { getAllGuildActivityStatus } from '../../../services/guildActivityService';
|
||||
import { MailParam } from '../../../domain/roleField/mail';
|
||||
|
||||
@@ -188,7 +188,7 @@ export class ChatRemote {
|
||||
* @description 全服推送排行榜更新信息
|
||||
* @param serverId
|
||||
*/
|
||||
public async sendRankTopUpdated(serverId: number, rank: (GeneralRankParamRole | GeneralRankParamBattle) & { general: number }) {
|
||||
public async sendRankTopUpdated(serverId: number, rank: GeneralRankParam & { general: number }) {
|
||||
|
||||
let roomId = groupRoomId(CHANNEL_PREFIX.WORLD, serverId);
|
||||
let channel = this.channelService.getChannel(roomId, false);
|
||||
|
||||
@@ -236,9 +236,9 @@ export class GateActivityHandler {
|
||||
if (isSuccess) {
|
||||
let score = gameData.gateActivityPoint.get(GET_POINT_WAYS.DEFENSE_SUCCESS);
|
||||
// 更新redis数据
|
||||
await myR.setRank({ roleId }, score, Date.now(), true);
|
||||
await myR.setRank({ roleId }, [score, Date.now()], true);
|
||||
|
||||
await r.setRank({ guildCode }, score, Date.now(), true);
|
||||
await r.setRank({ guildCode }, [score, Date.now()], true);
|
||||
}
|
||||
|
||||
// 发放活跃
|
||||
|
||||
@@ -74,7 +74,7 @@ export class GuildHandler {
|
||||
let r = new Rank(REDIS_KEY.GUILD_ACTIVE_RANK, { serverId });
|
||||
await r.setRankWithGuildInfo(guild.code, 0, Date.now(), guild);
|
||||
let r2 = new Rank(REDIS_KEY.GUILD_LV_RANK, { serverId });
|
||||
await r2.setRankWithGuildInfo(guild.code, 0, Date.now(), guild);
|
||||
await r2.setRankWithGuildInfo2(guild.code, guild.lv, guild.activeWeekly, Date.now(), guild);
|
||||
|
||||
let rank = await r.getMyRank({ guildCode: guild.code });
|
||||
|
||||
@@ -716,7 +716,7 @@ export class GuildHandler {
|
||||
}
|
||||
if (id == GUILD_STRUCTURE.ARMY_CENTER) {
|
||||
let r = new Rank(REDIS_KEY.GUILD_LV_RANK, { serverId });
|
||||
await r.setRankWithGuildInfo(code, guild.lv, guild.lvUpdateTime, guild);
|
||||
await r.setRankWithGuildInfo2(code, guild.lv, guild.activeWeekly, guild.lvUpdateTime, guild);
|
||||
}
|
||||
|
||||
const resultStructure = result.structure.find(cur => cur.id == id);
|
||||
|
||||
@@ -10,6 +10,7 @@ import { gameData } from "../../../pubUtils/data";
|
||||
import { addItems } from "../../../services/rewardService";
|
||||
import { HeroModel, HeroUpdate } from "../../../db/Hero";
|
||||
import { RewardInter } from "../../../pubUtils/interface";
|
||||
import { GuildRankInfo, RoleAndGuildRankInfo, RoleRankInfo } from "../../../domain/rank";
|
||||
|
||||
export default function (app: Application) {
|
||||
new HandlerService(app, {});
|
||||
@@ -28,21 +29,32 @@ export class RoleHandler {
|
||||
let role = await RoleModel.findByRoleId(roleId, 'rankReceived');
|
||||
if (!role) return resResult(STATUS.WRONG_PARMS);
|
||||
|
||||
let res = await getGeneralRank(role, serverId);
|
||||
let ranks = await getGeneralRank(role, serverId);
|
||||
|
||||
return resResult(STATUS.SUCCESS, res);
|
||||
return resResult(STATUS.SUCCESS, { ranks });
|
||||
}
|
||||
|
||||
async getRank(msg: { type: number }, session: BackendSession) {
|
||||
let roleId = session.get('roleId');
|
||||
let serverId = session.get('serverId');
|
||||
let guildCode = session.get('guildCode');
|
||||
|
||||
let { type } = msg;
|
||||
let redisKey = RANK_TYPE_TO_KEY.get(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 });
|
||||
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) {
|
||||
@@ -64,6 +76,11 @@ export class RoleHandler {
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user