邮件:定时邮件优化

This commit is contained in:
luying
2022-02-23 19:06:31 +08:00
parent 38a4c41953
commit 0436215f3a
11 changed files with 281 additions and 111 deletions

View File

@@ -20,6 +20,9 @@ export default class GroupMail extends MailTemp {
@prop({ required: true, type: RoleStatus })
roleStatus: RoleStatus[];
@prop({ required: false })
guildCode: string;
/**
* @description 根据玩家id获得所有有效邮件
* @param {String} roleId 玩家id
@@ -113,6 +116,16 @@ export default class GroupMail extends MailTemp {
return result;
}
public static async findByTimeGap(beforeTime: number, time: number) {
const result: GroupMailType[] = await GroupMailModel.find({ sendTime: { $gt: beforeTime, $lte: time } }).lean();
return result;
}
public static async findBySendTime(time: number) {
const result: GroupMailType[] = await GroupMailModel.find({ sendTime: time }).lean();
return result;
}
public static async updateStatusWithCondition(_id: string, roleId: string, status: number) {
const result: GroupMailType = await GroupMailModel.findOneAndUpdate({ _id, 'roleStatus.roleId': roleId, sendTime:{$lte: nowSeconds()} }, {$set:{ 'roleStatus.$.status': status }}, { new: true }).lean();
return result;

View File

@@ -111,7 +111,15 @@ export default class Mail extends MailTemp {
return result;
}
public static async findByTimeGap(beforeTime: number, time: number) {
const result: MailType[] = await MailModel.find({ sendTime: { $gt: beforeTime, $lte: time } }).lean();
return result;
}
public static async findBySendTime(time: number) {
const result: MailType[] = await MailModel.find({ sendTime: time }).lean();
return result;
}
/**
* 查询有奖励的邮件

View File

@@ -43,6 +43,16 @@ export default class ServerMail extends MailTemp {
return result;
}
public static async findByTimeGap(beforeTime: number, time: number) {
const result: ServerMailType[] = await ServerMailModel.find({ sendTime: { $gt: beforeTime, $lte: time } }).lean();
return result;
}
public static async findBySendTime(time: number) {
const result: ServerMailType[] = await ServerMailModel.find({ sendTime: time }).lean();
return result;
}
/**
* @description 创建邮件
* @param params