diff --git a/src/api/controllers/mail.controller.ts b/src/api/controllers/mail.controller.ts index 7575879..5c3d9df 100644 --- a/src/api/controllers/mail.controller.ts +++ b/src/api/controllers/mail.controller.ts @@ -4,19 +4,27 @@ import { UserMail } from '../../models/user/UserMail' import { SysMail } from '../../models/content/SysMail' import { ZError } from '../../common/ZError' import { UserReward } from '../../models/user/UserReward' +import { Shop } from '../../models/shop/Shop' class MailController extends BaseController { @role('anon') @router('post /api/:accountId/mails') async list(req: any) { const { accountId, sid } = req.params + if (!sid) { + throw new ZError(10, '缺少必要参数: sid') + } + const shop = await Shop.fetchByID(sid) + if (!shop) { + throw new ZError(11, '无法找到对应店铺') + } await UserMail.updateExpire(accountId) let mails = await UserMail.find({ accountId }).sort({ status: 1, _id: -1 }) let mailSet: Set = new Set() for (let mail of mails) { mailSet.add(mail.oid) } - let sysMails = await SysMail.findMail(accountId, sid, [...mailSet]) + let sysMails = await SysMail.findMail(accountId, shop.id, [...mailSet]) if (sysMails?.length > 0) { for (let _m of sysMails) { let mail = await UserMail.receiveOne(accountId, _m)