邮件列表支持短店铺id
This commit is contained in:
parent
5dc346a3c3
commit
0401906403
@ -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)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user