后台:邮件

This commit is contained in:
luying
2021-12-01 11:30:25 +08:00
parent c4e4e472d1
commit 53e55b288f
16 changed files with 192 additions and 83 deletions
+1 -1
View File
@@ -4,7 +4,7 @@ import { COUNTER } from '../consts';
import { CounterModel } from './Counter';
import { HeroModel } from './Hero';
import { RoleModel } from './Role';
import { SearchEquipParam } from '@domain/backEndField/search';
import { SearchEquipParam } from '../domain/backEndField/search';
export class RandSe {
@prop({ required: true })
+5 -6
View File
@@ -5,7 +5,8 @@ import BaseModel from './BaseModel';
import { getModelForClass, prop, DocumentType, mongoose } 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 { SearchMailParam } from '../domain/backEndField/search';
import { UpdateMailParams } from '../domain/backEndField/params';
class Reward {
@prop({ required: true })
@@ -14,7 +15,7 @@ class Reward {
count: number;
}
class Receiver {
export class Receiver {
@prop({ required: true })
env: string;
@prop({ required: true })
@@ -66,9 +67,6 @@ export default class GMMail extends BaseModel {
@prop({ required: true })
mailType: GM_MAIL_TYPE; // 收件人类型
@prop({ required: true })
env: string; // 大区环境变量
@prop({ required: true, type: Receiver, _id: false })
receivers: Receiver[];
@@ -81,7 +79,8 @@ export default class GMMail extends BaseModel {
@prop({ required: true })
status: GM_MAIL_STATUS; // 邮件状态
public static async addMail(params: GMMailTypeParam, uid = 1) {
public static async addMail(params: UpdateMailParams, 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();
+5 -1
View File
@@ -362,12 +362,16 @@ export default class Role extends BaseModel {
const role: RoleType = await RoleModel.findOne({ roleId }).select(select).lean({ getters, virtuals });
return role;
}
public static async findByRoleIds(roleIds: string[], select?: string, getters = false, virtuals = true) {
const role: RoleType[] = await RoleModel.find({ roleId: { $in: roleIds } }).select(select).lean({ getters, virtuals });
return role;
}
public static async findByRoleName(roleName: string, select?: string, getters = false, virtuals = true) {
const role: RoleType = await RoleModel.findOne({ roleName }).select(select).lean({ getters, virtuals });
return role;
}
public static async createRole(uid: number, serverId: number, roleInfo: { roleId: string; roleName: string; seqId: number; code: string, lv?: number, exp?: number }, lean = true) {
const user = await User.findUserByUid(uid);
if (!user) return null;
+5
View File
@@ -87,6 +87,11 @@ export default class Serverlist extends BaseModel {
return server;
}
public static async findByServerIds(serverIds: number[]) {
let servers: ServerlistType[] = await ServerlistModel.find({ id: { $in: serverIds } }).select('medianCe activityGroupId').lean({ getters: true, virtuals: true });
return servers;
}
public static async updateByServerId(serverId: number, update: ServerlistUpdate) {
let server: ServerlistType = await ServerlistModel.findOneAndUpdate({ id: serverId }, { $set: update }).lean({ getters: true, virtuals: true });
return server;