✨ feat(后台): 批量邮件
This commit is contained in:
@@ -13,7 +13,7 @@ import { taflush } from '../../../services/sdkService';
|
||||
import { ActivityInRemote } from '../../../domain/activityField/activityField';
|
||||
import { pushCurrentTime } from '../../../services/auctionService';
|
||||
import { SurveyModel, SurveyUpdate } from '../../../db/Survery';
|
||||
import { getSurvey } from '../../../services/gmService';
|
||||
import { compaireMailGoods, getSurvey } from '../../../services/gmService';
|
||||
import { sendMessageToAllWithSuc } from '../../../services/pushService';
|
||||
import { sendMailByContent, sendMailsByGmMail } from '../../../services/mailService';
|
||||
import { saveMemory } from '../../../services/log/memoryLogService';
|
||||
@@ -69,13 +69,28 @@ export class GmHandler {
|
||||
//对接gm后台,下发邮件
|
||||
async sendMail(gmmail: GMMailType, isPass: boolean, uid: number) {
|
||||
let id = gmmail._id;
|
||||
let { receivers, mailType, status, timeType, startTime, circleHour, circleDay } = gmmail;
|
||||
let { receivers, mailType, status, hasGoods, goods } = gmmail;
|
||||
if(status != GM_MAIL_STATUS.CREATE) {
|
||||
return resResult(STATUS.GM_MAIL_HAS_SENT);
|
||||
}
|
||||
|
||||
if(isPass) {
|
||||
await sendMailsByGmMail([gmmail]);
|
||||
let gmmailArr: GMMailType[] = [];
|
||||
if(mailType == GM_MAIL_TYPE.SINGLE && hasGoods && (!goods || goods.length == 0)) {
|
||||
for(let receiver of receivers) {
|
||||
let index = gmmailArr.findIndex(gmmail => compaireMailGoods(gmmail, receiver));
|
||||
if(index == -1) {
|
||||
gmmailArr.push({...gmmail, receivers: [receiver], goods: receiver.rewards, hasGoods: receiver?receiver.rewards.length > 0: false });
|
||||
} else {
|
||||
gmmailArr[index].receivers.push(receiver);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
gmmailArr.push(gmmail);
|
||||
}
|
||||
|
||||
|
||||
await sendMailsByGmMail(gmmailArr);
|
||||
}
|
||||
await GMMailModel.updateMailById(id, { status: isPass? GM_MAIL_STATUS.PASS: GM_MAIL_STATUS.NOT_PASS, viewAt: new Date(), viewBy: uid }, uid);
|
||||
return resResult(STATUS.SUCCESS);
|
||||
|
||||
Reference in New Issue
Block a user