This commit is contained in:
aozhiwei 2022-12-08 17:09:34 +08:00
parent 82f1da56b3
commit 0d77b89fb0

View File

@ -10,6 +10,10 @@ require_once('mt/Parameter.php');
require_once('models/BoxOrder.php'); require_once('models/BoxOrder.php');
require_once('models/Nft.php'); require_once('models/Nft.php');
require_once('models/Hero.php');
require_once('models/Gun.php');
require_once('models/Chip.php');
require_once('models/Fragment.php');
require_once('models/BuyRecord.php'); require_once('models/BuyRecord.php');
require_once('services/MarketService.php'); require_once('services/MarketService.php');
@ -24,6 +28,7 @@ use models\Nft;
use models\Hero; use models\Hero;
use models\Gun; use models\Gun;
use models\Chip; use models\Chip;
use models\Fragment;
use models\BuyRecord; use models\BuyRecord;
use services\MarketService; use services\MarketService;
use services\LuckyBoxService; use services\LuckyBoxService;
@ -537,6 +542,41 @@ class MarketController extends BaseController {
myself()->_rspOk(); myself()->_rspOk();
} }
private function getNftListByAccountAndType($account, $type) {
$nfts = array();
switch ($type) {
case 1: {
$rows = Nft::getNftListByType($account, $type);
foreach ($rows as &$row) {
$nftDb = Nft::getNft($row['token_id']);
$row['info'] = Nft::toDto($nftDb);
$row['detail'] = Hero::toDtoInfo(Hero::findByTokenId2($row['token_id']));
}
} break;
case 2: {
$rows = Nft::getNftListByType($account, $type);
foreach ($rows as &$row) {
$nftDb = Nft::getNft($row['token_id']);
$row['info'] = Nft::toDto($nftDb);
$row['detail'] = Gun::toDtoInfo(Gun::findByTokenId2($row['token_id']));
}
} break;
case 3: {
$rows = Nft::getNft1155List($account, $type);
foreach ($rows as &$row) {
$row['detail'] = Chip::toDto(Chip::getChipByTokenId($row['token_id']));
}
} break;
case 4: {
$rows = Nft::getNft1155List($account, $type);
} break;
default: {
$rows = array();
}
}
return $rows;
}
public function listSellNfts() public function listSellNfts()
{ {
$account = getReqVal('account', ''); $account = getReqVal('account', '');
@ -624,7 +664,9 @@ class MarketController extends BaseController {
$lv_filter = getReqVal('lv_filter', 15); $lv_filter = getReqVal('lv_filter', 15);
$account = '0x9a4d9dd2bfcad659975f0f5a480625c7929e9385'; $account = '0x9a4d9dd2bfcad659975f0f5a480625c7929e9385';
$rows = Nft::getNftListByType($account, $type); $rows = $this->getNftListByAccountAndType($account, $type);
// error_log(json_encode($rows[0]));
// $rows = Nft::getNftListByType($account, $type);
$total = count($rows); $total = count($rows);
$page_end = $start + $page_size; $page_end = $start + $page_size;
@ -635,40 +677,40 @@ class MarketController extends BaseController {
if ($start<0) $start = 0; if ($start<0) $start = 0;
} }
$nfts = array(); // $nfts = array();
for ($x = $start; $x < $page_end; $x++) { // for ($x = $start; $x < $page_end; $x++) {
$row = $rows[$x]; // $row = $rows[$x];
$nftDb = Nft::getNft($row['token_id']); // $nftDb = Nft::getNft($row['token_id']);
if (!$nftDb) { // if (!$nftDb) {
myself()->_rspErr(1, 'nft not exists'); // myself()->_rspErr(1, 'nft not exists');
return; // return;
} // }
$nft = Nft::toDto($nftDb); // $nft = Nft::toDto($nftDb);
$t = $row['token_type']; // $t = $row['token_type'];
switch($t) { // switch($t) {
case Nft::HERO_TYPE: { // case Nft::HERO_TYPE: {
} break; // } break;
case Nft::EQUIP_TYPE: { // case Nft::EQUIP_TYPE: {
} break; // } break;
case Nft::CHIP_TYPE: { // case Nft::CHIP_TYPE: {
} break; // } break;
default: { // default: {
} // }
} // }
$row['details'] = $nft; // $row['details'] = $nft;
array_push($nfts, $row); // array_push($nfts, $row);
} // }
$this->_rspData(array( $this->_rspData(array(
"total" => count($rows), "total" => count($rows),
"start" => $start, "start" => $start,
"page_size" => $page_size, "page_size" => $page_size,
'nfts' => $nfts, 'nfts' => $rows,
)); ));
} }