✨ feat(限时排行榜): 修复限时排行榜奖励发放
This commit is contained in:
@@ -6,7 +6,7 @@ import { RoleModel } from "../../db/Role";
|
||||
import { TimeLimitRankData } from "../../domain/activityField/timeLimitRankField";
|
||||
import { GuildRankInfo, RoleRankInfo } from "../../domain/rank";
|
||||
import { stringWithTypeToRewardInter } from "../../pubUtils/roleUtil";
|
||||
import { sendMailByContent, sendMailToGuildByContent } from "../mailService";
|
||||
import { sendMailByContent, sendMailToGuildByContent, sendMailToManyPlayerByContent } from "../mailService";
|
||||
import { Rank } from "../rankService";
|
||||
import { getServerCreateTime } from "../redisService";
|
||||
import { getActivitiesByType, getActivityById } from "./activityService";
|
||||
@@ -86,7 +86,7 @@ export async function sendRankMail(data: TimeLimitRankData, serverId: number) {
|
||||
}
|
||||
} else {
|
||||
let allRank = <RoleRankInfo[]>(await r.getRankByRange());
|
||||
|
||||
let sentRoleIds: string[] = [];
|
||||
for(let { rank, roleId } of allRank) {
|
||||
let reward = data.getRewardByRank(rank);
|
||||
if(reward) {
|
||||
@@ -94,8 +94,19 @@ export async function sendRankMail(data: TimeLimitRankData, serverId: number) {
|
||||
params: [data.tabName, `${rank}`],
|
||||
goods: stringWithTypeToRewardInter(reward.rewards)
|
||||
});
|
||||
sentRoleIds.push(roleId);
|
||||
}
|
||||
}
|
||||
let lastReward = data.getRewardByRank(9999);
|
||||
let roles = await RoleModel.findAllRoleForTimeLimitRank(serverId, 16);
|
||||
let roleIds: string[] = [];
|
||||
for(let { roleId } of roles) {
|
||||
if(sentRoleIds.indexOf(roleId) == -1) roleIds.push(roleId);
|
||||
}
|
||||
await sendMailToManyPlayerByContent(MAIL_TYPE.TIME_LIMIT_RANK, roleIds, {
|
||||
params: [data.tabName, '200+'],
|
||||
goods: stringWithTypeToRewardInter(lastReward.rewards)
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user