From 08395ec957314191bc6e4071e7ae08fb76394ed3 Mon Sep 17 00:00:00 2001 From: luying Date: Tue, 24 Aug 2021 15:14:35 +0800 Subject: [PATCH] =?UTF-8?q?=E9=82=AE=E4=BB=B6=EF=BC=9A=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E9=82=AE=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- shared/db/GroupMail.ts | 5 +++-- shared/db/ServerMail.ts | 12 ++++++++---- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/shared/db/GroupMail.ts b/shared/db/GroupMail.ts index 1c29b0ed8..dde19cff9 100644 --- a/shared/db/GroupMail.ts +++ b/shared/db/GroupMail.ts @@ -53,10 +53,11 @@ export default class GroupMail extends MailTemp { const result: GroupMailType = await GroupMailModel.findOneAndUpdate( { _id, sendTime:{ $lte: nowSeconds() }, + 'roleStatus.roleId': roleId, $or: [{ - roleStatus: {$elemMatch: {roleId, status: MAIL_STATUS.READ}}, hasGoods:false + 'roleStatus.status': MAIL_STATUS.READ, hasGoods:false }, { - roleStatus: {$elemMatch: {roleId, status: MAIL_STATUS.RECEIVED}} + 'roleStatus.status': MAIL_STATUS.RECEIVED }] }, { $set:{ 'roleStatus.$.status': MAIL_STATUS.DELETE } }, diff --git a/shared/db/ServerMail.ts b/shared/db/ServerMail.ts index 890078a19..10123cc22 100644 --- a/shared/db/ServerMail.ts +++ b/shared/db/ServerMail.ts @@ -59,19 +59,23 @@ export default class ServerMail extends MailTemp { * @param _id * @param lean */ - public static async delMailById(_id: string, roleId: string) { + public static async delMailById(id: string, roleId: string) { const result: ServerMailType = await ServerMailModel.findOneAndUpdate( { + _id: id, sendTime:{ $lte: nowSeconds() }, + 'roleStatus.roleId': roleId, $or: [{ - roleStatus: {$elemMatch: {roleId, status: MAIL_STATUS.READ}}, hasGoods:false + 'roleStatus.status': MAIL_STATUS.READ, hasGoods:false }, { - roleStatus: {$elemMatch: {roleId, status: MAIL_STATUS.RECEIVED}} + 'roleStatus.status': MAIL_STATUS.RECEIVED }] }, - { $set:{ 'roleStatus.$.status': MAIL_STATUS.DELETE, $push: { 'delRoles': roleId } } }, + { $set:{ 'roleStatus.$.status': MAIL_STATUS.DELETE}, $push: { delRoles: roleId } }, { new: true } ).lean(); + + console.log('*******', result) return result; }