邮件列表支持短店铺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 { 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<string> = 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)