🐞 fix(军团): 军团补发邮件有可能因为并发发出多封

This commit is contained in:
luying
2022-11-08 17:35:33 +08:00
parent 4e205b47bb
commit f92d1336ac
6 changed files with 28 additions and 31 deletions

View File

@@ -9,7 +9,7 @@ import { GuildModel } from '../../../db/Guild';
import { handleCost, addItems } from '../../../services/role/rewardService';
import { CHAT_SERVER, GUILD_POINT_WAYS } from '../../../consts';
import { addFund, donate, getDonation, getGuildFundByRefTime } from '../../../services/donateService';
import { getUserGuildWithRefActive, refreshUserGuild } from '../../../services/guildService';
import { getUserGuildWithRefActive } from '../../../services/guildService';
import { ARMY } from '../../../pubUtils/dicParam';
import { addActive } from '../../../services/guildService'
import { checkTask, checkTaskInDonate } from '../../../services/task/taskService';
@@ -34,9 +34,8 @@ export class DonationHandler {
async getDonation(msg: guildInter & {}, session: BackendSession) {
const roleId: string = session.get('roleId');
const serverId: number = parseInt(session.get('serverId'));
const { myUserGuild } = msg;
let userGuild = await refreshUserGuild(myUserGuild, roleId);
let userGuild = await getUserGuildWithRefActive(roleId);
if (!userGuild) return resResult(STATUS.WRONG_PARMS);
let guild = await GuildModel.findGuild(userGuild.guildCode, serverId, 'structure lv');
@@ -53,7 +52,7 @@ export class DonationHandler {
* @param session
*/
async donate(msg: guildInter & { id: number }, session: BackendSession) {
const { id, myUserGuild } = msg;
const { id } = msg;
const roleId: string = session.get('roleId');
const roleName: string = session.get('roleName');
const serverId: number = parseInt(session.get('serverId'));
@@ -65,7 +64,7 @@ export class DonationHandler {
return resResult(STATUS.REDLOCK_ERR);
}
let userGuild = await refreshUserGuild(myUserGuild, roleId);
let userGuild = await getUserGuildWithRefActive(roleId);
if (!userGuild) {
res.releaseCallback();
return resResult(STATUS.WRONG_PARMS);
@@ -120,7 +119,7 @@ export class DonationHandler {
const roleName: string = session.get('roleName');
const sid: string = session.get('sid');
const serverId: number = parseInt(session.get('serverId'));
let userGuild = await refreshUserGuild(myUserGuild, roleId);
let userGuild = await getUserGuildWithRefActive(roleId);
if (!userGuild)
return resResult(STATUS.WRONG_PARMS);
const { guildCode: code, receiveBoxs: resReceiveBoxs } = userGuild;