邮件列表支持短店铺id

This commit is contained in:
zhl 2021-06-09 19:50:52 +08:00
parent 5dc346a3c3
commit 0401906403

View File

@ -4,19 +4,27 @@ import { UserMail } from '../../models/user/UserMail'
import { SysMail } from '../../models/content/SysMail' import { SysMail } from '../../models/content/SysMail'
import { ZError } from '../../common/ZError' import { ZError } from '../../common/ZError'
import { UserReward } from '../../models/user/UserReward' import { UserReward } from '../../models/user/UserReward'
import { Shop } from '../../models/shop/Shop'
class MailController extends BaseController { class MailController extends BaseController {
@role('anon') @role('anon')
@router('post /api/:accountId/mails') @router('post /api/:accountId/mails')
async list(req: any) { async list(req: any) {
const { accountId, sid } = req.params 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) await UserMail.updateExpire(accountId)
let mails = await UserMail.find({ accountId }).sort({ status: 1, _id: -1 }) let mails = await UserMail.find({ accountId }).sort({ status: 1, _id: -1 })
let mailSet: Set<string> = new Set() let mailSet: Set<string> = new Set()
for (let mail of mails) { for (let mail of mails) {
mailSet.add(mail.oid) 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) { if (sysMails?.length > 0) {
for (let _m of sysMails) { for (let _m of sysMails) {
let mail = await UserMail.receiveOne(accountId, _m) let mail = await UserMail.receiveOne(accountId, _m)