增加活动激活和冻结功能, 修正排行榜无法获取的bug

This commit is contained in:
zhl 2021-05-19 16:18:27 +08:00
parent f2d217f7d8
commit 0a8a91ab0e
2 changed files with 26 additions and 7 deletions

View File

@ -1,8 +1,8 @@
import BaseController from '../../common/base.controller'
import { permission, router } from '../../decorators/router'
import { ShopActivity } from '../../models/shop/ShopActivity'
import { Puzzle } from '../../models/content/Puzzle'
import { ZError } from '../../common/ZError'
import { Shop } from '../../models/shop/Shop'
class ShopactivityController extends BaseController {
@permission('activity:read')
@ -40,7 +40,7 @@ class ShopactivityController extends BaseController {
@permission('activity:edit')
@router('post /activity/save')
async save(req: any) {
let { _id, withNext } = req.params
let { _id } = req.params
let user = req.user
let record
if (!_id) {
@ -50,6 +50,9 @@ class ShopactivityController extends BaseController {
record = await ShopActivity.findById(_id)
record.updateFromReq(req.params)
}
if (record.active) {
await ShopActivity.updateMany({active: true}, {active: false})
}
await record.save()
return record.toJson()
}
@ -69,4 +72,20 @@ class ShopactivityController extends BaseController {
})
return {}
}
@permission(['activity:review'])
@router('post /activity/publish')
async publish(req: any) {
let { id, active } = req.params
let record = await ShopActivity.findById(id)
if (!record) {
throw new ZError(11, 'record not found')
}
record.active = active
if (active) {
await ShopActivity.updateMany({shop: record.shop, active: true, deleted: false}, {active: false})
}
await record.save()
return record.toJson()
}
}

View File

@ -290,12 +290,12 @@ class PuzzleController extends BaseController {
}
@role('anon')
@router('post /api/:accounid/puzzle/rank')
@router('post /api/:accountId/puzzle/rank')
async singleRank(req) {
let {shop, level, accountid, mode, skip, limit} = req.params
skip = skip || 0
limit = limit || 10
let {rankList, userRank, rankTotal} = await getRank({shop, level, accountId: accountid, mode, skip, limit})
let {shop, level, accountId, mode, skip, limit} = req.params
skip = +skip || 0
limit = +limit || 10
let {rankList, userRank, rankTotal} = await getRank({shop, level, accountId, mode, skip, limit})
return {rankList, userRank, rankTotal}
}
}