✨ feat(邮件): 添加专属邮件
This commit is contained in:
@@ -83,7 +83,8 @@ export default class GroupMail extends MailTemp {
|
||||
* @param roleId
|
||||
*/
|
||||
public static async delMailsByRoleId(roleId: string) {
|
||||
const ids: { _id: string }[] = await GroupMailModel.find( {
|
||||
const ids: { _id: string }[] = await GroupMailModel.find({
|
||||
isSp: false,
|
||||
sendTime:{ $lte: nowSeconds() },
|
||||
$or: [{
|
||||
roleStatus: {$elemMatch: {roleId, status: MAIL_STATUS.READ}}, hasGoods:false
|
||||
@@ -160,7 +161,7 @@ export default class GroupMail extends MailTemp {
|
||||
* @param lean
|
||||
*/
|
||||
public static async findRewardsMails(roleId: string, lean = true) {
|
||||
const result: GroupMailType[] = await GroupMailModel.find({ roleStatus: { $elemMatch:{roleId, status:{ $in: [ MAIL_STATUS.CREATE, MAIL_STATUS.READ ] }} }, sendTime:{$lte: nowSeconds()} }).lean(lean);
|
||||
const result: GroupMailType[] = await GroupMailModel.find({ roleStatus: { $elemMatch:{roleId, status:{ $in: [ MAIL_STATUS.CREATE, MAIL_STATUS.READ ] }} }, sendTime:{$lte: nowSeconds()}, isSp: false }).lean(lean);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -87,7 +87,7 @@ export default class Mail extends MailTemp {
|
||||
* @param roleId
|
||||
*/
|
||||
public static async delMailsByRoleId(roleId: string) {
|
||||
const ids: { _id: string }[] = await MailModel.find({ roleId, $or: [{ $and: [{ status: MAIL_STATUS.READ, hasGoods: false }] }, { status: MAIL_STATUS.RECEIVED }], sendTime:{$lte: nowSeconds()} }).select('_id').lean();
|
||||
const ids: { _id: string }[] = await MailModel.find({ roleId, $or: [{ $and: [{ status: MAIL_STATUS.READ, hasGoods: false }] }, { status: MAIL_STATUS.RECEIVED }], sendTime:{$lte: nowSeconds()}, isSp: false }).select('_id').lean();
|
||||
let result: MailType[] = [];
|
||||
for(let _id of ids) {
|
||||
let rec = await MailModel.findByIdAndUpdate(_id, { $set:{ status: MAIL_STATUS.DELETE }}, { new: true }).lean();
|
||||
@@ -128,7 +128,7 @@ export default class Mail extends MailTemp {
|
||||
* @param lean
|
||||
*/
|
||||
public static async findRewardsMails(roleId: string, lean = true) {
|
||||
const result: MailType[] = await MailModel.find({ roleId, status: {$in: [ MAIL_STATUS.CREATE, MAIL_STATUS.READ ] }, sendTime:{$lte: nowSeconds()} }).lean(lean);
|
||||
const result: MailType[] = await MailModel.find({ roleId, status: {$in: [ MAIL_STATUS.CREATE, MAIL_STATUS.READ ] }, sendTime:{$lte: nowSeconds()}, isSp: false }).lean(lean);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,6 +35,9 @@ export default class MailTemp extends BaseModel {
|
||||
@prop({ required: true })
|
||||
hasGoods: boolean;
|
||||
|
||||
@prop({ required: true })
|
||||
isSp: boolean;
|
||||
|
||||
@prop({ required: true, type: Reward, default: [], _id: false })
|
||||
goods: Array<Reward>;
|
||||
|
||||
|
||||
@@ -98,6 +98,7 @@ export default class ServerMail extends MailTemp {
|
||||
public static async delMailsByRoleId(roleId: string) {
|
||||
const ids: { _id: string }[] = await ServerMailModel.find(
|
||||
{
|
||||
isSp: false,
|
||||
sendTime:{ $lte: nowSeconds() },
|
||||
$or: [{
|
||||
roleStatus: {$elemMatch: {roleId, status: MAIL_STATUS.READ}}, hasGoods:false
|
||||
@@ -133,7 +134,7 @@ export default class ServerMail extends MailTemp {
|
||||
* @param lean
|
||||
*/
|
||||
public static async findRewardsMails(serverId: number, roleId: string, lean = true) {
|
||||
const allMails: ServerMailType[] = await ServerMailModel.find({ serverId, sendTime:{$lte: nowSeconds()} }).lean(lean);
|
||||
const allMails: ServerMailType[] = await ServerMailModel.find({ serverId, sendTime:{$lte: nowSeconds()}, isSp: false }).lean(lean);
|
||||
let result: ServerMailType[] = [];
|
||||
for(let mail of allMails) {
|
||||
let { roleStatus } = mail;
|
||||
|
||||
Reference in New Issue
Block a user