邮件:GM后台发送邮件逻辑修改
This commit is contained in:
@@ -3,8 +3,7 @@ import { getRandSingleEelm, resResult } from '../../../pubUtils/util';
|
||||
import { STATUS } from '../../../consts/statusCode';
|
||||
import { GMMailModel, GMMailType } from '../../../db/GMMail';
|
||||
import { delGuildActivityRank, getRoleOnlineInfo } from '../../../services/redisService';
|
||||
import { SendMailFun } from '../../../services/mailService';
|
||||
import { ACTIVITY_TYPE, GM_MAIL_STATUS, GM_MAIL_TYPE, MAIL_TIME_TYPE, PUSH_ROUTE, REF_CIRCLE_MAIL_TIME, SURVEY_SELECT } from '../../../consts';
|
||||
import { ACTIVITY_TYPE, GM_MAIL_STATUS, GM_MAIL_TYPE, MAIL_TIME_TYPE, PUSH_ROUTE, SURVEY_SELECT } from '../../../consts';
|
||||
import { checkActivityEditable, checkActivityGroupType, checkActivityGroupTypeWithId } from '../../../services/activity/activityService';
|
||||
import { ActivityModel } from '../../../db/Activity';
|
||||
import { ActivityGroupModel } from '../../../db/ActivityGroup';
|
||||
@@ -20,6 +19,7 @@ import { pushCurrentTime } from '../../../services/auctionService';
|
||||
import { SurveyModel, SurveyUpdate } from '../../../db/Survery';
|
||||
import { getSurvey } from '../../../services/gmService';
|
||||
import { sendMessageToAllWithSuc } from '../../../services/pushService';
|
||||
import { sendMailByContent, sendMailsByGmMail } from '../../../services/mailService';
|
||||
let timer: NodeJS.Timer;
|
||||
export default function (app: Application) {
|
||||
return new GmHandler(app);
|
||||
@@ -68,39 +68,9 @@ export class GmHandler {
|
||||
if(status != GM_MAIL_STATUS.CREATE) {
|
||||
return resResult(STATUS.GM_MAIL_HAS_SENT);
|
||||
}
|
||||
let needSend = false;
|
||||
|
||||
if(isPass) {
|
||||
if(timeType == MAIL_TIME_TYPE.CIRCLE) {
|
||||
let refTimeStr = REF_CIRCLE_MAIL_TIME >= 10? `${REF_CIRCLE_MAIL_TIME}`: `0${REF_CIRCLE_MAIL_TIME}`;
|
||||
let refTime = moment(moment().format(`YYYY-MM-DD ${refTimeStr}:00:00`)).unix();
|
||||
let sendTime = moment(moment().format('YYYY-MM-DD '+circleHour)).unix();
|
||||
if(sendTime < refTime) sendTime += 86400;
|
||||
let now = nowSeconds();
|
||||
if(refTime < now && sendTime > now) {
|
||||
needSend = true;
|
||||
}
|
||||
} else {
|
||||
needSend = true;
|
||||
}
|
||||
}
|
||||
if(needSend) {
|
||||
let f = new SendMailFun();
|
||||
let code = await f.setWithGmMail(gmmail);
|
||||
if(!code) return resResult(STATUS.GM_MAIL_CAN_NOT_SENT);
|
||||
|
||||
if (mailType == GM_MAIL_TYPE.SINGLE || mailType == GM_MAIL_TYPE.GROUP) {
|
||||
let roleIds = receivers.filter(cur => cur.env == this.app.get('env')).map(cur => cur.roleId);
|
||||
if(mailType == GM_MAIL_TYPE.SINGLE) {
|
||||
await f.createSingleMails(code, roleIds);
|
||||
} else {
|
||||
await f.createGroupMails(code, roleIds);
|
||||
}
|
||||
} else {
|
||||
let serverIds = receivers.filter(cur => cur.env == this.app.get('env')).map(cur => cur.serverId);
|
||||
await f.createServerMails(code, serverIds);
|
||||
}
|
||||
await f.pushToUsers();
|
||||
// await f.saveRecord(uid);
|
||||
await sendMailsByGmMail([gmmail]);
|
||||
}
|
||||
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