事件上报接口增加剩余次数的返回

This commit is contained in:
zhl 2021-02-04 11:00:24 +08:00
parent 8060d75583
commit 8a740be4de
2 changed files with 24 additions and 10 deletions

View File

@ -648,12 +648,16 @@
3. Response: JSON 3. Response: JSON
```js ```js
[ //物品列表 {
{ rest: 1, //剩余次数
"id": 0, //道具id items: [ //物品列表
"count": 0, //道具数量 {
}, "id": 0, //道具id
] "count": 0, //道具数量
},
]
}
``` ```

View File

@ -12,7 +12,7 @@ export default class ActivityController extends BaseController {
@router('post /api/:accountid/update_event') @router('post /api/:accountid/update_event')
async generalEvent(req: any) { async generalEvent(req: any) {
let { id,accountid } = req.params let { id, accountid } = req.params
assert(id, 'id requiresd') assert(id, 'id requiresd')
let cfgMap = global.$cfg.get(BaseConst.INCOME) let cfgMap = global.$cfg.get(BaseConst.INCOME)
id = +id id = +id
@ -21,16 +21,21 @@ export default class ActivityController extends BaseController {
} }
let cfg = cfgMap.get(id) let cfg = cfgMap.get(id)
let day let day
let rest = 0
if (cfg.repeat) { if (cfg.repeat) {
day = (new Date()).format('yyyy-MM-dd', true) day = (new Date()).format('yyyy-MM-dd', true)
} else { } else {
day = (new Date(0)).format('yyyy-MM-dd', true) 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) { if (!cfg.repeat && record.count > 0) {
throw new ZError(12, 'already goted') 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') throw new ZError(13, 'reach today max count')
} }
if (cfg.interval && (Date.now() - record.lasttime) < cfg.interval) { if (cfg.interval && (Date.now() - record.lasttime) < cfg.interval) {
@ -40,6 +45,8 @@ export default class ActivityController extends BaseController {
cfg = cfg.get(9004) cfg = cfg.get(9004)
} }
record.count += 1 record.count += 1
rest = cfg.frequency - record.count
rest = rest <= 0 ? 0 : rest
record.lasttime = Date.now() record.lasttime = Date.now()
await record.save() await record.save()
const itemInfos: ItemInfo[] = ItemCtrl.getItemsByInfo(cfg.income) const itemInfos: ItemInfo[] = ItemCtrl.getItemsByInfo(cfg.income)
@ -53,6 +60,9 @@ export default class ActivityController extends BaseController {
results = itemInfos results = itemInfos
} }
await record.save() await record.save()
return results return {
items: results,
rest
}
} }
} }