邮件:修改邮件逻辑
This commit is contained in:
@@ -8,6 +8,9 @@ import { GMMailModel } from '../../../db/GMMail';
|
||||
import { setGmMails } from '../../../pubUtils/gmData/gmDataUtil';
|
||||
import { getRoleOnlineInfo } from '../../../services/redisService';
|
||||
import { dispatch } from '../../../util/dispatcher';
|
||||
import { SendMailFun } from '../../../services/mailService';
|
||||
import { GM_MAIL_TYPE } from '../../../consts';
|
||||
import { RewardInter } from '../../../pubUtils/interface';
|
||||
export default function(app: Application) {
|
||||
return new GmHandler(app);
|
||||
}
|
||||
@@ -75,11 +78,34 @@ export class GmHandler {
|
||||
}
|
||||
|
||||
//对接gm后台,下发邮件
|
||||
async addMail(msg: { endTime: number, serverId: number, sendName: string, content: string, goods, sendRoles:[{roleId: string, status: number}], gmMailType: number, sendTime: number }) {
|
||||
let {sendRoles, endTime, content, sendName, gmMailType, sendTime, goods, serverId} = msg;
|
||||
let mail = await GMMailModel.addMail({serverId, sendRoles, sendName, endTime, content, gmMailType, sendTime, goods});
|
||||
setGmMails([mail]);//更新邮件缓存
|
||||
this.app.rpc.role.roleRemote.sendGmMailsToRoles.toServer('role-server-1',[mail]);//检查是否是群体邮件,并下发群体邮件,非群体邮件通过Filter刷新下发
|
||||
async addMail(msg: { endTime: number, sendName: string, content: string, goods: RewardInter[], sendTime: number }) {
|
||||
let {endTime, content, sendName, sendTime, goods } = msg;
|
||||
let mail = await GMMailModel.addMail({endTime, content, sendName, sendTime, goods});
|
||||
return resResult(STATUS.SUCCESS, { mail });
|
||||
}
|
||||
|
||||
async sendMail(msg: { id: string, mailType: number, roleIds?: string[], serverIds?: number[] }, session: BackendSession) {
|
||||
let { id, mailType, roleIds, serverIds } = msg;
|
||||
let f = new SendMailFun();
|
||||
await f.setWithGmMail(id);
|
||||
if(mailType == GM_MAIL_TYPE.SINGLE || mailType == GM_MAIL_TYPE.GROUP) {
|
||||
await f.sendToUsers(mailType, roleIds);
|
||||
} else {
|
||||
await f.sendToServer(serverIds);
|
||||
}
|
||||
return resResult(STATUS.SUCCESS);
|
||||
}
|
||||
|
||||
async sendWithContent(msg: { contentId: number, mailType: number, params: { params?: string[], sendName?: string, goods?: RewardInter[], endTime?: number}, roleIds?: string[], serverIds?: number[] }, session: BackendSession) {
|
||||
let { contentId, mailType, roleIds, serverIds, params } = msg;
|
||||
let f = new SendMailFun();
|
||||
f.setWithContentId(contentId, params);
|
||||
if(mailType == GM_MAIL_TYPE.SINGLE || mailType == GM_MAIL_TYPE.GROUP) {
|
||||
await f.sendToUsers(mailType, roleIds);
|
||||
} else {
|
||||
await f.sendToServer(serverIds);
|
||||
}
|
||||
return resResult(STATUS.SUCCESS);
|
||||
}
|
||||
|
||||
async reloadResource(msg: {}, session: BackendSession) {
|
||||
|
||||
Reference in New Issue
Block a user