后台:定时邮件
This commit is contained in:
@@ -20,7 +20,7 @@ import { ActivityGroupModel } from '../../../db/ActivityGroup';
|
||||
import { ActivityGroupTypeModel } from '../../../db/ActivityGroupType';
|
||||
import { GuildActivityCityModel } from '../../../db/GuildActivityCity';
|
||||
import { GuildActivityRecordModel } from '../../../db/GuildActivityRec';
|
||||
import { getTimeFunM } from '../../../pubUtils/timeUtil';
|
||||
import { getTimeFunM, nowSeconds } from '../../../pubUtils/timeUtil';
|
||||
import { sendUngotDividend } from '../../../services/auctionService';
|
||||
import moment = require('moment');
|
||||
let timer: NodeJS.Timer;
|
||||
@@ -43,15 +43,29 @@ 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 refTime = moment(moment().format('YYYY-MM-DD 03: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();
|
||||
await f.setWithGmMail(gmmail);
|
||||
|
||||
if (mailType == GM_MAIL_TYPE.SINGLE || mailType == GM_MAIL_TYPE.GROUP) {
|
||||
let roleIds = receivers.map(cur => cur.roleId);
|
||||
let roleIds = receivers.filter(cur => cur.env == this.app.get('env')).map(cur => cur.roleId);
|
||||
await f.sendToUsers(mailType, roleIds);
|
||||
} else {
|
||||
let serverIds = receivers.map(cur => cur.serverId);
|
||||
let serverIds = receivers.filter(cur => cur.env == this.app.get('env')).map(cur => cur.serverId);
|
||||
await f.sendToServer(serverIds);
|
||||
}
|
||||
// await f.saveRecord(uid);
|
||||
|
||||
Reference in New Issue
Block a user