添加分解卡的接口
This commit is contained in:
parent
7d79d7b2b6
commit
832c074acd
@ -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
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user