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

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
```js
[ //物品列表
{
"id": 0, //道具id
"count": 0, //道具数量
},
]
{
rest: 1, //剩余次数
items: [ //物品列表
{
"id": 0, //道具id
"count": 0, //道具数量
},
]
}
```

View File

@ -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
}
}
}