排行:修复后台设置玩家等级不加入首通问题

This commit is contained in:
luying
2021-12-23 16:30:18 +08:00
parent bce6fea1fe
commit 2eab15cffc
4 changed files with 91 additions and 86 deletions
@@ -45,7 +45,9 @@ export class GmRoleHandler {
}
if(lv && lv > 0) {
let exp = getExpByLv(lv - 1)?.sum||0;
await RoleModel.updateRoleInfo(roleId, { lv, exp })
let role = await RoleModel.updateRoleInfo(roleId, { lv, exp })
let r = new Rank(REDIS_KEY.USER_LV, { serverId: serverId });
await r.setRankWithRoleInfo(roleId, lv, Date.now(), role);
let uids = [{ uid: roleId, sid }];
pinus.app.get('channelService').pushMessageByUids('onPlayerExpChange', resResult(STATUS.SUCCESS, {
isLvUp: false, lv, exp
@@ -1,4 +1,4 @@
import { Application, BackendSession, HandlerService, } from "pinus";
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 { RoleModel } from "../../../db/Role";
@@ -11,6 +11,7 @@ import { addItems } from "../../../services/rewardService";
import { HeroModel, HeroUpdate } from "../../../db/Hero";
import { RewardInter } from "../../../pubUtils/interface";
import { GuildRankInfo, RoleAndGuildRankInfo, RoleRankInfo } from "../../../domain/rank";
import { RankFirstType } from "../../../db/RankFirst";
export default function (app: Application) {
new HandlerService(app, {});
@@ -176,6 +177,8 @@ export class RoleHandler {
let num = ranks.length > 0 ? ranks[0].num : 0;
if (num < dicReward.condition) continue;
console.log('*******receiveReward', id, redisKey, type, num, dicReward.condition)
if (role.rankReceived.includes(id)) continue;
let reward = dicReward.reward;
@@ -41,7 +41,7 @@ export class RoleRemote {
}
this.rankFirstRewards.get(rank.serverId).set(rank.id, rank);
}
this.app.set('rankFirstRewards', rankFirstRewards);
this.app.set('rankFirstRewards', this.rankFirstRewards);
}
public setRankFirst(rank: RankFirstType) {