Merge branch 'james_bc' of git.kingsome.cn:server/game2006api into james_bc

This commit is contained in:
hujiabin 2022-12-12 10:48:52 +08:00
commit c85790d1d7
2 changed files with 74 additions and 22 deletions

View File

@ -339,7 +339,7 @@ class Market(object):
['token', '', 'token'], ['token', '', 'token'],
['start', 0, '分页开始偏移'], ['start', 0, '分页开始偏移'],
['page_size', 0, '分页大小'], ['page_size', 0, '分页大小'],
['order_method', 0, '排序方式 0:默认排序(当前指向1) 1:上架时间 2:价格 3:星级质量 4:等级 5:能量值 6:生命值 7:攻击力 8:防御力'], ['order_method', 0, '排序方式 0:默认排序(当前指向1) 1:等级 2:能量值 3:星级 4:tokenid'],
['order_asc', 0, '排序方向, 0:从小到大 1:从大到小'], ['order_asc', 0, '排序方向, 0:从小到大 1:从大到小'],
['type', 0, '物品类型 1:英雄 2:武器 3:芯片'], ['type', 0, '物品类型 1:英雄 2:武器 3:芯片'],
['job_filters', '', '职业过滤(用|分割)'], ['job_filters', '', '职业过滤(用|分割)'],

View File

@ -542,37 +542,89 @@ class MarketController extends BaseController {
myself()->_rspOk(); myself()->_rspOk();
} }
private function getNftListByAccountAndType($account, $type) { private function getNftListByAccountAndType($account, $type, $order_method, $order_asc)
{
$sortByLevel = function ($a, $b) use ($order_asc) {
};
$sortByStar = function ($a, $b) use($order_asc) {
};
$sortByPower = function ($a, $b) use($order_asc) {
};
$sortByTokenId = function ($a, $b) use ($order_asc) {
if ($order_asc == 1) {
return $b['token_id'] - $a['token_id'];
} else {
return $a['token_id'] - $b['token_id'];
}
};
$nfts = array(); $nfts = array();
switch ($type) { switch ($type) {
case 1: { case 1: {
$rows = Nft::getNftListByType($account, $type); $rows = Nft::getNftListByType($account, $type);
foreach ($rows as &$row) { foreach ($rows as &$row) {
$nftDb = Nft::getNft($row['token_id']); $nftDb = Nft::getNft($row['token_id']);
$row['info'] = Nft::toDto($nftDb); $row['info'] = Nft::toDto($nftDb);
$row['detail'] = Hero::toDtoInfo(Hero::findByTokenId2($row['token_id'])); $row['detail'] = Hero::toDtoInfo(Hero::findByTokenId2($row['token_id']));
}
switch ($order_method) {
case 1:
usort($rows, $sortByLevel);
break;
case 2:
usort($rows, $sortByPower);
break;
case 3:
usort($rows, $sortByStar);
break;
}
} }
} break; break;
case 2: { case 2: {
$rows = Nft::getNftListByType($account, $type); $rows = Nft::getNftListByType($account, $type);
foreach ($rows as &$row) { foreach ($rows as &$row) {
$nftDb = Nft::getNft($row['token_id']); $nftDb = Nft::getNft($row['token_id']);
$row['info'] = Nft::toDto($nftDb); $row['info'] = Nft::toDto($nftDb);
$row['detail'] = Gun::toDtoInfo(Gun::findByTokenId2($row['token_id'])); $row['detail'] = Gun::toDtoInfo(Gun::findByTokenId2($row['token_id']));
}
switch ($order_method) {
case 1:
usort($rows, $sortByLevel);
break;
case 2:
usort($rows, $sortByPower);
break;
case 3:
usort($rows, $sortByStar);
break;
}
} }
} break; break;
case 3: { case 3: {
$rows = Nft::getNft1155List($account, $type); $rows = Nft::getNft1155List($account, $type);
foreach ($rows as &$row) { foreach ($rows as &$row) {
$row['detail'] = Chip::toDto(Chip::getChipByTokenId($row['token_id'])); $row['detail'] = Chip::toDto(Chip::getChipByTokenId($row['token_id']));
}
switch ($order_method) {
case 1:
usort($rows, $sortByLevel);
break;
case 2:
usort($rows, $sortByPower);
break;
}
} }
} break; break;
case 4: { case 4: {
$rows = Nft::getNft1155List($account, $type); $rows = Nft::getNft1155List($account, $type);
} break; usort($rows, $sortByTokenId);
}
break;
default: { default: {
$rows = array(); $rows = array();
} }
} }
return $rows; return $rows;
} }