排行榜:一览&领取
This commit is contained in:
@@ -9,9 +9,9 @@ import { resResult, reduceCe } from '../pubUtils/util';
|
||||
import { calPlayerCeAndSave as pubCalPlayerCeAndSave, reCalAllHeroCe } from '../pubUtils/playerCe';
|
||||
import Hero, { HeroType, HeroUpdate } from '../db/Hero';
|
||||
import { defaultHeroes } from './pvpService';
|
||||
import { RoleUpdate } from '../db/Role';
|
||||
import { Rank, updateUserInfo } from './rankService';
|
||||
|
||||
import { RoleUpdate, RoleType } from '../db/Role';
|
||||
import { Rank, updateUserInfo } from './rankService';
|
||||
import { REDIS_KEY } from '../consts';
|
||||
|
||||
//修改并下发战力
|
||||
@@ -23,27 +23,10 @@ export async function calPlayerCeAndSave(type: number, sid: string, roleId: stri
|
||||
let uids = [{ uid: roleId, sid }];
|
||||
pinus.app.get('channelService').pushMessageByUids('onPlayerCeUpdate', resResult(STATUS.SUCCESS, { ce: reduceCe(role.ce) , heros: pushHeros, topLineupCe: reduceCe(topLineupCe) }), uids);
|
||||
defaultHeroes(role);
|
||||
|
||||
if(guild) {
|
||||
await updateUserInfo(REDIS_KEY.GUILD_INFO, guild.code, [{ field: 'guildCe', value: guild.guildCe }]);
|
||||
}
|
||||
|
||||
// 最强阵容
|
||||
let r = new Rank(REDIS_KEY.TOP_LINEUP_RANK, { serverId }, false, 0);
|
||||
await r.setRankWithRoleInfo(roleId, reduceCe(topLineupCe), 0, role);
|
||||
|
||||
// 最强武将
|
||||
for(let { hid, ce } of pushHeros) {
|
||||
let r2 = new Rank(REDIS_KEY.TOP_HERO_RANK, { serverId }, false, 0);
|
||||
await r2.setRankWithHeroInfo(roleId, hid, ce, 0, hero);
|
||||
|
||||
let r4 = new Rank(REDIS_KEY.HERO_RANK, { serverId, hid }, false, 0);
|
||||
await r4.setRankWithHeroInfo(roleId, hid, ce, 0, hero);
|
||||
}
|
||||
|
||||
// 总战力
|
||||
let r3 = new Rank(REDIS_KEY.SUM_CE_RANK, { serverId }, false, 0);
|
||||
await r3.setRankWithRoleInfo(roleId, reduceCe(role.ce), 0, role);
|
||||
updateRank(roleId, serverId, topLineupCe, role, pushHeros);
|
||||
|
||||
return hero;
|
||||
}
|
||||
@@ -54,28 +37,37 @@ export async function calAllHeroCe(type:number, sid: string, roleId: string, upd
|
||||
if(pushHeros.length > 0) {
|
||||
let uids = [{ uid: roleId, sid }];
|
||||
pinus.app.get('channelService').pushMessageByUids('onPlayerCeUpdate', resResult(STATUS.SUCCESS, { ce: reduceCe(ce), heros: pushHeros, topLineupCe: reduceCe(topLineupCe) }), uids);
|
||||
|
||||
|
||||
if(guild) {
|
||||
await updateUserInfo(REDIS_KEY.GUILD_INFO, guild.code, [{ field: 'guildCe', value: guild.guildCe }]);
|
||||
}
|
||||
|
||||
// 最强阵容
|
||||
let r = new Rank(REDIS_KEY.TOP_LINEUP_RANK, { serverId }, false, 0);
|
||||
await r.setRankWithRoleInfo(roleId, reduceCe(topLineupCe), 0, role);
|
||||
|
||||
// 最强武将
|
||||
for(let { hid, ce } of pushHeros) {
|
||||
let r2 = new Rank(REDIS_KEY.TOP_HERO_RANK, { serverId }, false, 0);
|
||||
await r2.setRankWithHeroInfo(roleId, hid, ce, 0);
|
||||
|
||||
let r4 = new Rank(REDIS_KEY.HERO_RANK, { serverId, hid }, false, 0);
|
||||
await r4.setRankWithHeroInfo(roleId, hid, ce, 0);
|
||||
}
|
||||
|
||||
// 总战力
|
||||
let r3 = new Rank(REDIS_KEY.SUM_CE_RANK, { serverId }, false, 0);
|
||||
await r3.setRankWithRoleInfo(roleId, reduceCe(role.ce), 0, role);
|
||||
|
||||
updateRank(roleId, serverId, topLineupCe, role, pushHeros);
|
||||
}
|
||||
return role;
|
||||
}
|
||||
|
||||
|
||||
// 更新排行榜数据
|
||||
async function updateRank(roleId: string, serverId: number, topLineupCe: number, role: RoleType, pushHeros: {hid: number, ce: number}[]) {
|
||||
|
||||
// 最强阵容
|
||||
let r = new Rank(REDIS_KEY.TOP_LINEUP_RANK, { serverId });
|
||||
await r.setRankWithRoleInfo(roleId, reduceCe(topLineupCe), 0, role);
|
||||
|
||||
// 最强武将
|
||||
for(let { hid, ce } of pushHeros) {
|
||||
let r2 = new Rank(REDIS_KEY.TOP_HERO_RANK, { serverId });
|
||||
await r2.setRankWithHeroInfo(roleId, hid, ce, 0);
|
||||
|
||||
let r4 = new Rank(REDIS_KEY.HERO_RANK, { serverId, hid });
|
||||
await r4.setRankWithHeroInfo(roleId, hid, ce, 0);
|
||||
}
|
||||
|
||||
// 总战力
|
||||
let r3 = new Rank(REDIS_KEY.SUM_CE_RANK, { serverId });
|
||||
await r3.setRankWithRoleInfo(roleId, reduceCe(role.ce), 0, role);
|
||||
|
||||
// 更新最强五人阵容信息
|
||||
let r5 = new Rank(REDIS_KEY.TOP_LINEUP_INFO, { serverId });
|
||||
await r5.generParamAndSet(REDIS_KEY.TOP_LINEUP_INFO, { roleId }, { role });
|
||||
}
|
||||
Reference in New Issue
Block a user