事件上报接口增加剩余次数的返回
This commit is contained in:
parent
8060d75583
commit
8a740be4de
16
docs/api.md
16
docs/api.md
@ -648,12 +648,16 @@
|
||||
3. Response: JSON
|
||||
|
||||
```js
|
||||
[ //物品列表
|
||||
{
|
||||
"id": 0, //道具id
|
||||
"count": 0, //道具数量
|
||||
},
|
||||
]
|
||||
{
|
||||
rest: 1, //剩余次数
|
||||
items: [ //物品列表
|
||||
{
|
||||
"id": 0, //道具id
|
||||
"count": 0, //道具数量
|
||||
},
|
||||
]
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user