36 lines
1.6 KiB
TypeScript
36 lines
1.6 KiB
TypeScript
|
|
import { Service } from 'egg';
|
|
import { GMMailModel } from '@db/GMMail';
|
|
import { STATUS } from '@consts';
|
|
import { GMMailRecordModel } from '@db/GMMailRecord';
|
|
import { RewardInter } from '@pubUtils/interface';
|
|
|
|
export default class Mail extends Service {
|
|
|
|
public async getGMMailList(page: number, pageSize: number, sortField: string, sortOrder: string, form: {}) {
|
|
const { ctx } = this;
|
|
const list = await GMMailModel.findByCondition(page, pageSize, sortField, sortOrder, form);
|
|
const total = await GMMailModel.countByCondition( form )
|
|
return ctx.service.utils.resResult(STATUS.SUCCESS, {
|
|
list, total
|
|
});
|
|
}
|
|
|
|
public async updateGMMail(_id: string, content: string, sendName: string, useTempTime: boolean, sendTime: number, endTime: number, continueHour: number, goods: RewardInter[]) {
|
|
const { ctx } = this;
|
|
if(_id == 'new') {
|
|
await GMMailModel.addMail({ content, sendName, useTempTime, sendTime, endTime, continueHour, goods });
|
|
} else {
|
|
await GMMailModel.updateMailById(_id, { content, sendName, useTempTime, sendTime, endTime, continueHour, goods });
|
|
}
|
|
return ctx.service.utils.resResult(STATUS.SUCCESS);
|
|
}
|
|
|
|
public async getGMMailRecords(page: number, pageSize: number, sortField: string, sortOrder: string, form: {}) {
|
|
const { ctx } = this;
|
|
const list = await GMMailRecordModel.findByCondition(page, pageSize, sortField, sortOrder, form);
|
|
return ctx.service.utils.resResult(STATUS.SUCCESS, {
|
|
list
|
|
});
|
|
}
|
|
} |