后台:邮件

This commit is contained in:
luying
2021-12-01 14:45:06 +08:00
parent 53e55b288f
commit fe372de419
10 changed files with 41 additions and 63 deletions
+9 -9
View File
@@ -2,11 +2,10 @@
* 邮件的模板,在GM后台能看到的邮件列表
*/
import BaseModel from './BaseModel';
import { getModelForClass, prop, DocumentType, mongoose } from '@typegoose/typegoose';
import { getModelForClass, prop, DocumentType, mongoose, ReturnModelType } from '@typegoose/typegoose';
import { nowSeconds } from '../pubUtils/timeUtil';
import { GM_MAIL_STATUS, GM_MAIL_TYPE, MAIL_TIME_TYPE } from '../consts';
import { SearchMailParam } from '../domain/backEndField/search';
import { UpdateMailParams } from '../domain/backEndField/params';
class Reward {
@prop({ required: true })
@@ -53,7 +52,7 @@ export default class GMMail extends BaseModel {
circleDay: number; // 循环时间,每周几,0表示每天
@prop({ required: true })
circleHour: number; // 几点发送
circleHour: string; // 几点发送
@prop({ required: true })
title: string;
@@ -73,14 +72,14 @@ export default class GMMail extends BaseModel {
@prop({ required: true })
reason: string; // 原因
@prop({ required: true })
@prop({ required: true, default: false })
isSp: boolean; // 特殊邮件
@prop({ required: true })
@prop({ required: true, default: 0 })
status: GM_MAIL_STATUS; // 邮件状态
public static async addMail(params: UpdateMailParams, uid = 1) {
public static async addMail(params: GMMailTypeParam, uid = 1) {
const doc = new GMMailModel();
let mail = Object.assign(doc.toJSON(), params);
let result: GMMailType = await GMMailModel.findOneAndUpdate({ _id: mail._id }, { $set: {...mail, updatedBy: uid}, $setOnInsert: { createdBy: uid } }, {upsert: true, new: true}).lean();
@@ -110,8 +109,9 @@ export default class GMMail extends BaseModel {
private static getSearchObj(form: SearchMailParam) {
let searchObj = {};
if(form.createTimeStart) searchObj['createdAt'] = { $gt: new Date(form.createTimeStart) };
if(form.createTimeEnd) searchObj['createdAt'] = { $lt: new Date(form.createTimeEnd) };
console.log('******', form)
if(form.createTimeStart) searchObj['createdAt'] = { $gt: new Date(form.createTimeStart * 1000) };
if(form.createTimeEnd) searchObj['createdAt'] = { $lt: new Date(form.createTimeEnd * 1000) };
if(form.serverId) searchObj['receivers.serverId'] = form.serverId;
if(form.roleId) searchObj['receivers.roleId'] = form.roleId;
if(form.roleName) searchObj['receivers.roleName'] = { $regex: new RegExp(form.roleName.toString(), 'i') }
@@ -148,7 +148,7 @@ export default class GMMail extends BaseModel {
}
export let GMMailModel = getModelForClass(GMMail);
export let GMMailModel: ReturnModelType<typeof GMMail, {}>;
export function loadGMMailModel(connect: mongoose.Connection) {
GMMailModel = getModelForClass(GMMail, {
existingConnection: connect