From 0d77b89fb0fef649fbe4b36a135ce374eea62984 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Thu, 8 Dec 2022 17:09:34 +0800 Subject: [PATCH 1/2] ... --- webapp/controller/MarketController.class.php | 92 ++++++++++++++------ 1 file changed, 67 insertions(+), 25 deletions(-) diff --git a/webapp/controller/MarketController.class.php b/webapp/controller/MarketController.class.php index f151aae3..8047e850 100644 --- a/webapp/controller/MarketController.class.php +++ b/webapp/controller/MarketController.class.php @@ -10,6 +10,10 @@ require_once('mt/Parameter.php'); require_once('models/BoxOrder.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('services/MarketService.php'); @@ -24,6 +28,7 @@ use models\Nft; use models\Hero; use models\Gun; use models\Chip; +use models\Fragment; use models\BuyRecord; use services\MarketService; use services\LuckyBoxService; @@ -537,6 +542,41 @@ class MarketController extends BaseController { 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() { $account = getReqVal('account', ''); @@ -624,7 +664,9 @@ class MarketController extends BaseController { $lv_filter = getReqVal('lv_filter', 15); $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); $page_end = $start + $page_size; @@ -635,40 +677,40 @@ class MarketController extends BaseController { if ($start<0) $start = 0; } - $nfts = array(); - for ($x = $start; $x < $page_end; $x++) { - $row = $rows[$x]; - $nftDb = Nft::getNft($row['token_id']); - if (!$nftDb) { - myself()->_rspErr(1, 'nft not exists'); - return; - } - $nft = Nft::toDto($nftDb); + // $nfts = array(); + // for ($x = $start; $x < $page_end; $x++) { + // $row = $rows[$x]; + // $nftDb = Nft::getNft($row['token_id']); + // if (!$nftDb) { + // myself()->_rspErr(1, 'nft not exists'); + // return; + // } + // $nft = Nft::toDto($nftDb); - $t = $row['token_type']; - switch($t) { - case Nft::HERO_TYPE: { + // $t = $row['token_type']; + // switch($t) { + // case Nft::HERO_TYPE: { - } break; - case Nft::EQUIP_TYPE: { + // } break; + // case Nft::EQUIP_TYPE: { - } break; - case Nft::CHIP_TYPE: { + // } break; + // case Nft::CHIP_TYPE: { - } break; - default: { + // } break; + // default: { - } - } - $row['details'] = $nft; - array_push($nfts, $row); - } + // } + // } + // $row['details'] = $nft; + // array_push($nfts, $row); + // } $this->_rspData(array( "total" => count($rows), "start" => $start, "page_size" => $page_size, - 'nfts' => $nfts, + 'nfts' => $rows, )); } From e0f5620e0af5adc754255dd975701ab929314f72 Mon Sep 17 00:00:00 2001 From: songliang Date: Thu, 8 Dec 2022 17:31:14 +0800 Subject: [PATCH 2/2] ... --- webapp/controller/MarketController.class.php | 37 +++++--------------- 1 file changed, 8 insertions(+), 29 deletions(-) diff --git a/webapp/controller/MarketController.class.php b/webapp/controller/MarketController.class.php index 8047e850..debc1686 100644 --- a/webapp/controller/MarketController.class.php +++ b/webapp/controller/MarketController.class.php @@ -656,6 +656,8 @@ class MarketController extends BaseController { $token = getReqVal('token', ''); $start = getReqVal('start', 0); $page_size = getReqVal('page_size', 10); + $order_method = getReqVal('order_method', 0); + $order_asc = getReqVal('order_asc', 1); $type = getReqVal('type', 1); $job_filters = getReqVal('job_filters', ''); $job_filter_array = explode('|', $job_filters); @@ -677,40 +679,17 @@ class MarketController extends BaseController { if ($start<0) $start = 0; } - // $nfts = array(); - // for ($x = $start; $x < $page_end; $x++) { - // $row = $rows[$x]; - // $nftDb = Nft::getNft($row['token_id']); - // if (!$nftDb) { - // myself()->_rspErr(1, 'nft not exists'); - // return; - // } - // $nft = Nft::toDto($nftDb); - - // $t = $row['token_type']; - // switch($t) { - // case Nft::HERO_TYPE: { - - // } break; - // case Nft::EQUIP_TYPE: { - - // } break; - // case Nft::CHIP_TYPE: { - - // } break; - // default: { - - // } - // } - // $row['details'] = $nft; - // array_push($nfts, $row); - // } + $nfts = array(); + for ($x = $start; $x < $page_end; $x++) { + $row = $rows[$x]; + array_push($nfts, $row); + } $this->_rspData(array( "total" => count($rows), "start" => $start, "page_size" => $page_size, - 'nfts' => $rows, + 'nfts' => $nfts, )); }