活动:限时排行后台
This commit is contained in:
@@ -62,35 +62,41 @@ export async function recordGuildFund(serverId: number, guild: GuildType, fund:
|
||||
* @returns
|
||||
*/
|
||||
export async function sendRankMail(data: TimeLimitRankData) {
|
||||
let redisKey = getRedisKeyByRankType(data.rankType);
|
||||
if (!redisKey) return null;
|
||||
let r = new Rank(redisKey, { activityId: data.activityId });
|
||||
if(r.infoKey == REDIS_KEY.GUILD_INFO) {
|
||||
let allRank = <GuildRankInfo[]>(await r.getRankByRange());
|
||||
|
||||
for(let { rank, code, name, leader } of allRank) {
|
||||
let reward = data.getRewardByRank(rank);
|
||||
if(reward) {
|
||||
await sendMailToGuildByContent(MAIL_TYPE.TIME_LIMIT_RANK, code, {
|
||||
params: [data.tabName,`${rank}`],
|
||||
goods: stringToRewardInter(reward.guildRewards)
|
||||
});
|
||||
if(leader.roleId) await sendMailByContent(MAIL_TYPE.TIME_LIMIT_RANK, leader.roleId, {
|
||||
params: [data.tabName,`${rank}`],
|
||||
goods: stringToRewardInter(reward.rewards)
|
||||
});
|
||||
let group = await ActivityGroupModel.findGroupData(data.groupId);
|
||||
let serverIds = group?.serverIds||[];
|
||||
for(let serverId of serverIds) {
|
||||
let redisKey = getRedisKeyByRankType(data.rankType, true);
|
||||
console.log('#### redisKey', redisKey, serverId)
|
||||
if (!redisKey) return null;
|
||||
let r = new Rank(redisKey, { activityId: data.activityId, serverId });
|
||||
console.log('#### getRankByRange',r.infoKey, await r.getRankByRange())
|
||||
if(r.infoKey == REDIS_KEY.GUILD_INFO) {
|
||||
let allRank = <GuildRankInfo[]>(await r.getRankByRange());
|
||||
|
||||
for(let { rank, code, name, leader } of allRank) {
|
||||
let reward = data.getRewardByRank(rank);
|
||||
if(reward) {
|
||||
await sendMailToGuildByContent(MAIL_TYPE.TIME_LIMIT_RANK, code, {
|
||||
params: [data.tabName,`${rank}`],
|
||||
goods: stringToRewardInter(reward.guildRewards)
|
||||
});
|
||||
if(leader.roleId) await sendMailByContent(MAIL_TYPE.TIME_LIMIT_RANK, leader.roleId, {
|
||||
params: [data.tabName,`${rank}`],
|
||||
goods: stringToRewardInter(reward.rewards)
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
let allRank = <RoleRankInfo[]>(await r.getRankByRange());
|
||||
|
||||
for(let { rank, roleId } of allRank) {
|
||||
let reward = data.getRewardByRank(rank);
|
||||
if(reward) {
|
||||
await sendMailByContent(MAIL_TYPE.TIME_LIMIT_RANK, roleId, {
|
||||
params: [data.tabName, `${rank}`],
|
||||
goods: stringToRewardInter(reward.rewards)
|
||||
});
|
||||
} else {
|
||||
let allRank = <RoleRankInfo[]>(await r.getRankByRange());
|
||||
|
||||
for(let { rank, roleId } of allRank) {
|
||||
let reward = data.getRewardByRank(rank);
|
||||
if(reward) {
|
||||
await sendMailByContent(MAIL_TYPE.TIME_LIMIT_RANK, roleId, {
|
||||
params: [data.tabName, `${rank}`],
|
||||
goods: stringToRewardInter(reward.rewards)
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user