From 8a740be4dea9ac8935ea83b2df2998b5b996cdaa Mon Sep 17 00:00:00 2001 From: zhl Date: Thu, 4 Feb 2021 11:00:24 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E4=B8=8A=E6=8A=A5=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E5=A2=9E=E5=8A=A0=E5=89=A9=E4=BD=99=E6=AC=A1=E6=95=B0?= =?UTF-8?q?=E7=9A=84=E8=BF=94=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/api.md | 16 ++++++++++------ src/controllers/ActivityController.ts | 18 ++++++++++++++---- 2 files changed, 24 insertions(+), 10 deletions(-) diff --git a/docs/api.md b/docs/api.md index 2f74258..bbe3fb3 100644 --- a/docs/api.md +++ b/docs/api.md @@ -648,12 +648,16 @@ 3. Response: JSON ```js -[ //物品列表 - { - "id": 0, //道具id - "count": 0, //道具数量 - }, -] +{ + rest: 1, //剩余次数 + items: [ //物品列表 + { + "id": 0, //道具id + "count": 0, //道具数量 + }, + ] +} + ``` diff --git a/src/controllers/ActivityController.ts b/src/controllers/ActivityController.ts index 52f51ab..617a7a6 100644 --- a/src/controllers/ActivityController.ts +++ b/src/controllers/ActivityController.ts @@ -12,7 +12,7 @@ export default class ActivityController extends BaseController { @router('post /api/:accountid/update_event') async generalEvent(req: any) { - let { id,accountid } = req.params + let { id, accountid } = req.params assert(id, 'id requiresd') let cfgMap = global.$cfg.get(BaseConst.INCOME) id = +id @@ -21,16 +21,21 @@ export default class ActivityController extends BaseController { } let cfg = cfgMap.get(id) let day + let rest = 0 if (cfg.repeat) { day = (new Date()).format('yyyy-MM-dd', true) } else { day = (new Date(0)).format('yyyy-MM-dd', true) } - let record = (await ActRecord.findOrCreate({accountid, actid: id, day})).doc + let record = (await ActRecord.findOrCreate({ + accountid, + actid: id, + day + })).doc if (!cfg.repeat && record.count > 0) { throw new ZError(12, 'already goted') } - if (cfg.repeat && record.count >= cfg.frequency ) { + if (cfg.repeat && record.count >= cfg.frequency) { throw new ZError(13, 'reach today max count') } if (cfg.interval && (Date.now() - record.lasttime) < cfg.interval) { @@ -40,6 +45,8 @@ export default class ActivityController extends BaseController { cfg = cfg.get(9004) } record.count += 1 + rest = cfg.frequency - record.count + rest = rest <= 0 ? 0 : rest record.lasttime = Date.now() await record.save() const itemInfos: ItemInfo[] = ItemCtrl.getItemsByInfo(cfg.income) @@ -53,6 +60,9 @@ export default class ActivityController extends BaseController { results = itemInfos } await record.save() - return results + return { + items: results, + rest + } } }