From 7281c81cbdd6d69c91c48880c2a8416258ed9651 Mon Sep 17 00:00:00 2001 From: luying Date: Mon, 23 May 2022 16:48:44 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8E=E5=8F=B0=EF=BC=9A=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E5=8F=91=E9=80=81=E9=82=AE=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- game-server/app/services/mailService.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/game-server/app/services/mailService.ts b/game-server/app/services/mailService.ts index 80eaf5595..4c7ef301d 100644 --- a/game-server/app/services/mailService.ts +++ b/game-server/app/services/mailService.ts @@ -74,11 +74,12 @@ export async function sendMailToGuildByContent(contentId: MAIL_TYPE, guildCode: export async function sendMailsByGmMail(gmmails: GMMailType[]) { let f = new SendMailFun(); for(let gmmail of gmmails) { - let { receivers, mailType, sendTimes, circleStart, circleEnd } = gmmail; + let { receivers, mailType, sendTimes } = gmmail; let code = await f.setWithGmMail(gmmail); if(!code) continue; let mapTemp = f.getMailTemp(code); - if(sendTimes.indexOf(mapTemp.sendTime) == -1 && circleStart <= mapTemp.sendTime && circleEnd >= mapTemp.sendTime) { + + if(sendTimes.indexOf(mapTemp.sendTime) == -1 && checkCanSend(gmmail, mapTemp)) { if(mailType == GM_MAIL_TYPE.SINGLE) { await f.createSingleMails(code, receivers.map(cur => cur.roleId)); } else if (mailType == GM_MAIL_TYPE.GROUP) { @@ -91,6 +92,13 @@ export async function sendMailsByGmMail(gmmails: GMMailType[]) { await f.pushToUsers(); } +function checkCanSend(gmmail: GMMailType, mapTemp: MailTemp ) { + let { circleStart, circleEnd, timeType } = gmmail; + if(timeType == MAIL_TIME_TYPE.CIRCLE) { + if(circleStart > mapTemp.sendTime || circleEnd < mapTemp.sendTime) return false; + } + return true; +} class MailTemp { public code: string; public gmmail: GMMailTypeParam;