排行榜:旧数据完成

This commit is contained in:
luying
2021-04-06 19:52:39 +08:00
parent 99bc61b2fc
commit 34e02dea89
23 changed files with 1014 additions and 718 deletions

View File

@@ -10,7 +10,7 @@ import { nowSeconds } from "../pubUtils/timeUtil";
import { pinus, BackendSession } from "pinus";
import { ARMY } from "../pubUtils/dicParam";
import { sendMail } from "./mailService";
import { setRank, getMyRank, initSingleRank, getRoleOnlineInfo, redisUserInfoUpdate } from "./redisService";
import { initSingleRank, getRoleOnlineInfo, updateUserInfo } from "./redisService";
import { GuildRankParam, GuildLeader } from "../domain/rank";
import { lockData, lockDataNoRetry } from '../services/redLockService';
import { ErrLogModel } from '../db/ErrLog';
@@ -19,6 +19,7 @@ import { pushMail } from '../pubUtils/interface';
import { getMailContent } from '../services/mailService';
import { DATA_NAME } from '../consts/dataName';
import { addRoleToGuildChannel } from "./chatService";
import { Rank } from "./rankService";
/**
* @description 检查该玩家是否有权限做操作
@@ -71,7 +72,7 @@ export async function joinGuild(code: string, guildName: string, lv: number, rol
res.releaseCallback();//解锁
return { status: -1, resResult: resResult(STATUS.GUILD_MEMBER_MAX) };
} else {
await redisUserInfoUpdate(REDIS_KEY.GUILD_INFO, guild.code, [{ field: 'guildCe', value: guild.guildCe }])
await updateUserInfo(REDIS_KEY.GUILD_INFO, guild.code, [{ field: 'guildCe', value: guild.guildCe }])
}
const role = await RoleModel.findByRoleId(roleId);
@@ -175,8 +176,8 @@ export async function addActive(roleId: string, serverId: number, id: number, ty
// 排行榜更新
let leader = await RoleModel.findById(guild.leader);
let guildRankParam = new GuildRankParam(guild.icon, guild.name, guild.lv, new GuildLeader(leader), guild.memberCnt);
await setRank(REDIS_KEY.GUILD_ACTIVE_RANK, serverId, guild.code, guild.activeWeekly, guild.activeUpdateTime * 1000, guildRankParam);
let r = new Rank(REDIS_KEY.GUILD_ACTIVE_RANK, { serverId });
await r.setRankWithGuildInfo(guildCode, guild.activeWeekly, guild.activeUpdateTime * 1000, guild);
pinus.app.rpc.chat.guildRemote.updateInfo.toServer(CHAT_SERVER, guildCode, { activeDaily: guild.activeDaily, activeWeekly: guild.activeWeekly });
return { status: 1, guild, userGuild };
}
@@ -265,7 +266,8 @@ export async function settleGuildWeekly() {
}
// 转换周活跃奖励
let rank = await getMyRank(REDIS_KEY.GUILD_ACTIVE_RANK, serverId, code);
let r = new Rank(REDIS_KEY.GUILD_ACTIVE_RANK, { serverId });
let rank = await r.getMyRank(code);
let allWeeklyReward = getGuildActiveWeekReward(rank);
for(let [roleId, job] of members) {
let jobActiveRatio = gameData.guildPosition.get(job).activeRatio;