后台:获取邮件记录

This commit is contained in:
luying
2021-06-30 14:06:22 +08:00
parent 730aeae370
commit 0d12af8ac6
6 changed files with 152 additions and 5 deletions
@@ -85,6 +85,7 @@ export class GmHandler {
}
async sendMail(msg: { id: string, mailType: number, roleIds?: string[], serverIds?: number[] }, session: BackendSession) {
const uid: number = session.get('uid')
let { id, mailType, roleIds, serverIds } = msg;
let f = new SendMailFun();
await f.setWithGmMail(id);
@@ -93,6 +94,7 @@ export class GmHandler {
} else {
await f.sendToServer(serverIds);
}
await f.saveRecord(uid);
return resResult(STATUS.SUCCESS);
}
+19
View File
@@ -12,6 +12,7 @@ import { GM_MAIL_TYPE, MAIL_STATUS, MAIL_TYPE, SEND_NAME } from "../consts";
import { MailParam } from '../domain/roleField/mail';
import { GMMailType, GMMailModel } from "../db/GMMail";
import { getGuildChannelSid, getWorldChannelSid } from "./chatChannelService";
import { GMMailRecordModel } from "../db/GMMailRecord";
/**
* 获取邮件信息
@@ -69,6 +70,9 @@ export class SendMailFun {
private sendTime: number;
private endTime: number;
private notPush: boolean = false;
private mails: MailType[] = [];
private groupMails: GroupMailType[] = [];
private serverMails: ServerMailType[] = [];
// 从dicMail读取数据
public setWithContentId(contentId: MAIL_TYPE, params: { sendName?: string, endTime?: number, params?: string[], goods?: RewardInter[] }) {
@@ -126,6 +130,7 @@ export class SendMailFun {
let mails = new Map<string, MailParam>();
for(let roleId of roleIds) {
let originMail = await MailModel.addMail({ roleId, ...this.getCreateMailParams() });
this.mails.push(originMail);
let mail = new MailParam(this.mailType, originMail);
mails.set(roleId, mail);
}
@@ -139,6 +144,7 @@ export class SendMailFun {
return { roleId, status: MAIL_STATUS.CREATE }
})
let originMail = await GroupMailModel.addMail({ roleStatus, ...this.getCreateMailParams() });
this.groupMails.push(originMail);
return new MailParam(this.mailType, originMail);
}
@@ -148,6 +154,7 @@ export class SendMailFun {
for(let serverId of serverIds) {
let originMail = await ServerMailModel.addMail({ serverId, ...this.getCreateMailParams() });
mails.set(serverId, new MailParam(this.mailType, originMail));
this.serverMails.push(originMail);
}
return mails
}
@@ -206,4 +213,16 @@ export class SendMailFun {
}
}
}
public async saveRecord(createUid: number) {
for(let mail of this.mails) {
await GMMailRecordModel.createRecord(GM_MAIL_TYPE.SINGLE, mail, createUid);
}
for(let mail of this.groupMails) {
await GMMailRecordModel.createRecord(GM_MAIL_TYPE.GROUP, mail, createUid);
}
for(let mail of this.serverMails) {
await GMMailRecordModel.createRecord(GM_MAIL_TYPE.SERVER, mail, createUid);
}
}
}