邮件:定时邮件优化
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询有奖励的邮件
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user