This commit is contained in:
songliang 2022-12-06 12:40:37 +08:00
parent c730e061d1
commit 1db6804e49
2 changed files with 88 additions and 0 deletions

View File

@ -329,4 +329,27 @@ class Market(object):
['!nfts', [NftIntro()], 'nft列表'],
]
},
{
'name': 'listMyNfts',
'desc': '获取自己的NFTs',
'group': 'Market',
'url': 'webapp/index.php?c=Market&a=listMyNfts',
'params': [
['account', '', '账号id'],
['token', '', 'token'],
['start', 0, '分页开始偏移'],
['page_size', 0, '分页大小'],
['type', 0, '物品类型 1:英雄 2:武器 3:芯片'],
['job_filters', '', '职业过滤(用|分割)'],
['search_filters', '', '搜索过滤(用|分割)'],
['lv_filter', 0, '等级过滤'],
],
'response': [
_common.RspHead(),
['total', 0, '出售的列表总数量(当前过滤配置)'],
['start', 0, '有效的分页偏移'],
['page_size', 0, '有效的分页大小'],
['!nfts', [NftIntro()], 'nft列表'],
]
}
]

View File

@ -21,6 +21,7 @@ require_once('phpcommon/bchelper.php');
use phpcommon\SqlHelper;
use models\BoxOrder;
use models\Nft;
use models\
use models\BuyRecord;
use services\MarketService;
use services\LuckyBoxService;
@ -599,6 +600,70 @@ class MarketController extends BaseController {
));
}
public function listMylNfts()
{
$account = getReqVal('account', '');
$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);
$search_filters = getReqVal('search_filters', '');
$search_filter_array = explode('|', $search_filters);
$lv_filter = getReqVal('lv_filter', 15);
$price_filter = getReqVal('price_filter', '');
$price_filter_array = explode('|', $price_filter);
$conn = myself()->_getMysql('');
$rows = SqlHelper::ormSelect(
$conn,
't_market_store'
);
$total = count($rows);
$page_end = $start + $page_size;
if ($page_end > $total)
$page_end = $total;
$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);
}
$this->_rspData(array(
"total" => count($rows),
"start" => $start,
"page_size" => $page_size,
'nfts' => $nfts,
));
}
}