添加分解卡的接口
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 { Card } from '../models/subdoc/Card'
|
||||||
import { MoneyTypeConst } from '../constants/MoneyTypeConst'
|
import { MoneyTypeConst } from '../constants/MoneyTypeConst'
|
||||||
import { BaseConst } from '../constants/BaseConst'
|
import { BaseConst } from '../constants/BaseConst'
|
||||||
|
import { BagItem, ItemType } from '../models/BagItem'
|
||||||
|
import ItemCtrl from '../logic/ItemCtrl'
|
||||||
|
|
||||||
export default class CardController extends BaseController {
|
export default class CardController extends BaseController {
|
||||||
@router('post /api/:accountid/card_group/:heroid')
|
@router('post /api/:accountid/card_group/:heroid')
|
||||||
@ -169,7 +171,28 @@ export default class CardController extends BaseController {
|
|||||||
@router('post /api/:accountid/card/destory')
|
@router('post /api/:accountid/card/destory')
|
||||||
async destoryCard(req: any) {
|
async destoryCard(req: any) {
|
||||||
let { cardid, count, accountid } = req.params
|
let { cardid, count, accountid } = req.params
|
||||||
|
let record = await BagItem.findOne({
|
||||||
return {}
|
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