diff --git a/shared/db/GroupMail.ts b/shared/db/GroupMail.ts index df4f7b2f2..1c29b0ed8 100644 --- a/shared/db/GroupMail.ts +++ b/shared/db/GroupMail.ts @@ -56,7 +56,7 @@ export default class GroupMail extends MailTemp { $or: [{ roleStatus: {$elemMatch: {roleId, status: MAIL_STATUS.READ}}, hasGoods:false }, { - roleStatus: {$elemMatch: {roleId, status: MAIL_STATUS.RECEIVED}}, hasGoods: true + roleStatus: {$elemMatch: {roleId, status: MAIL_STATUS.RECEIVED}} }] }, { $set:{ 'roleStatus.$.status': MAIL_STATUS.DELETE } }, @@ -76,7 +76,7 @@ export default class GroupMail extends MailTemp { $or: [{ roleStatus: {$elemMatch: {roleId, status: MAIL_STATUS.READ}}, hasGoods:false }, { - roleStatus: {$elemMatch: {roleId, status: MAIL_STATUS.RECEIVED}}, hasGoods: true + roleStatus: {$elemMatch: {roleId, status: MAIL_STATUS.RECEIVED}} }] },).select('_id').lean(); const result: GroupMailType[] = []; @@ -118,7 +118,7 @@ export default class GroupMail extends MailTemp { } public static async findReadAndRewardsMails(roleId: string, lean = true) { - const ids: GroupMailType[] = await GroupMailModel.find({ sendTime:{$lte: nowSeconds()}, roleStatus: { $elemMatch: { roleId, $or:[ {$and: [{status: MAIL_STATUS.READ}, { hasGoods: true }]},{status: MAIL_STATUS.RECEIVED} ] } } }).select('_id').lean(lean); + const ids: GroupMailType[] = await GroupMailModel.find({ sendTime:{$lte: nowSeconds()}, roleStatus: { $elemMatch: { roleId, $or:[ {$and: [{status: MAIL_STATUS.READ}, { hasGoods: false }]},{status: MAIL_STATUS.RECEIVED} ] } } }).select('_id').lean(lean); return ids; } diff --git a/shared/db/ServerMail.ts b/shared/db/ServerMail.ts index 027d0eae4..890078a19 100644 --- a/shared/db/ServerMail.ts +++ b/shared/db/ServerMail.ts @@ -66,7 +66,7 @@ export default class ServerMail extends MailTemp { $or: [{ roleStatus: {$elemMatch: {roleId, status: MAIL_STATUS.READ}}, hasGoods:false }, { - roleStatus: {$elemMatch: {roleId, status: MAIL_STATUS.RECEIVED}}, hasGoods: true + roleStatus: {$elemMatch: {roleId, status: MAIL_STATUS.RECEIVED}} }] }, { $set:{ 'roleStatus.$.status': MAIL_STATUS.DELETE, $push: { 'delRoles': roleId } } }, @@ -87,7 +87,7 @@ export default class ServerMail extends MailTemp { $or: [{ roleStatus: {$elemMatch: {roleId, status: MAIL_STATUS.READ}}, hasGoods:false }, { - roleStatus: {$elemMatch: {roleId, status: MAIL_STATUS.RECEIVED}}, hasGoods: true + roleStatus: {$elemMatch: {roleId, status: MAIL_STATUS.RECEIVED}} }] } ).select('_id').lean();