事件上报接口增加剩余次数的返回
This commit is contained in:
parent
8060d75583
commit
8a740be4de
16
docs/api.md
16
docs/api.md
@ -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, //道具数量
|
||||||
|
},
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user