This commit is contained in:
aozhiwei 2022-04-04 10:47:05 +08:00
parent 00b4310f06
commit d158fd8b6d
3 changed files with 12 additions and 21 deletions

View File

@ -202,29 +202,15 @@ class MarketController extends BaseController {
'createtime' => myself()->_getNowTime(), 'createtime' => myself()->_getNowTime(),
'modifytime' => myself()->_getNowTime() 'modifytime' => myself()->_getNowTime()
); );
if ($itemMeta['type'] == mt\Item::BLIND_BOX_TYPE) { $items = array();
for ($i = 1; $i <= 3; ++$i) { MarketService::openBox($itemMeta, $items);
if ($i <= 3) { for ($i = 1; $i <= BoxOrder::MAX_NFT_NUM; ++$i) {
$tokenId = phpcommon\setOrderIdSubIdx($orderId, $i); if ($i <= count($items)) {
$tokenType = 0;
$fieldsKv['bc_mint_need' . $i] = 1;
$fieldsKv['bc_mint_tokenid' . $i] = $tokenId;
$fieldsKv['bc_mint_itemid' . $i] = $itemId;
$fieldsKv['bc_mint_token_type' . $i] = $tokenType;
}
}
} else {
$tokenType = Nft::getTokenType($itemMeta);
if ($tokenType == Nft::NONE_TYPE) {
myself()->_rspErr(500, 'server internal error');
return;
} else {
$i = 1;
$tokenId = phpcommon\setOrderIdSubIdx($orderId, $i); $tokenId = phpcommon\setOrderIdSubIdx($orderId, $i);
$fieldsKv['bc_mint_need' . $i] = 1;
$fieldsKv['bc_mint_tokenid' . $i] = $tokenId; $fieldsKv['bc_mint_tokenid' . $i] = $tokenId;
$fieldsKv['bc_mint_itemid' . $i] = $itemId; $fieldsKv['bc_mint_need' . $i] = $items[$i]['need'];
$fieldsKv['bc_mint_token_type' . $i] = $tokenType; $fieldsKv['bc_mint_itemid' . $i] = $items[$i]['item_id'];
$fieldsKv['bc_mint_token_type' . $i] = $items[$i]['token_type'];
} }
} }
if (MarketService::isTestMode()) { if (MarketService::isTestMode()) {

View File

@ -7,6 +7,8 @@ use phpcommon\SqlHelper;
class BoxOrder extends BaseModel { class BoxOrder extends BaseModel {
const MAX_NFT_NUM = 3;
public function getSoldNum($batchIdx) public function getSoldNum($batchIdx)
{ {
$row = myself()->_getMarketMysql()->execQueryOne $row = myself()->_getMarketMysql()->execQueryOne

View File

@ -287,6 +287,9 @@ class MarketService extends BaseService {
} }
} }
} }
if (count($items) > BoxOrder::MAX_NFT_NUM) {
$items = array();
}
} else { } else {
$tokenType = Nft::getTokenType($itemMeta); $tokenType = Nft::getTokenType($itemMeta);
if ($tokenType != Nft::NONE_TYPE) { if ($tokenType != Nft::NONE_TYPE) {