添加分解卡的接口

This commit is contained in:
zhl 2021-01-22 11:44:22 +08:00
parent 7d79d7b2b6
commit 832c074acd

View File

@ -5,6 +5,8 @@ import { ZError } from '../common/ZError'
import { Card } from '../models/subdoc/Card'
import { MoneyTypeConst } from '../constants/MoneyTypeConst'
import { BaseConst } from '../constants/BaseConst'
import { BagItem, ItemType } from '../models/BagItem'
import ItemCtrl from '../logic/ItemCtrl'
export default class CardController extends BaseController {
@router('post /api/:accountid/card_group/:heroid')
@ -169,7 +171,28 @@ export default class CardController extends BaseController {
@router('post /api/:accountid/card/destory')
async destoryCard(req: any) {
let { cardid, count, accountid } = req.params
return {}
let record = await BagItem.findOne({
accountid,
itemid: cardid,
itemtype: ItemType.CARD
})
if (!record) {
throw new ZError(11, 'item not found')
}
if (record.count < count) {
throw new ZError(12, 'not enough item')
}
let data = ItemCtrl.decomposeItemCard(cardid, count)
for (let obj of data) {
let item = (await BagItem.findOrCreate({
accountid,
itemid: obj.id,
itemtype: obj.type
})).doc
item.count += obj.count
await item.save()
}
await record.save()
return data
}
}