import { Controller } from 'egg'; import { GM_MAIL_STATUS, GM_MAIL_TYPE, STATUS } from '@consts'; 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() { 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() { 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() { 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() { 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 }); return } public async getGMMailList() { const { ctx } = this; const { page, pageSize, sortField, sortOrder, form } = ctx.request.body; ctx.body = await ctx.service.mail.getGMMailList(page, pageSize, sortField, sortOrder, form); return } public async updateGMMail() { const { ctx } = this; const { _id, sendTime, endTime, useTempTime, continueHour, goods } = ctx.request.body; if(!_id) return ctx.body = ctx.service.utils.resResult(STATUS.WRONG_PARMS); if(useTempTime) { if(!sendTime || !endTime) return ctx.body = ctx.service.utils.resResult(STATUS.WRONG_PARMS); } else { if(!continueHour) return ctx.body = ctx.service.utils.resResult(STATUS.WRONG_PARMS); } let updateGoods = []; try{ updateGoods = JSON.parse(goods); } catch(e) { return ctx.body = ctx.service.utils.resResult(STATUS.WRONG_PARMS); } ctx.body = await ctx.service.mail.updateGMMail(_id, updateGoods); return } public async getGMMailRecords() { const { ctx } = this; const { page, pageSize, sortField, sortOrder, form } = ctx.request.body; ctx.body = await ctx.service.mail.getGMMailRecords(page, pageSize, sortField, sortOrder, form); return } }