邮件:定时邮件优化
This commit is contained in:
@@ -74,7 +74,8 @@ export class GmHandler {
|
||||
let needSend = false;
|
||||
if(isPass) {
|
||||
if(timeType == MAIL_TIME_TYPE.CIRCLE) {
|
||||
let refTime = moment(moment().format(`YYYY-MM-DD ${REF_CIRCLE_MAIL_TIME}:00:00`)).unix();
|
||||
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();
|
||||
@@ -87,15 +88,20 @@ export class GmHandler {
|
||||
}
|
||||
if(needSend) {
|
||||
let f = new SendMailFun();
|
||||
await f.setWithGmMail(gmmail);
|
||||
let code = await f.setWithGmMail(gmmail);
|
||||
|
||||
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);
|
||||
await f.sendToUsers(mailType, roleIds);
|
||||
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.sendToServer(serverIds);
|
||||
await f.createServerMails(code, serverIds);
|
||||
}
|
||||
await f.pushToUsers();
|
||||
// await f.saveRecord(uid);
|
||||
}
|
||||
let sendTime = '';
|
||||
|
||||
@@ -14,7 +14,7 @@ import { GuildLeader } from '../../../domain/rank';
|
||||
import { UserGuildApplyModel } from '../../../db/UserGuildApply';
|
||||
import { hasStructureConsume, getStructureConsume, gameData } from '../../../pubUtils/data';
|
||||
import { GuildRecModel } from '../../../db/GuildRec';
|
||||
import { sendMailByContent, SendMailFun } from '../../../services/mailService';
|
||||
import { sendMailByContent, SendMailFun, sendMailToGuildByContent } from '../../../services/mailService';
|
||||
import { updateUserInfo, isRoleOnline, getRoleOnlineInfo } from '../../../services/redisService';
|
||||
|
||||
import { openGuildRefine } from '../../../services/guildRefineService';
|
||||
@@ -814,9 +814,7 @@ export class GuildHandler {
|
||||
|
||||
const { members } = guild;
|
||||
//下发邮件
|
||||
let f = new SendMailFun();
|
||||
f.setWithContentId(MAIL_TYPE.SEND_MAIL, { sendName: roleName, params: [info] });
|
||||
await f.sendToGuild(code, members);
|
||||
await sendMailToGuildByContent(MAIL_TYPE.SEND_MAIL, code, { sendName: roleName, params: [info] }, guild);
|
||||
|
||||
return resResult(STATUS.SUCCESS, { isSuccess: true });
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Application, ChannelService } from 'pinus';
|
||||
import { resetPvpSeasonTime, guildActivityStart, gateActivityEnd, cityActivityEnd, raceActivityEnd, guildActivitySchedule, auctionSchedule, initMaintenance, stopMaintenance, initAutoCreateServer } from '../../../services/timeTaskService';
|
||||
import { resetPvpSeasonTime, guildActivityStart, gateActivityEnd, cityActivityEnd, raceActivityEnd, guildActivitySchedule, auctionSchedule, initMaintenance, stopMaintenance, initAutoCreateServer, addMailsToSchedule } from '../../../services/timeTaskService';
|
||||
import PvpDefenseType from '../../../db/PvpDefense';
|
||||
import { DicGuildActivity } from '../../../pubUtils/dictionary/DicGuildActivity';
|
||||
import { reloadResources } from '../../../pubUtils/data';
|
||||
@@ -11,6 +11,9 @@ import { MarqueeType } from '../../../db/Marquee';
|
||||
import { taflush } from '../../../services/sdkService';
|
||||
import { RegionType } from '../../../db/Region';
|
||||
import { errlogger } from '../../../util/logger';
|
||||
import { MailType } from '../../../db/Mail';
|
||||
import { GroupMailType } from '../../../db/GroupMail';
|
||||
import { ServerMailType } from '../../../db/ServerMail';
|
||||
|
||||
export default function (app: Application) {
|
||||
return new SystimerRemote(app);
|
||||
@@ -178,4 +181,12 @@ export class SystimerRemote {
|
||||
errlogger.error(`remote ${__filename} \n ${e.stack}`);
|
||||
}
|
||||
}
|
||||
|
||||
public async addMailsToSchedule(mails: MailType[], groupMails: GroupMailType[], serverMails: ServerMailType[]) {
|
||||
try {
|
||||
await addMailsToSchedule(mails, groupMails, serverMails);
|
||||
} catch(e) {
|
||||
errlogger.error(`remote ${__filename} \n ${e.stack}`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user