diff --git a/game-server/app/servers/gm/handler/gmMailHandler.ts b/game-server/app/servers/gm/handler/gmMailHandler.ts index 7bf866b98..994629cea 100644 --- a/game-server/app/servers/gm/handler/gmMailHandler.ts +++ b/game-server/app/servers/gm/handler/gmMailHandler.ts @@ -9,7 +9,6 @@ import { delGuildActivityRank, getRoleOnlineInfo } from '../../../services/redis import { SendMailFun } from '../../../services/mailService'; import { GM_MAIL_TYPE } from '../../../consts'; import { RewardInter } from '../../../pubUtils/interface'; -import { CreateMailParams } from '../../../domain/backEndField/params'; export default function (app: Application) { return new GmMailHandler(app); diff --git a/gm-server/app/controller/mail.ts b/gm-server/app/controller/mail.ts index ca3d70611..7a1533fd3 100644 --- a/gm-server/app/controller/mail.ts +++ b/gm-server/app/controller/mail.ts @@ -1,52 +1,28 @@ import { Controller } from 'egg'; -import { GM_MAIL_STATUS, GM_MAIL_TYPE, STATUS } from '@consts'; +import { GM_MAIL_TYPE, STATUS } from '@consts'; import { UpdateMailParams } from '@domain/backEndField/params'; export default class MailController extends Controller { - public async getCreateSingleMail() { - const { ctx } = this; - const { page, pageSize, sortField, sortOrder, form } = ctx.request.body; - ctx.body = await ctx.service.mail.getGMMailList(page, pageSize, sortField, sortOrder, {...form, mailType: GM_MAIL_TYPE.SINGLE, status: GM_MAIL_STATUS.CREATE, hasGoods: true }); - return - } - public async getCreateSingleMailTxt() { - const { ctx } = this; - const { page, pageSize, sortField, sortOrder, form } = ctx.request.body; - ctx.body = await ctx.service.mail.getGMMailList(page, pageSize, sortField, sortOrder, {...form, mailType: GM_MAIL_TYPE.SINGLE, status: GM_MAIL_STATUS.CREATE, hasGoods: false }); - return - } - public async getCreateServerMail() { - const { ctx } = this; - const { page, pageSize, sortField, sortOrder, form } = ctx.request.body; - ctx.body = await ctx.service.mail.getGMMailList(page, pageSize, sortField, sortOrder, {...form, mailType: GM_MAIL_TYPE.SERVER, status: GM_MAIL_STATUS.CREATE, hasGoods: true }); - return - } - public async getCreateServerMailTxt() { - const { ctx } = this; - const { page, pageSize, sortField, sortOrder, form } = ctx.request.body; - ctx.body = await ctx.service.mail.getGMMailList(page, pageSize, sortField, sortOrder, {...form, mailType: GM_MAIL_TYPE.SERVER, status: GM_MAIL_STATUS.CREATE, hasGoods: false }); - return - } - public async getViewSingleMail() { + public async getSingleMail() { const { ctx } = this; const { page, pageSize, sortField, sortOrder, form } = ctx.request.body; ctx.body = await ctx.service.mail.getGMMailList(page, pageSize, sortField, sortOrder, {...form, mailType: GM_MAIL_TYPE.SINGLE, hasGoods: true }); return } - public async getViewSingleMailTxt() { + public async getSingleMailTxt() { const { ctx } = this; const { page, pageSize, sortField, sortOrder, form } = ctx.request.body; ctx.body = await ctx.service.mail.getGMMailList(page, pageSize, sortField, sortOrder, {...form, mailType: GM_MAIL_TYPE.SINGLE, hasGoods: false }); return } - public async getViewServerMail() { + public async getServerMail() { const { ctx } = this; const { page, pageSize, sortField, sortOrder, form } = ctx.request.body; ctx.body = await ctx.service.mail.getGMMailList(page, pageSize, sortField, sortOrder, {...form, mailType: GM_MAIL_TYPE.SERVER, hasGoods: true }); return } - public async getViewServerMailTxt() { + public async getServerMailTxt() { const { ctx } = this; const { page, pageSize, sortField, sortOrder, form } = ctx.request.body; ctx.body = await ctx.service.mail.getGMMailList(page, pageSize, sortField, sortOrder, {...form, mailType: GM_MAIL_TYPE.SERVER, hasGoods: false }); @@ -71,11 +47,15 @@ export default class MailController extends Controller { public async updateGMMail() { const { ctx } = this; const msg = ctx.request.body; + let params = new UpdateMailParams(msg); + let check = params.checkParams(); + if(!check) return ctx.body = ctx.service.utils.resResult(STATUS.WRONG_PARMS); if(msg._id == 'new') { - let params = new UpdateMailParams(msg); - let check = params.checkParams(); - if(!check) return ctx.body = ctx.service.utils.resResult(STATUS.WRONG_PARMS); ctx.body = await ctx.service.mail.createGmMail(params); + } else if(msg._id) { + ctx.body = await ctx.service.mail.updateGMMail(msg._id, params); + } else { + return ctx.body = ctx.service.utils.resResult(STATUS.WRONG_PARMS); } return diff --git a/gm-server/app/router.ts b/gm-server/app/router.ts index fffa2fbd9..64a7e1586 100644 --- a/gm-server/app/router.ts +++ b/gm-server/app/router.ts @@ -95,15 +95,18 @@ export default (app: Application) => { router.post('/api/activity/updateactivitytaskpoint', controller.activity.updateActivityTaskPoint); router.post('/api/activity/delactivitytaskpoint', controller.activity.delActivityTaskPoint); - router.post('/api/mail/getcreatesinglemail', controller.mail.getCreateSingleMail); - router.post('/api/mail/getcreatesinglemailtxt', controller.mail.getCreateSingleMailTxt); - router.post('/api/mail/getcreateservermail', controller.mail.getCreateServerMail); - router.post('/api/mail/getcreateservermailtxt', controller.mail.getCreateServerMailTxt); - router.post('/api/mail/getviewsinglemail', controller.mail.getViewSingleMail); - router.post('/api/mail/getviewsinglemailtxt', controller.mail.getViewSingleMailTxt); - router.post('/api/mail/getviewservermail', controller.mail.getViewServerMail); - router.post('/api/mail/getviewservermailtxt', controller.mail.getViewServerMailTxt); + router.post('/api/mail/getcreatesinglemail', controller.mail.getSingleMail); + router.post('/api/mail/getcreatesinglemailtxt', controller.mail.getSingleMailTxt); + router.post('/api/mail/getcreateservermail', controller.mail.getServerMail); + router.post('/api/mail/getcreateservermailtxt', controller.mail.getServerMailTxt); + router.post('/api/mail/getviewsinglemail', controller.mail.getSingleMail); + router.post('/api/mail/getviewsinglemailtxt', controller.mail.getSingleMailTxt); + router.post('/api/mail/getviewservermail', controller.mail.getServerMail); + router.post('/api/mail/getviewservermailtxt', controller.mail.getServerMailTxt); router.post('/api/mail/findrolebyidorname', controller.mail.findRoleByIdOrName); - router.post('/api/mail/updategmmail', controller.mail.updateGMMail); + router.post('/api/mail/updatesinglemail', controller.mail.updateGMMail); + router.post('/api/mail/updatesinglemailtxt', controller.mail.updateGMMail); + router.post('/api/mail/updateservermail', controller.mail.updateGMMail); + router.post('/api/mail/updateservermailtxt', controller.mail.updateGMMail); router.post('/api/mail/getgmmailrecords', controller.mail.getGMMailRecords); }; diff --git a/gm-server/app/service/Mail.ts b/gm-server/app/service/Mail.ts index 6e4dd5614..baa216eaf 100644 --- a/gm-server/app/service/Mail.ts +++ b/gm-server/app/service/Mail.ts @@ -33,18 +33,14 @@ export default class Mail extends Service { public async createGmMail(params: UpdateMailParams) { const { ctx } = this; - await GMMailModel.addMail(params); + await GMMailModel.addMail(params, ctx.user?.uid); return ctx.service.utils.resResult(STATUS.SUCCESS); } - public async updateGMMail(isCreate: boolean, params: UpdateMailParams) { + public async updateGMMail(_id: string, params: UpdateMailParams) { const { ctx } = this; - if(isCreate) { - await GMMailModel.addMail(params); - } else { - // await GMMailModel.updateMailById(params._id, params); - } + await GMMailModel.updateMailById(_id, params, ctx.user?.uid); return ctx.service.utils.resResult(STATUS.SUCCESS); } diff --git a/shared/db/Api.ts b/shared/db/Api.ts index 4e1918507..ea2e6b35a 100644 --- a/shared/db/Api.ts +++ b/shared/db/Api.ts @@ -38,7 +38,7 @@ export default class Api extends BaseModel { } -export let ApiModel: ReturnModelType = getModelForClass(Api); +export let ApiModel: ReturnModelType; export function loadApiModel(connect: mongoose.Connection) { ApiModel = getModelForClass(Api, { existingConnection: connect diff --git a/shared/db/GMGroup.ts b/shared/db/GMGroup.ts index 623175914..5fd24c9db 100644 --- a/shared/db/GMGroup.ts +++ b/shared/db/GMGroup.ts @@ -74,7 +74,7 @@ export default class GMGroup extends BaseModel { } -export let GMGroupModel: ReturnModelType = getModelForClass(GMGroup); +export let GMGroupModel: ReturnModelType; export function loadGMGroupModel(connect: mongoose.Connection) { GMGroupModel = getModelForClass(GMGroup, { existingConnection: connect diff --git a/shared/db/GMMail.ts b/shared/db/GMMail.ts index efd334cc5..8d04866c3 100644 --- a/shared/db/GMMail.ts +++ b/shared/db/GMMail.ts @@ -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; export function loadGMMailModel(connect: mongoose.Connection) { GMMailModel = getModelForClass(GMMail, { existingConnection: connect diff --git a/shared/db/GMRecord.ts b/shared/db/GMRecord.ts index ae940f36a..39e0cd9d6 100644 --- a/shared/db/GMRecord.ts +++ b/shared/db/GMRecord.ts @@ -28,7 +28,7 @@ export default class GMRecord extends BaseModel { } -export let GMRecordModel: ReturnModelType = getModelForClass(GMRecord); +export let GMRecordModel: ReturnModelType; export function loadGMRecordModel(connect: mongoose.Connection) { GMRecordModel = getModelForClass(GMRecord, { existingConnection: connect diff --git a/shared/db/GMUser.ts b/shared/db/GMUser.ts index 91d2a42da..d521f130a 100644 --- a/shared/db/GMUser.ts +++ b/shared/db/GMUser.ts @@ -85,7 +85,7 @@ export default class GMUser extends BaseModel { } } -export let GMUserModel: ReturnModelType = getModelForClass(GMUser); +export let GMUserModel: ReturnModelType; export function loadGMUserModel(connect: mongoose.Connection) { GMUserModel = getModelForClass(GMUser, { existingConnection: connect diff --git a/shared/db/GMUserGroup.ts b/shared/db/GMUserGroup.ts index e7e0f2be1..a84a74999 100644 --- a/shared/db/GMUserGroup.ts +++ b/shared/db/GMUserGroup.ts @@ -32,7 +32,7 @@ export default class GMUserGroup extends BaseModel { } } -export let GMUserGroupModel: ReturnModelType = getModelForClass(GMUserGroup); +export let GMUserGroupModel: ReturnModelType; export function loadGMUserGroupModel(connect: mongoose.Connection) { GMUserGroupModel = getModelForClass(GMUserGroup, { existingConnection: connect