军团活动:奖励邮件会有人收不到的bug
This commit is contained in:
@@ -392,13 +392,20 @@ export async function gateActivitySettleReward(guildCode: string, serverId: numb
|
||||
|
||||
let myR = new Rank(REDIS_KEY.USER_GATE_ACTIVITY, { serverId, guildCode }, true);
|
||||
|
||||
let hasSentMember: string[] = [];
|
||||
let ranks = <RoleRankInfo[]>await myR.getRankByRange();
|
||||
for (let { rank, roleId, num: myScore } of ranks) {
|
||||
let honour = dic.honour + myScore * GUILDACTIVITY.GATEACTIVITY_HONOUR_RATIO;
|
||||
await updateUserRecAndSendHonour(honour, myScore, rank, roleId, members);
|
||||
if(hasSentMember.indexOf(roleId) == -1) {
|
||||
let honour = dic.honour + myScore * GUILDACTIVITY.GATEACTIVITY_HONOUR_RATIO;
|
||||
await updateUserRecAndSendHonour(honour, myScore, rank, roleId);
|
||||
hasSentMember.push(roleId);
|
||||
}
|
||||
}
|
||||
for (let { roleId } of members) { // 只参加了,没有分数的人
|
||||
await updateUserRecAndSendHonour(dic.honour, 0, 0, roleId, members);
|
||||
if(hasSentMember.indexOf(roleId) == -1) {
|
||||
await updateUserRecAndSendHonour(dic.honour, 0, 0, roleId);
|
||||
hasSentMember.push(roleId);
|
||||
}
|
||||
}
|
||||
|
||||
// 加入拍卖行
|
||||
@@ -407,13 +414,11 @@ export async function gateActivitySettleReward(guildCode: string, serverId: numb
|
||||
// obj.delGuildRecord(guildCode, serverId);
|
||||
}
|
||||
|
||||
async function updateUserRecAndSendHonour(honour: number, myScore: number, rank: number, roleId: string, members: Member[]) {
|
||||
async function updateUserRecAndSendHonour(honour: number, myScore: number, rank: number, roleId: string) {
|
||||
let honourObj = getHonourObject(Math.floor(honour));
|
||||
await sendMailByContent(MAIL_TYPE.GUILD_ACTIVITY_REWARD, roleId, { goods: [honourObj] })
|
||||
|
||||
await UserGuildActivityRecModel.updateInfoByRoleId(roleId, { score: myScore, rank });
|
||||
let index = members.findIndex(cur => cur.roleId == roleId);
|
||||
members.splice(index, 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -460,14 +465,21 @@ export async function cityActivitySettleReward(cityId: number, serverId: number)
|
||||
let myR = new Rank(REDIS_KEY.USER_GATE_ACTIVITY, { serverId, guildCode }, true);
|
||||
let ranks = <RoleRankInfo[]>await myR.getRankByRange();
|
||||
let userRank = 0;
|
||||
let hasSentMember: string[] = [];
|
||||
for (let { rank, roleId, num: myScore } of ranks) {
|
||||
let honour = dic.honour + getCityActivityRewards(dicCity.type, guildRank, rank);
|
||||
await updateUserRecAndSendHonour(honour, myScore, rank, roleId, members);
|
||||
if(hasSentMember.indexOf(roleId) == -1) {
|
||||
let honour = dic.honour + getCityActivityRewards(dicCity.type, guildRank, rank);
|
||||
await updateUserRecAndSendHonour(honour, myScore, rank, roleId);
|
||||
hasSentMember.push(roleId);
|
||||
}
|
||||
userRank = rank;
|
||||
}
|
||||
for (let { roleId } of members) { // 只参加了,没有分数的人
|
||||
let honour = dic.honour + getCityActivityRewards(dicCity.type, guildRank, userRank);
|
||||
await updateUserRecAndSendHonour(honour, 0, 0, roleId, members);
|
||||
if(hasSentMember.indexOf(roleId) == -1) {
|
||||
let honour = dic.honour + getCityActivityRewards(dicCity.type, guildRank, userRank);
|
||||
await updateUserRecAndSendHonour(honour, 0, 0, roleId);
|
||||
hasSentMember.push(roleId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -683,10 +695,14 @@ export async function raceActivitySettleReward(guildCode: string, woodenHorse: W
|
||||
let dic = gameData.guildActivity.get(GUILD_ACTIVITY_TYPE.RACE_ACTIVITY);
|
||||
let honour = dic.honour + Math.floor(durability * GUILDACTIVITY.RACEACTIVITY_DURABILITY_REWARD);
|
||||
|
||||
let hasSentMember: string[] = [];
|
||||
for(let { roleId } of members) {
|
||||
await updateUserRecAndSendHonour(honour, 0, rank, roleId, members);
|
||||
// 发放活跃
|
||||
await addActive(roleId, serverId, GUILD_POINT_WAYS.ACTIVITY); //获得活跃值
|
||||
if(hasSentMember.indexOf(roleId) == -1) {
|
||||
await updateUserRecAndSendHonour(honour, 0, rank, roleId);
|
||||
// 发放活跃
|
||||
await addActive(roleId, serverId, GUILD_POINT_WAYS.ACTIVITY); //获得活跃值
|
||||
hasSentMember.push(roleId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user