diff --git a/src/admin/controllers/shop_active.controller.ts b/src/admin/controllers/shop_active.controller.ts index f24cb11..34ec8ba 100644 --- a/src/admin/controllers/shop_active.controller.ts +++ b/src/admin/controllers/shop_active.controller.ts @@ -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() + } } diff --git a/src/api/controllers/puzzle.controller.ts b/src/api/controllers/puzzle.controller.ts index 8ec849e..70dd88b 100644 --- a/src/api/controllers/puzzle.controller.ts +++ b/src/api/controllers/puzzle.controller.ts @@ -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} } }