From 7a145ea2af49d791ce36da8e2b035d4462359f3d Mon Sep 17 00:00:00 2001 From: songliang Date: Mon, 12 Dec 2022 10:45:43 +0800 Subject: [PATCH 01/57] ... --- doc/Market.py | 2 +- webapp/controller/MarketController.class.php | 94 +++++++++++++++----- 2 files changed, 74 insertions(+), 22 deletions(-) diff --git a/doc/Market.py b/doc/Market.py index 82ae4159..e1afbb7e 100644 --- a/doc/Market.py +++ b/doc/Market.py @@ -339,7 +339,7 @@ class Market(object): ['token', '', 'token'], ['start', 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:从大到小'], ['type', 0, '物品类型 1:英雄 2:武器 3:芯片'], ['job_filters', '', '职业过滤(用|分割)'], diff --git a/webapp/controller/MarketController.class.php b/webapp/controller/MarketController.class.php index bfb31e2b..0bbcc959 100644 --- a/webapp/controller/MarketController.class.php +++ b/webapp/controller/MarketController.class.php @@ -542,37 +542,89 @@ class MarketController extends BaseController { 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(); 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'])); + $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'])); + } + 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: { - $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'])); + $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'])); + } + 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: { - $rows = Nft::getNft1155List($account, $type); - foreach ($rows as &$row) { - $row['detail'] = Chip::toDto(Chip::getChipByTokenId($row['token_id'])); + $rows = Nft::getNft1155List($account, $type); + foreach ($rows as &$row) { + $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: { - $rows = Nft::getNft1155List($account, $type); - } break; + $rows = Nft::getNft1155List($account, $type); + usort($rows, $sortByTokenId); + } + break; default: { - $rows = array(); - } + $rows = array(); + } } return $rows; } From 015a2a7f54e34f54a67b947a97c63d0e5329b18f Mon Sep 17 00:00:00 2001 From: hujiabin Date: Mon, 12 Dec 2022 10:48:48 +0800 Subject: [PATCH 02/57] add Currency --- doc/Currency.py | 37 ++++ doc/_common.py | 12 ++ sql/gamedb.sql | 23 +++ .../controller/CurrencyController.class.php | 47 +++++ webapp/models/Currency.php | 162 ++++++++++++++++++ 5 files changed, 281 insertions(+) create mode 100644 doc/Currency.py create mode 100644 webapp/controller/CurrencyController.class.php create mode 100644 webapp/models/Currency.php diff --git a/doc/Currency.py b/doc/Currency.py new file mode 100644 index 00000000..bf5042e6 --- /dev/null +++ b/doc/Currency.py @@ -0,0 +1,37 @@ + +import _common + +class Currency(object): + + def __init__(self): + self.apis = [ + { + 'name': 'addCurrency', + 'desc': '添加货币地址', + 'group': 'Currency', + 'url': 'webapp/index.php?c=Currency&a=addCurrency', + 'params': [ + _common.ReqHead(), + ['net_id', 0, '链id'], + ['address', '', '货币地址'], + ['symbol', '', '符号'], + ['precision', 0, '精度'], + ['type', 0, '1:ERC721 2:ERC1155 3:ERC20'], + ], + 'response': [ + _common.RspHead(), + ] + },{ + 'name': 'currencyList', + 'desc': '列表', + 'group': 'Currency', + 'url': 'webapp/index.php?c=Currency&a=currencyList', + 'params': [ + _common.ReqHead(), + ], + 'response': [ + _common.RspHead(), + ['!list', [_common.Currency()], '列表信息'], + ] + }, + ] \ No newline at end of file diff --git a/doc/_common.py b/doc/_common.py index dc6ba631..e38c0f55 100644 --- a/doc/_common.py +++ b/doc/_common.py @@ -1001,3 +1001,15 @@ class EventRankingList(object): ['endTime', '', '结束时间'], ['status', 0, '0:已结束 1:进行中 2:等待中'], ] + +class Currency(object): + + def __init__(self): + self.fields = [ + ['account_id', '', 'account_id'], + ['net_id', 0, '链id'], + ['address', '', '货币地址'], + ['symbol', '', '符号'], + ['precision', 0, '精度'], + ['type', 0, '1:ERC721 2:ERC1155 3:ERC20'], + ] \ No newline at end of file diff --git a/sql/gamedb.sql b/sql/gamedb.sql index 8209a8c9..fd809c41 100644 --- a/sql/gamedb.sql +++ b/sql/gamedb.sql @@ -896,3 +896,26 @@ CREATE TABLE `t_event_ranking` ( KEY `value` (`value`) ) ENGINE=InnoDB AUTO_INCREMENT=10001 DEFAULT CHARSET=utf8 COLLATE=utf8_bin; /*!40101 SET character_set_client = @saved_cs_client */; + + +-- +-- Table structure for table `t_user_currency` +-- + +DROP TABLE IF EXISTS `t_user_currency`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `t_user_currency` ( + `idx` bigint NOT NULL AUTO_INCREMENT COMMENT '自增id', + `account_id` varchar(60) NOT NULL DEFAULT '' COMMENT '账号id', + `net_id` int(11) NOT NULL DEFAULT '0' COMMENT '链id', + `address` varchar(60) NOT NULL DEFAULT '' COMMENT '货币地址', + `symbol` varchar(10) NOT NULL DEFAULT '' COMMENT '符号', + `precision` int(11) NOT NULL DEFAULT '0' COMMENT '精度', + `type` int(11) NOT NULL DEFAULT '0' COMMENT '类型 1:ERC721 2:ERC1155 3:ERC20', + `createtime` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间', + `modifytime` int(11) NOT NULL DEFAULT '0' COMMENT '修改时间', + PRIMARY KEY (`idx`), + UNIQUE KEY `account_net_address` (`account_id`, `net_id`, `address`) +) ENGINE=InnoDB AUTO_INCREMENT=10001 DEFAULT CHARSET=utf8 COLLATE=utf8_bin; +/*!40101 SET character_set_client = @saved_cs_client */; \ No newline at end of file diff --git a/webapp/controller/CurrencyController.class.php b/webapp/controller/CurrencyController.class.php new file mode 100644 index 00000000..d3fac0b9 --- /dev/null +++ b/webapp/controller/CurrencyController.class.php @@ -0,0 +1,47 @@ +_getAccountId(); + $netId = getReqVal('net_id', 0); + $address = getReqVal('address', 0); + $symbol = getReqVal('symbol', 0); + $precision = getReqVal('precision', 0); + $type = getReqVal('type', 0); + if ( ! $netId){ + $this->_rspErr(1,'param netId error'); + return; + }elseif( ! $address){ + $this->_rspErr(1,'param address error'); + return; + }elseif( ! $symbol){ + $this->_rspErr(1,'param symbol error'); + return; + }elseif( ! $precision){ + $this->_rspErr(1,'param precision error'); + return; + }elseif( ! $type){ + $this->_rspErr(1,'param type error'); + return; + } + Currency::addCurrency(array( + 'net_id' => $netId, + 'address' => $address, + 'symbol' => $symbol, + 'precision' => $precision, + 'type' => $type, + )); + $this->_rspOk(); + } + + public function currencyList(){ + $list = Currency::getCurrencyList(); + $this->_rspData(array( + 'list'=>$list + )); + } +} \ No newline at end of file diff --git a/webapp/models/Currency.php b/webapp/models/Currency.php new file mode 100644 index 00000000..a564d4d0 --- /dev/null +++ b/webapp/models/Currency.php @@ -0,0 +1,162 @@ +_getSelfMysql(), + 't_user_currency', + array( + 'account_id'=>myself()->_getAccountId() + ) + ); + if ($rows){ + $list = array_merge($baseList,$rows); + }else{ + $list = $baseList; + } + return $list; + } + + public static function addCurrency($data){ + if (!$data){ + return; + } + SqlHelper::upsert + (myself()->_getSelfMysql(), + 't_user_currency', + array( + 'account_id' => myself()->_getAccountId(), + 'net_id' => $data['net_id'], + 'address' => $data['address'], + ), + array( + ), + array( + 'account_id' => myself()->_getAccountId(), + 'net_id' => $data['net_id'], + 'address' => $data['address'], + 'symbol' => $data['symbol'], + 'precision' => $data['precision'], + 'type' => $data['type'], + 'createtime' => myself()->_getNowTime(), + 'modifytime' => myself()->_getNowTime(), + + ) + ); + } + + + private static function baseCurrency(){ + if (SERVER_ENV == _ONLINE) { + return array( + array( + 'account_id'=> myself()->_getAccountId(), + 'net_id'=>80001, + 'address'=>'0xfa513999031dC1DCf86e99d91101e17d07839235', + 'symbol'=>'CEC', + 'precision'=>18, + 'type'=>3, + ), + array( + 'account_id'=> myself()->_getAccountId(), + 'net_id'=>80001, + 'address'=>'0x9f87eCA8F0479383fF11a5AB2336b5A6c383d6F3', + 'symbol'=>'CEG', + 'precision'=>18, + 'type'=>3, + ), + array( + 'account_id'=> myself()->_getAccountId(), + 'net_id'=>80001, + 'address'=>'0x3EBF5196dADC8F3F09C808333f98FE8A4b7d1e62', + 'symbol'=>'hero', + 'precision'=>18, + 'type'=>1, + ), + array( + 'account_id'=> myself()->_getAccountId(), + 'net_id'=>80001, + 'address'=>'0x2F2Ed1c403cB7156617449795dE1CB47A0302a25', + 'symbol'=>'weapon', + 'precision'=>18, + 'type'=>1, + ), + array( + 'account_id'=> myself()->_getAccountId(), + 'net_id'=>80001, + 'address'=>'0x73482411443E87CAC124C12A10B34e9Aaa2De168', + 'symbol'=>'chip', + 'precision'=>18, + 'type'=>2, + ), + array( + 'account_id'=> myself()->_getAccountId(), + 'net_id'=>80001, + 'address'=>'0xFc21A863bFb4E4534B246078772e2074e076f0a7', + 'symbol'=>'shard', + 'precision'=>18, + 'type'=>2, + ), + ); + }else{ + return array( + array( + 'account_id'=> myself()->_getAccountId(), + 'net_id'=>1338, + 'address'=>'0x9561C133DD8580860B6b7E504bC5Aa500f0f06a7', + 'symbol'=>'CEC', + 'precision'=>18, + 'type'=>3, + ), + array( + 'account_id'=> myself()->_getAccountId(), + 'net_id'=>1338, + 'address'=>'0x59d3631c86BbE35EF041872d502F218A39FBa150', + 'symbol'=>'CEG', + 'precision'=>18, + 'type'=>3, + ), + array( + 'account_id'=> myself()->_getAccountId(), + 'net_id'=>1338, + 'address'=>'0x9b1f7F645351AF3631a656421eD2e40f2802E6c0', + 'symbol'=>'hero', + 'precision'=>18, + 'type'=>1, + ), + array( + 'account_id'=> myself()->_getAccountId(), + 'net_id'=>1338, + 'address'=>'0x2612Af3A521c2df9EAF28422Ca335b04AdF3ac66', + 'symbol'=>'weapon', + 'precision'=>18, + 'type'=>1, + ), + array( + 'account_id'=> myself()->_getAccountId(), + 'net_id'=>1338, + 'address'=>'0x26b4AFb60d6C903165150C6F0AA14F8016bE4aec', + 'symbol'=>'chip', + 'precision'=>18, + 'type'=>2, + ), + array( + 'account_id'=> myself()->_getAccountId(), + 'net_id'=>1338, + 'address'=>'0x0E696947A06550DEf604e82C26fd9E493e576337', + 'symbol'=>'shard', + 'precision'=>18, + 'type'=>2, + ), + ); + } + } +} \ No newline at end of file From a4b4c32e174cee7ead310e87a08a1f064d356cb3 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 12 Dec 2022 11:32:28 +0800 Subject: [PATCH 03/57] ... --- webapp/controller/MarketController.class.php | 34 ++++++++++++-------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/webapp/controller/MarketController.class.php b/webapp/controller/MarketController.class.php index 0bbcc959..4c4c667d 100644 --- a/webapp/controller/MarketController.class.php +++ b/webapp/controller/MarketController.class.php @@ -545,20 +545,28 @@ class MarketController extends BaseController { private function getNftListByAccountAndType($account, $type, $order_method, $order_asc) { $sortByLevel = function ($a, $b) use ($order_asc) { - + return ($order_asc == 1 ? 1 : -1) * ($b['detail']['hero_lv'] - $a['detail']['hero_lv']); + }; + $sortByGunLv = function ($a, $b) use($order_asc) { + return ($order_asc == 1 ? 1 : -1) * ($b['detail']['gun_lv'] - $a['detail']['gun_lv']); + }; + $sortByTili = function ($a, $b) use($order_asc) { + return ($order_asc == 1 ? 1 : -1) * ($b['detail']['hero_tili'] - $a['detail']['hero_tili']); }; $sortByStar = function ($a, $b) use($order_asc) { - + return ($order_asc == 1 ? 1 : -1) * ($b['detail']['quality'] - $a['detail']['quality']); + }; + $sortByDurability = function ($a, $b) use($order_asc) { + return ($order_asc == 1 ? 1 : -1) * ($b['detail']['durability_max'] - $a['detail']['durability_max']); }; $sortByPower = function ($a, $b) use($order_asc) { - + return ($order_asc == 1 ? 1 : -1) * ($b['detail']['strength'] - $a['detail']['strength']); + }; + $sortByGrade = function ($a, $b) use($order_asc) { + return ($order_asc == 1 ? 1 : -1) * ($b['detail']['chip_grade'] - $a['detail']['chip_grade']); }; $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']; - } + return ($order_asc == 1 ? 1 : -1) * ($b['token_id'] - $a['token_id']); }; $nfts = array(); switch ($type) { @@ -574,7 +582,7 @@ class MarketController extends BaseController { usort($rows, $sortByLevel); break; case 2: - usort($rows, $sortByPower); + usort($rows, $sortByTili); break; case 3: usort($rows, $sortByStar); @@ -591,10 +599,10 @@ class MarketController extends BaseController { } switch ($order_method) { case 1: - usort($rows, $sortByLevel); + usort($rows, $sortByGunLv); break; case 2: - usort($rows, $sortByPower); + usort($rows, $sortByDurability); break; case 3: usort($rows, $sortByStar); @@ -609,7 +617,7 @@ class MarketController extends BaseController { } switch ($order_method) { case 1: - usort($rows, $sortByLevel); + usort($rows, $sortByGrade); break; case 2: usort($rows, $sortByPower); @@ -718,7 +726,7 @@ class MarketController extends BaseController { $lv_filter = getReqVal('lv_filter', 15); $account = '0x9a4d9dd2bfcad659975f0f5a480625c7929e9385'; - $rows = $this->getNftListByAccountAndType($account, $type); + $rows = $this->getNftListByAccountAndType($account, $type, $order_method, $order_asc); $total = count($rows); $page_end = $start + $page_size; From 9e8b3fe729cabf9a0a9606757351c73abdf734a0 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 12 Dec 2022 11:51:24 +0800 Subject: [PATCH 04/57] ... --- webapp/controller/MarketController.class.php | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/webapp/controller/MarketController.class.php b/webapp/controller/MarketController.class.php index 4c4c667d..a6c7da50 100644 --- a/webapp/controller/MarketController.class.php +++ b/webapp/controller/MarketController.class.php @@ -542,7 +542,7 @@ class MarketController extends BaseController { myself()->_rspOk(); } - private function getNftListByAccountAndType($account, $type, $order_method, $order_asc) + private function getNftListByAccountAndType($account, $type, $order_method, $order_asc, $job, $search, $lv) { $sortByLevel = function ($a, $b) use ($order_asc) { return ($order_asc == 1 ? 1 : -1) * ($b['detail']['hero_lv'] - $a['detail']['hero_lv']); @@ -576,16 +576,17 @@ class MarketController extends BaseController { $nftDb = Nft::getNft($row['token_id']); $row['info'] = Nft::toDto($nftDb); $row['detail'] = Hero::toDtoInfo(Hero::findByTokenId2($row['token_id'])); + array_push($nfts, $row); } switch ($order_method) { case 1: - usort($rows, $sortByLevel); + usort($nfts, $sortByLevel); break; case 2: - usort($rows, $sortByTili); + usort($nfts, $sortByTili); break; case 3: - usort($rows, $sortByStar); + usort($nfts, $sortByStar); break; } } @@ -596,6 +597,7 @@ class MarketController extends BaseController { $nftDb = Nft::getNft($row['token_id']); $row['info'] = Nft::toDto($nftDb); $row['detail'] = Gun::toDtoInfo(Gun::findByTokenId2($row['token_id'])); + array_push($nfts, $row); } switch ($order_method) { case 1: @@ -614,6 +616,7 @@ class MarketController extends BaseController { $rows = Nft::getNft1155List($account, $type); foreach ($rows as &$row) { $row['detail'] = Chip::toDto(Chip::getChipByTokenId($row['token_id'])); + array_push($nfts, $row); } switch ($order_method) { case 1: @@ -628,13 +631,14 @@ class MarketController extends BaseController { case 4: { $rows = Nft::getNft1155List($account, $type); usort($rows, $sortByTokenId); + $nfts = $rows; } break; default: { - $rows = array(); + } } - return $rows; + return $nfts; } public function listSellNfts() @@ -726,7 +730,7 @@ class MarketController extends BaseController { $lv_filter = getReqVal('lv_filter', 15); $account = '0x9a4d9dd2bfcad659975f0f5a480625c7929e9385'; - $rows = $this->getNftListByAccountAndType($account, $type, $order_method, $order_asc); + $rows = $this->getNftListByAccountAndType($account, $type, $order_method, $order_asc, $job_filter_array, $search_filter_array, $lv_filter); $total = count($rows); $page_end = $start + $page_size; From e1922f39042075e6b93bdc318058bf43fad3c2d4 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 12 Dec 2022 13:49:53 +0800 Subject: [PATCH 05/57] ... --- webapp/controller/MarketController.class.php | 32 +++++++++++++++----- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/webapp/controller/MarketController.class.php b/webapp/controller/MarketController.class.php index a6c7da50..ef1a1ee4 100644 --- a/webapp/controller/MarketController.class.php +++ b/webapp/controller/MarketController.class.php @@ -576,6 +576,11 @@ class MarketController extends BaseController { $nftDb = Nft::getNft($row['token_id']); $row['info'] = Nft::toDto($nftDb); $row['detail'] = Hero::toDtoInfo(Hero::findByTokenId2($row['token_id'])); + if (in_array($row['info']['info']['job'], $job)==false) continue; + if ($row['detail']['hero_lv']<$lv) continue; + if (count($search)>0) { + if (!(in_array($row['detail']['hero_name'], $search) || in_array($row['detail']['token_id'], $search))) continue; + } array_push($nfts, $row); } switch ($order_method) { @@ -597,17 +602,21 @@ class MarketController extends BaseController { $nftDb = Nft::getNft($row['token_id']); $row['info'] = Nft::toDto($nftDb); $row['detail'] = Gun::toDtoInfo(Gun::findByTokenId2($row['token_id'])); + if ($row['detail']['gun_lv']<$lv) continue; + if (count($search)>0) { + if (!(in_array($rwo['detail']['gun_name'], $search) || in_array($row['detail']['token_id'], $search))) continue; + } array_push($nfts, $row); } switch ($order_method) { case 1: - usort($rows, $sortByGunLv); + usort($nfts, $sortByGunLv); break; case 2: - usort($rows, $sortByDurability); + usort($nfts, $sortByDurability); break; case 3: - usort($rows, $sortByStar); + usort($nfts, $sortByStar); break; } } @@ -616,21 +625,25 @@ class MarketController extends BaseController { $rows = Nft::getNft1155List($account, $type); foreach ($rows as &$row) { $row['detail'] = Chip::toDto(Chip::getChipByTokenId($row['token_id'])); + if ($row['detail']['chip_grade']<$lv) continue; + if (count($search)>0) { + if (!(in_array($row['detail']['token_id'], $search))) continue; + } array_push($nfts, $row); } switch ($order_method) { case 1: - usort($rows, $sortByGrade); + usort($nfts, $sortByGrade); break; case 2: - usort($rows, $sortByPower); + usort($nfts, $sortByPower); break; } } break; case 4: { $rows = Nft::getNft1155List($account, $type); - usort($rows, $sortByTokenId); + usort($nfts, $sortByTokenId); $nfts = $rows; } break; @@ -726,7 +739,12 @@ class MarketController extends BaseController { $job_filters = getReqVal('job_filters', ''); $job_filter_array = explode('|', $job_filters); $search_filters = getReqVal('search_filters', ''); - $search_filter_array = explode('|', $search_filters); + if ($search_filters!='') { + $search_filter_array = explode('|', $search_filters); + } else { + $search_filter_array = array(); + } + $lv_filter = getReqVal('lv_filter', 15); $account = '0x9a4d9dd2bfcad659975f0f5a480625c7929e9385'; From bb947c6d2baf18f8a8ad547eea2eade7ba6bc25e Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 12 Dec 2022 14:24:51 +0800 Subject: [PATCH 06/57] 1 --- webapp/controller/RankingController.class.php | 1 - 1 file changed, 1 deletion(-) diff --git a/webapp/controller/RankingController.class.php b/webapp/controller/RankingController.class.php index 10139fcf..606e0ce4 100644 --- a/webapp/controller/RankingController.class.php +++ b/webapp/controller/RankingController.class.php @@ -279,7 +279,6 @@ class RankingController extends BaseAuthedController { private function calcCECSeasonAward($seasonId){ $data = SeasonRanking::getDataBySeasonId($seasonId); - error_log(json_encode($data)); $rewardParamMeta = \mt\Parameter::getByName('rank_ring_reward'); $rewardParamMetaValue = $rewardParamMeta ? $rewardParamMeta['param_value'] : ''; $rewardList = explode('|',$rewardParamMetaValue); From 8c7039e5828863f63e790037792727600837d5fd Mon Sep 17 00:00:00 2001 From: hujiabin Date: Mon, 12 Dec 2022 14:25:56 +0800 Subject: [PATCH 07/57] 1 --- webapp/controller/RankingController.class.php | 58 +++++--- webapp/models/Currency.php | 132 +++++++++--------- 2 files changed, 105 insertions(+), 85 deletions(-) diff --git a/webapp/controller/RankingController.class.php b/webapp/controller/RankingController.class.php index 10139fcf..b8001bcc 100644 --- a/webapp/controller/RankingController.class.php +++ b/webapp/controller/RankingController.class.php @@ -135,13 +135,13 @@ class RankingController extends BaseAuthedController { $award = Season::seasonReward($currRankMeta); } //掉段 - if ($dropRankMeta) { - myself()->_updateUserInfo(array( - 'rank' => $dropRankMeta['id'], - 'score' => $dropRankMeta['rank_score'], - 'last_season_id' => $currSeasonMeta['id'], - )); - } +// if ($dropRankMeta) { +// myself()->_updateUserInfo(array( +// 'rank' => $dropRankMeta['id'], +// 'score' => $dropRankMeta['rank_score'], +// 'last_season_id' => $currSeasonMeta['id'], +// )); +// } $awardService = new services\AwardService(); $propertyChgService = new services\PropertyChgService(); $propertyChgService->addUserChg(); @@ -313,22 +313,38 @@ class RankingController extends BaseAuthedController { //排位赛金额% $rankAmountPre = min($maxSum/($expected_CEC_Sum+1),1); - foreach ($data as $val){ - if ($val['account_id'] == myself()->_getAccountId() && - $value['score'] >= $this->starshine && - $value['ranking'] <= 10000){ -// $award['CEC'] = $value['standardTopX']*$rankAmountPre; -// $award['ring_item_id'] = $value['ring_item_id']; +// foreach ($data as $val){ +// if ($val['account_id'] == myself()->_getAccountId() && +// $val['score'] >= $this->starshine && +// $val['ranking'] <= 10000){ +// array_push($award,array( +// 'item_id' => V_ITEM_DIAMOND, +// 'item_num' => $val['standardTopX']*$rankAmountPre +// )); +// if ($val['ring_item_id']){ +// array_push($award,array( +// 'item_id' => $val['ring_item_id'], +// 'item_num' => 1 +// )); +// } +// } +// } + + $hashData = array(); + foreach ($data as $k=>$v){ + $hashData[$v['account_id']] = $v; + } + $myInfo = $hashData[myself()->_getAccountId()]; + if ($myInfo['score'] >= $this->starshine && $myInfo['ranking'] <= 10000){ + array_push($award,array( + 'item_id' => V_ITEM_DIAMOND, + 'item_num' => $myInfo['standardTopX']*$rankAmountPre + )); + if ($myInfo['ring_item_id']){ array_push($award,array( - 'item_id' => V_ITEM_DIAMOND, - 'item_num' => $value['standardTopX']*$rankAmountPre + 'item_id' => $myInfo['ring_item_id'], + 'item_num' => 1 )); - if ($value['ring_item_id']){ - array_push($award,array( - 'item_id' => $value['ring_item_id'], - 'item_num' => 1 - )); - } } } } diff --git a/webapp/models/Currency.php b/webapp/models/Currency.php index a564d4d0..308e1e7b 100644 --- a/webapp/models/Currency.php +++ b/webapp/models/Currency.php @@ -64,6 +64,7 @@ class Currency extends BaseModel 'symbol'=>'CEC', 'precision'=>18, 'type'=>3, + 'symbol_id' =>2 ), array( 'account_id'=> myself()->_getAccountId(), @@ -72,39 +73,40 @@ class Currency extends BaseModel 'symbol'=>'CEG', 'precision'=>18, 'type'=>3, + 'symbol_id' =>1 ), - array( - 'account_id'=> myself()->_getAccountId(), - 'net_id'=>80001, - 'address'=>'0x3EBF5196dADC8F3F09C808333f98FE8A4b7d1e62', - 'symbol'=>'hero', - 'precision'=>18, - 'type'=>1, - ), - array( - 'account_id'=> myself()->_getAccountId(), - 'net_id'=>80001, - 'address'=>'0x2F2Ed1c403cB7156617449795dE1CB47A0302a25', - 'symbol'=>'weapon', - 'precision'=>18, - 'type'=>1, - ), - array( - 'account_id'=> myself()->_getAccountId(), - 'net_id'=>80001, - 'address'=>'0x73482411443E87CAC124C12A10B34e9Aaa2De168', - 'symbol'=>'chip', - 'precision'=>18, - 'type'=>2, - ), - array( - 'account_id'=> myself()->_getAccountId(), - 'net_id'=>80001, - 'address'=>'0xFc21A863bFb4E4534B246078772e2074e076f0a7', - 'symbol'=>'shard', - 'precision'=>18, - 'type'=>2, - ), +// array( +// 'account_id'=> myself()->_getAccountId(), +// 'net_id'=>80001, +// 'address'=>'0x3EBF5196dADC8F3F09C808333f98FE8A4b7d1e62', +// 'symbol'=>'hero', +// 'precision'=>18, +// 'type'=>1, +// ), +// array( +// 'account_id'=> myself()->_getAccountId(), +// 'net_id'=>80001, +// 'address'=>'0x2F2Ed1c403cB7156617449795dE1CB47A0302a25', +// 'symbol'=>'weapon', +// 'precision'=>18, +// 'type'=>1, +// ), +// array( +// 'account_id'=> myself()->_getAccountId(), +// 'net_id'=>80001, +// 'address'=>'0x73482411443E87CAC124C12A10B34e9Aaa2De168', +// 'symbol'=>'chip', +// 'precision'=>18, +// 'type'=>2, +// ), +// array( +// 'account_id'=> myself()->_getAccountId(), +// 'net_id'=>80001, +// 'address'=>'0xFc21A863bFb4E4534B246078772e2074e076f0a7', +// 'symbol'=>'shard', +// 'precision'=>18, +// 'type'=>2, +// ), ); }else{ return array( @@ -115,6 +117,7 @@ class Currency extends BaseModel 'symbol'=>'CEC', 'precision'=>18, 'type'=>3, + 'symbol_id' =>2 ), array( 'account_id'=> myself()->_getAccountId(), @@ -123,39 +126,40 @@ class Currency extends BaseModel 'symbol'=>'CEG', 'precision'=>18, 'type'=>3, + 'symbol_id' =>1 ), - array( - 'account_id'=> myself()->_getAccountId(), - 'net_id'=>1338, - 'address'=>'0x9b1f7F645351AF3631a656421eD2e40f2802E6c0', - 'symbol'=>'hero', - 'precision'=>18, - 'type'=>1, - ), - array( - 'account_id'=> myself()->_getAccountId(), - 'net_id'=>1338, - 'address'=>'0x2612Af3A521c2df9EAF28422Ca335b04AdF3ac66', - 'symbol'=>'weapon', - 'precision'=>18, - 'type'=>1, - ), - array( - 'account_id'=> myself()->_getAccountId(), - 'net_id'=>1338, - 'address'=>'0x26b4AFb60d6C903165150C6F0AA14F8016bE4aec', - 'symbol'=>'chip', - 'precision'=>18, - 'type'=>2, - ), - array( - 'account_id'=> myself()->_getAccountId(), - 'net_id'=>1338, - 'address'=>'0x0E696947A06550DEf604e82C26fd9E493e576337', - 'symbol'=>'shard', - 'precision'=>18, - 'type'=>2, - ), +// array( +// 'account_id'=> myself()->_getAccountId(), +// 'net_id'=>1338, +// 'address'=>'0x9b1f7F645351AF3631a656421eD2e40f2802E6c0', +// 'symbol'=>'hero', +// 'precision'=>18, +// 'type'=>1, +// ), +// array( +// 'account_id'=> myself()->_getAccountId(), +// 'net_id'=>1338, +// 'address'=>'0x2612Af3A521c2df9EAF28422Ca335b04AdF3ac66', +// 'symbol'=>'weapon', +// 'precision'=>18, +// 'type'=>1, +// ), +// array( +// 'account_id'=> myself()->_getAccountId(), +// 'net_id'=>1338, +// 'address'=>'0x26b4AFb60d6C903165150C6F0AA14F8016bE4aec', +// 'symbol'=>'chip', +// 'precision'=>18, +// 'type'=>2, +// ), +// array( +// 'account_id'=> myself()->_getAccountId(), +// 'net_id'=>1338, +// 'address'=>'0x0E696947A06550DEf604e82C26fd9E493e576337', +// 'symbol'=>'shard', +// 'precision'=>18, +// 'type'=>2, +// ), ); } } From a29049af0eed975ee64e4be88dacb8259c6ee4ce Mon Sep 17 00:00:00 2001 From: hujiabin Date: Mon, 12 Dec 2022 14:37:18 +0800 Subject: [PATCH 08/57] 1 --- webapp/controller/RankingController.class.php | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/webapp/controller/RankingController.class.php b/webapp/controller/RankingController.class.php index 8715a4f9..e9fd36c7 100644 --- a/webapp/controller/RankingController.class.php +++ b/webapp/controller/RankingController.class.php @@ -135,13 +135,13 @@ class RankingController extends BaseAuthedController { $award = Season::seasonReward($currRankMeta); } //掉段 -// if ($dropRankMeta) { -// myself()->_updateUserInfo(array( -// 'rank' => $dropRankMeta['id'], -// 'score' => $dropRankMeta['rank_score'], -// 'last_season_id' => $currSeasonMeta['id'], -// )); -// } + if ($dropRankMeta) { + myself()->_updateUserInfo(array( + 'rank' => $dropRankMeta['id'], + 'score' => $dropRankMeta['rank_score'], + 'last_season_id' => $currSeasonMeta['id'], + )); + } $awardService = new services\AwardService(); $propertyChgService = new services\PropertyChgService(); $propertyChgService->addUserChg(); From ab99ed726dfe1bf9623d59d0bca28c9350f282d7 Mon Sep 17 00:00:00 2001 From: hujiabin Date: Mon, 12 Dec 2022 15:15:44 +0800 Subject: [PATCH 09/57] 1 --- webapp/models/Nft.php | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/webapp/models/Nft.php b/webapp/models/Nft.php index 20aaf549..5b48ac53 100644 --- a/webapp/models/Nft.php +++ b/webapp/models/Nft.php @@ -152,6 +152,26 @@ class Nft extends BaseModel { 'token_id' => $tokenId, ) ); + if (!$row){ + $row = SqlHelper::ormSelectOne( + myself()->_getMarketMysql(), + 't_nft1155', + array( + 'token_id' => $tokenId, + ) + ); + if ($row){ + if ($row['token_id'] > 10000000){ + $row['token_type'] = self::CHIP_TYPE; + $row['token_state'] = 0; + $row['tags'] = ''; + }else{ + $row['token_type'] = self::FRAGMENT_TYPE; + $row['token_state'] = 0; + $row['tags'] = ''; + } + } + } return $row; } From 3b7c253e63da89c29f9fa142c38f0ac4d16bbc8f Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 12 Dec 2022 16:02:36 +0800 Subject: [PATCH 10/57] ... --- webapp/controller/MarketController.class.php | 27 +++++++++++++------- webapp/models/Nft.php | 5 ++++ 2 files changed, 23 insertions(+), 9 deletions(-) diff --git a/webapp/controller/MarketController.class.php b/webapp/controller/MarketController.class.php index ef1a1ee4..8c6dc71e 100644 --- a/webapp/controller/MarketController.class.php +++ b/webapp/controller/MarketController.class.php @@ -702,20 +702,23 @@ class MarketController extends BaseController { $t = $row['token_type']; switch($t) { - case Nft::HERO_TYPE: { - + case 1: { + $row['detail'] = Hero::toDtoInfo(Hero::findByTokenId2($row['token_id'])); } break; - case Nft::EQUIP_TYPE: { - + case 2: { + $row['detail'] = Gun::toDtoInfo(Gun::findByTokenId2($row['token_id'])); } break; - case Nft::CHIP_TYPE: { + case 3: { + $row['detail'] = Chip::toDto(Chip::getChipByTokenId($row['token_id'])); + } break; + case 4: { } break; default: { - } + } break; } - $row['details'] = $nft; + $row['info'] = $nft; array_push($nfts, $row); } @@ -788,7 +791,13 @@ class MarketController extends BaseController { $conn = myself()->_getMysql(''); $nft = Nft::getNft($nft_token); + error_log("sellMyNft ntfDetail token=".json_encode($nft)); $nftDetail = Nft::toDto($nft); + error_log('sellMyNft ntfDetail null'.json_encode($nftDetail)); + if ($nftDetail==null) { + // error_log('sellMyNft ntfDetail null'.$nftDetail."token=".$nft); + } + // echo json_encode($nftDetail), json_encode($nft); $r = SqlHelper::insert( $conn, @@ -800,8 +809,8 @@ class MarketController extends BaseController { 'modifytime' => myself()->_getNowTime(), 's_price' => $s_price, 'c_name' => $nftDetail['info']['name'], - 'c_job' => $nftDetail['info']['job'] ? $nftDetail['info']['job'] : -1, - 'c_lv' => $nftDetail['info']['level'], + 'c_job' => isset($nftDetail['info']['job']) ? $nftDetail['info']['job'] : -1, + 'c_lv' => isset($nftDetail['info']['level']) ? $nftDetail['info']['level'] : -1, 'c_id' => $nftDetail['item_id'], ) ); diff --git a/webapp/models/Nft.php b/webapp/models/Nft.php index 5b48ac53..39f18279 100644 --- a/webapp/models/Nft.php +++ b/webapp/models/Nft.php @@ -169,6 +169,7 @@ class Nft extends BaseModel { $row['token_type'] = self::FRAGMENT_TYPE; $row['token_state'] = 0; $row['tags'] = ''; + $row['item_id'] = $row['token_id']; } } } @@ -285,6 +286,10 @@ class Nft extends BaseModel { $nft['hide_attr'] = 1; } break; + case Nft::FRAGMENT_TYPE: + { + } + break; default: { return null; From ce2df6a0e966e7040d54c540d449148c9be5e5a4 Mon Sep 17 00:00:00 2001 From: hujiabin Date: Mon, 12 Dec 2022 17:07:04 +0800 Subject: [PATCH 11/57] 1 --- webapp/models/Nft.php | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/webapp/models/Nft.php b/webapp/models/Nft.php index 5b48ac53..ef33df8d 100644 --- a/webapp/models/Nft.php +++ b/webapp/models/Nft.php @@ -152,11 +152,27 @@ class Nft extends BaseModel { 'token_id' => $tokenId, ) ); + return $row; + } + + public static function findNftByOwner($owner,$tokenId){ + if (!$owner || !$tokenId){ + return; + } + $row = SqlHelper::ormSelectOne( + myself()->_getMarketMysql(), + 't_nft', + array( + 'owner_address'=>$owner, + 'token_id' => $tokenId, + ) + ); if (!$row){ $row = SqlHelper::ormSelectOne( myself()->_getMarketMysql(), 't_nft1155', array( + 'owner_address'=>$owner, 'token_id' => $tokenId, ) ); @@ -169,6 +185,7 @@ class Nft extends BaseModel { $row['token_type'] = self::FRAGMENT_TYPE; $row['token_state'] = 0; $row['tags'] = ''; + $row['item_id'] = $row['token_id']; } } } @@ -283,6 +300,11 @@ class Nft extends BaseModel { case Nft::CHIP_TYPE: { $nft['hide_attr'] = 1; + } + break; + case Nft::FRAGMENT_TYPE: + { + } break; default: From 00cdf8f96776b17cd97e9cf375f01c65be7d4b28 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 12 Dec 2022 17:17:11 +0800 Subject: [PATCH 12/57] ... --- webapp/controller/MarketController.class.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/webapp/controller/MarketController.class.php b/webapp/controller/MarketController.class.php index 8c6dc71e..c35448c9 100644 --- a/webapp/controller/MarketController.class.php +++ b/webapp/controller/MarketController.class.php @@ -573,7 +573,7 @@ class MarketController extends BaseController { case 1: { $rows = Nft::getNftListByType($account, $type); foreach ($rows as &$row) { - $nftDb = Nft::getNft($row['token_id']); + $nftDb = Nft::findNftByOwner($account, $row['token_id']); $row['info'] = Nft::toDto($nftDb); $row['detail'] = Hero::toDtoInfo(Hero::findByTokenId2($row['token_id'])); if (in_array($row['info']['info']['job'], $job)==false) continue; @@ -599,7 +599,7 @@ class MarketController extends BaseController { case 2: { $rows = Nft::getNftListByType($account, $type); foreach ($rows as &$row) { - $nftDb = Nft::getNft($row['token_id']); + $nftDb = Nft::findNftByOwner($account, $row['token_id']); $row['info'] = Nft::toDto($nftDb); $row['detail'] = Gun::toDtoInfo(Gun::findByTokenId2($row['token_id'])); if ($row['detail']['gun_lv']<$lv) continue; @@ -693,7 +693,7 @@ class MarketController extends BaseController { $nfts = array(); for ($x = $start; $x < $page_end; $x++) { $row = $rows[$x]; - $nftDb = Nft::getNft($row['token_id']); + $nftDb = Nft::findNftByOwner($row['owner_address'], $row['token_id']); if (!$nftDb) { myself()->_rspErr(1, 'nft not exists'); return; @@ -790,7 +790,7 @@ class MarketController extends BaseController { $conn = myself()->_getMysql(''); - $nft = Nft::getNft($nft_token); + $nft = Nft::findNftByOwner($account, $nft_token); error_log("sellMyNft ntfDetail token=".json_encode($nft)); $nftDetail = Nft::toDto($nft); error_log('sellMyNft ntfDetail null'.json_encode($nftDetail)); @@ -804,6 +804,7 @@ class MarketController extends BaseController { 't_market_store', array( 'token_id' => $nft_token, + 'owner_address' => $nftDetail['owner_address'], 'token_type' => $nftDetail['type'], 'createtime' => myself()->_getNowTime(), 'modifytime' => myself()->_getNowTime(), @@ -814,7 +815,6 @@ class MarketController extends BaseController { 'c_id' => $nftDetail['item_id'], ) ); - echo json_encode($r); $this->_rspOk(); } From b5642b2b70d00b609ce80530225eb861489bedb6 Mon Sep 17 00:00:00 2001 From: songliang Date: Mon, 12 Dec 2022 17:17:25 +0800 Subject: [PATCH 13/57] ... --- doc/Market.py | 4 ++-- webapp/controller/MarketController.class.php | 18 +++++++++--------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/doc/Market.py b/doc/Market.py index e1afbb7e..ef5f8e91 100644 --- a/doc/Market.py +++ b/doc/Market.py @@ -315,7 +315,7 @@ class Market(object): ['page_size', 0, '分页大小'], ['order_method', 0, '排序方式 0:默认排序(当前指向1) 1:上架时间 2:价格 3:星级质量 4:等级 5:能量值 6:生命值 7:攻击力 8:防御力'], ['order_asc', 0, '排序方向, 0:从小到大 1:从大到小'], - ['type', 0, '物品类型 1:英雄 2:武器 3:芯片'], + ['type', 0, '物品类型 1:英雄 2:武器 3:芯片 5:碎片'], ['job_filters', '', '职业过滤(用|分割)'], ['search_filters', '', '搜索过滤(用|分割)'], ['lv_filter', 0, '等级过滤'], @@ -341,7 +341,7 @@ class Market(object): ['page_size', 0, '分页大小'], ['order_method', 0, '排序方式 0:默认排序(当前指向1) 1:等级 2:能量值 3:星级 4:tokenid'], ['order_asc', 0, '排序方向, 0:从小到大 1:从大到小'], - ['type', 0, '物品类型 1:英雄 2:武器 3:芯片'], + ['type', 0, '物品类型 1:英雄 2:武器 3:芯片 5:碎片'], ['job_filters', '', '职业过滤(用|分割)'], ['search_filters', '', '搜索过滤(用|分割)'], ['lv_filter', 0, '等级过滤'], diff --git a/webapp/controller/MarketController.class.php b/webapp/controller/MarketController.class.php index c35448c9..57efa247 100644 --- a/webapp/controller/MarketController.class.php +++ b/webapp/controller/MarketController.class.php @@ -570,7 +570,7 @@ class MarketController extends BaseController { }; $nfts = array(); switch ($type) { - case 1: { + case Nft::HERO_TYPE: { $rows = Nft::getNftListByType($account, $type); foreach ($rows as &$row) { $nftDb = Nft::findNftByOwner($account, $row['token_id']); @@ -590,13 +590,13 @@ class MarketController extends BaseController { case 2: usort($nfts, $sortByTili); break; - case 3: + case 3: usort($nfts, $sortByStar); break; } } break; - case 2: { + case Nft::EQUIP_TYPE: { $rows = Nft::getNftListByType($account, $type); foreach ($rows as &$row) { $nftDb = Nft::findNftByOwner($account, $row['token_id']); @@ -621,7 +621,7 @@ class MarketController extends BaseController { } } break; - case 3: { + case Nft::CHIP_TYPE: { $rows = Nft::getNft1155List($account, $type); foreach ($rows as &$row) { $row['detail'] = Chip::toDto(Chip::getChipByTokenId($row['token_id'])); @@ -641,7 +641,7 @@ class MarketController extends BaseController { } } break; - case 4: { + case Nft::FRAGMENT_TYPE: { $rows = Nft::getNft1155List($account, $type); usort($nfts, $sortByTokenId); $nfts = $rows; @@ -702,16 +702,16 @@ class MarketController extends BaseController { $t = $row['token_type']; switch($t) { - case 1: { + case Nft::HERO_TYPE: { $row['detail'] = Hero::toDtoInfo(Hero::findByTokenId2($row['token_id'])); } break; - case 2: { + case Nft::EQUIP_TYPE: { $row['detail'] = Gun::toDtoInfo(Gun::findByTokenId2($row['token_id'])); } break; - case 3: { + case Nft::CHIP_TYPE: { $row['detail'] = Chip::toDto(Chip::getChipByTokenId($row['token_id'])); } break; - case 4: { + case Nft::FRAGMENT_TYPE: { } break; default: { From caf75579b92f3c6bbe21232edb6782bf7516221c Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 12 Dec 2022 17:56:42 +0800 Subject: [PATCH 14/57] ... --- webapp/controller/MarketController.class.php | 2 ++ webapp/models/Nft.php | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/webapp/controller/MarketController.class.php b/webapp/controller/MarketController.class.php index 57efa247..aee8d57c 100644 --- a/webapp/controller/MarketController.class.php +++ b/webapp/controller/MarketController.class.php @@ -643,6 +643,7 @@ class MarketController extends BaseController { break; case Nft::FRAGMENT_TYPE: { $rows = Nft::getNft1155List($account, $type); + error_log("fragment:".json_encode($rows)."type=".$type."account=".$account); usort($nfts, $sortByTokenId); $nfts = $rows; } @@ -691,6 +692,7 @@ class MarketController extends BaseController { } $nfts = array(); + for ($x = $start; $x < $page_end; $x++) { $row = $rows[$x]; $nftDb = Nft::findNftByOwner($row['owner_address'], $row['token_id']); diff --git a/webapp/models/Nft.php b/webapp/models/Nft.php index ef33df8d..98cc0a7d 100644 --- a/webapp/models/Nft.php +++ b/webapp/models/Nft.php @@ -124,7 +124,7 @@ class Nft extends BaseModel { $sql = "select * from t_nft1155 where owner_address=:owner_address and token_id>10000000 and balance>0"; }; break; - case 4:{ + case 5:{ $sql = "select * from t_nft1155 where owner_address=:owner_address and token_id<10000000 and balance>0"; }; break; From 1efab4d701b20aefe20551a9b94f6409b388b1c9 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 12 Dec 2022 17:59:46 +0800 Subject: [PATCH 15/57] ... --- webapp/controller/MarketController.class.php | 9 --------- 1 file changed, 9 deletions(-) diff --git a/webapp/controller/MarketController.class.php b/webapp/controller/MarketController.class.php index aee8d57c..3be14b33 100644 --- a/webapp/controller/MarketController.class.php +++ b/webapp/controller/MarketController.class.php @@ -161,7 +161,6 @@ class MarketController extends BaseController { $originalPrice * $goodsMeta['discount'] : $originalPrice; $discountPrice .= MarketService::PRICE_PAD; - error_log('price:' . $price . ' discountPrice:' . $discountPrice); if (!$discountPrice || strcmp($price, $discountPrice) != 0) { myself()->_rspErr(500, 'price error'); return; @@ -643,7 +642,6 @@ class MarketController extends BaseController { break; case Nft::FRAGMENT_TYPE: { $rows = Nft::getNft1155List($account, $type); - error_log("fragment:".json_encode($rows)."type=".$type."account=".$account); usort($nfts, $sortByTokenId); $nfts = $rows; } @@ -793,14 +791,7 @@ class MarketController extends BaseController { $conn = myself()->_getMysql(''); $nft = Nft::findNftByOwner($account, $nft_token); - error_log("sellMyNft ntfDetail token=".json_encode($nft)); $nftDetail = Nft::toDto($nft); - error_log('sellMyNft ntfDetail null'.json_encode($nftDetail)); - if ($nftDetail==null) { - // error_log('sellMyNft ntfDetail null'.$nftDetail."token=".$nft); - } - - // echo json_encode($nftDetail), json_encode($nft); $r = SqlHelper::insert( $conn, 't_market_store', From 307392caa5d6a05e2ca2f5b39f79a8ff583ee567 Mon Sep 17 00:00:00 2001 From: hujiabin Date: Tue, 13 Dec 2022 11:27:51 +0800 Subject: [PATCH 16/57] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=B7=A5=E4=BC=9A?= =?UTF-8?q?=E6=B4=BB=E5=8A=A8Bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- webapp/services/RankActivityService.php | 32 +++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/webapp/services/RankActivityService.php b/webapp/services/RankActivityService.php index e8010a79..1fc35562 100644 --- a/webapp/services/RankActivityService.php +++ b/webapp/services/RankActivityService.php @@ -103,12 +103,12 @@ class RankActivityService extends BaseService { break; case self::GUILD_TYPE : { - if ($userDb['guild_id']){ +// if ($userDb['guild_id']){ $this->internalUpdateRankActivityNew( $currentRankingMeta, $gold, $userDb); - } +// } } break; } @@ -127,6 +127,34 @@ class RankActivityService extends BaseService { if (!$meta){ return; } + if($meta['themeType'] == self::GUILD_TYPE){ + if (!$user['guild_id']){ + $row = SqlHelper::ormSelectOne + (myself()->_getSelfMysql(), + 't_rank_activity', + array( + 'account_id' => myself()->_getAccountId(), + 'wave' => $meta['wave'], + 'type' => $meta['themeType'], + ) + ); + if ($row){ + SqlHelper::update + (myself()->_getSelfMysql(), + 't_rank_activity', + array( + 'account_id' => myself()->_getAccountId(), + 'wave' => $meta['wave'], + 'type' => $meta['themeType'], + ), + array( + 'guild_id'=> '' + ) + ); + } + return; + } + } SqlHelper::upsert (myself()->_getSelfMysql(), 't_rank_activity', From 40f31ff4834b99eb9a63f5b41488468267db7ed0 Mon Sep 17 00:00:00 2001 From: hujiabin Date: Tue, 13 Dec 2022 11:51:08 +0800 Subject: [PATCH 17/57] 1 --- webapp/controller/EventRankingController.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webapp/controller/EventRankingController.class.php b/webapp/controller/EventRankingController.class.php index 6d501a70..bde87534 100644 --- a/webapp/controller/EventRankingController.class.php +++ b/webapp/controller/EventRankingController.class.php @@ -123,7 +123,7 @@ class EventRankingController extends BaseAuthedController case \services\RankActivityService::GUILD_TYPE : { $rows = myself()->_getSelfMysql()->execQuery( 'SELECT guild_id,SUM(value) AS value FROM t_rank_activity ' . - 'WHERE wave=:wave AND type=:type ' . + 'WHERE wave=:wave AND type=:type AND guild_id<>""' . 'GROUP BY guild_id '. 'ORDER BY value DESC ' . "LIMIT 10", From d60f834b54d954bd6c131eec1771b5de6814fecc Mon Sep 17 00:00:00 2001 From: hujiabin Date: Tue, 13 Dec 2022 14:25:29 +0800 Subject: [PATCH 18/57] 1 --- webapp/services/RankActivityService.php | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/webapp/services/RankActivityService.php b/webapp/services/RankActivityService.php index 1fc35562..ac74449a 100644 --- a/webapp/services/RankActivityService.php +++ b/webapp/services/RankActivityService.php @@ -19,6 +19,7 @@ require_once('models/Battle.php'); require_once('models/Bag.php'); require_once('models/Hero.php'); require_once('models/Gun.php'); +require_once('models/Guild.php'); use mt; use phpcommon; @@ -28,6 +29,7 @@ use models\Battle; use models\Bag; use models\Hero; use models\Gun; +use models\Guild; class RankActivityService extends BaseService { @@ -151,6 +153,23 @@ class RankActivityService extends BaseService { 'guild_id'=> '' ) ); + if ($row['guild_id']){ + $guild = Guild::find($row['guild_id']); + if ($guild['guild_status'] == 2){ + SqlHelper::update + (myself()->_getSelfMysql(), + 't_rank_activity', + array( + 'guild_id' => $row['guild_id'], + 'wave' => $meta['wave'], + 'type' => $meta['themeType'], + ), + array( + 'guild_id'=> '' + ) + ); + } + } } return; } @@ -167,6 +186,7 @@ class RankActivityService extends BaseService { 'value' => function () use($val) { return "value + ${val}"; }, + 'guild_id' =>$user['guild_id'], 'modifytime' => myself()->_getNowTime(), ), array( From 4f4b865d52386ce676fcd8fd454447458b8e9e24 Mon Sep 17 00:00:00 2001 From: hujiabin Date: Tue, 13 Dec 2022 14:36:34 +0800 Subject: [PATCH 19/57] 1 --- webapp/services/RankActivityService.php | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/webapp/services/RankActivityService.php b/webapp/services/RankActivityService.php index ac74449a..309a027b 100644 --- a/webapp/services/RankActivityService.php +++ b/webapp/services/RankActivityService.php @@ -141,18 +141,6 @@ class RankActivityService extends BaseService { ) ); if ($row){ - SqlHelper::update - (myself()->_getSelfMysql(), - 't_rank_activity', - array( - 'account_id' => myself()->_getAccountId(), - 'wave' => $meta['wave'], - 'type' => $meta['themeType'], - ), - array( - 'guild_id'=> '' - ) - ); if ($row['guild_id']){ $guild = Guild::find($row['guild_id']); if ($guild['guild_status'] == 2){ @@ -170,6 +158,19 @@ class RankActivityService extends BaseService { ); } } + error_log(json_encode($row)); + SqlHelper::update + (myself()->_getSelfMysql(), + 't_rank_activity', + array( + 'account_id' => myself()->_getAccountId(), + 'wave' => $meta['wave'], + 'type' => $meta['themeType'], + ), + array( + 'guild_id'=> '' + ) + ); } return; } From 42157ba31ee5031bce1936892414c46a3d7cc8dd Mon Sep 17 00:00:00 2001 From: hujiabin Date: Tue, 13 Dec 2022 14:45:06 +0800 Subject: [PATCH 20/57] 1 --- webapp/services/RankActivityService.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/webapp/services/RankActivityService.php b/webapp/services/RankActivityService.php index 309a027b..8ebd1935 100644 --- a/webapp/services/RankActivityService.php +++ b/webapp/services/RankActivityService.php @@ -140,9 +140,9 @@ class RankActivityService extends BaseService { 'type' => $meta['themeType'], ) ); - if ($row){ - if ($row['guild_id']){ + if ($row && $row['guild_id']){ $guild = Guild::find($row['guild_id']); + error_log('TEST LOG 1'.json_encode($guild)); if ($guild['guild_status'] == 2){ SqlHelper::update (myself()->_getSelfMysql(), @@ -157,8 +157,8 @@ class RankActivityService extends BaseService { ) ); } - } - error_log(json_encode($row)); + + error_log('TEST LOG 2'.json_encode($row)); SqlHelper::update (myself()->_getSelfMysql(), 't_rank_activity', From 05b538282b7863dcfbb698d18b3796c16a22caee Mon Sep 17 00:00:00 2001 From: hujiabin Date: Tue, 13 Dec 2022 15:04:20 +0800 Subject: [PATCH 21/57] 1 --- webapp/services/RankActivityService.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/webapp/services/RankActivityService.php b/webapp/services/RankActivityService.php index 8ebd1935..f3b11f7f 100644 --- a/webapp/services/RankActivityService.php +++ b/webapp/services/RankActivityService.php @@ -142,7 +142,7 @@ class RankActivityService extends BaseService { ); if ($row && $row['guild_id']){ $guild = Guild::find($row['guild_id']); - error_log('TEST LOG 1'.json_encode($guild)); + error_log('TEST LOG 1'.json_encode($guild['guild_status']).'--------------guild_id:'.$row['guild_id']); if ($guild['guild_status'] == 2){ SqlHelper::update (myself()->_getSelfMysql(), @@ -157,7 +157,7 @@ class RankActivityService extends BaseService { ) ); } - + error_log('TEST LOG 2'.json_encode($row)); SqlHelper::update (myself()->_getSelfMysql(), From 9a7c8893eb7a4aa709945ce971bbd151ec459f27 Mon Sep 17 00:00:00 2001 From: hujiabin Date: Tue, 13 Dec 2022 15:30:01 +0800 Subject: [PATCH 22/57] 1 --- webapp/controller/ShopController.class.php | 2 ++ webapp/services/RankActivityService.php | 3 --- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/webapp/controller/ShopController.class.php b/webapp/controller/ShopController.class.php index af5436dd..dded111f 100644 --- a/webapp/controller/ShopController.class.php +++ b/webapp/controller/ShopController.class.php @@ -661,7 +661,9 @@ class ShopController extends BaseAuthedController { case mt\Item::HERO_TYPE: { Hero::addHero($itemMeta); + User::upsertHeadList($itemMeta); $propertyChgService->addHeroChg(); + $propertyChgService->addUserChg(); } break; case mt\Item::HERO_SKIN_TYPE: diff --git a/webapp/services/RankActivityService.php b/webapp/services/RankActivityService.php index f3b11f7f..f3aa0b9a 100644 --- a/webapp/services/RankActivityService.php +++ b/webapp/services/RankActivityService.php @@ -142,7 +142,6 @@ class RankActivityService extends BaseService { ); if ($row && $row['guild_id']){ $guild = Guild::find($row['guild_id']); - error_log('TEST LOG 1'.json_encode($guild['guild_status']).'--------------guild_id:'.$row['guild_id']); if ($guild['guild_status'] == 2){ SqlHelper::update (myself()->_getSelfMysql(), @@ -157,8 +156,6 @@ class RankActivityService extends BaseService { ) ); } - - error_log('TEST LOG 2'.json_encode($row)); SqlHelper::update (myself()->_getSelfMysql(), 't_rank_activity', From 5f62b3d2c037d26ca42f118fca9ca99bb196c834 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Tue, 13 Dec 2022 15:34:30 +0800 Subject: [PATCH 23/57] 1 --- third_party/phpcommon | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/third_party/phpcommon b/third_party/phpcommon index daad845e..e658ed5f 160000 --- a/third_party/phpcommon +++ b/third_party/phpcommon @@ -1 +1 @@ -Subproject commit daad845e894ca033c4fdd31c9c6f39e1e4040f02 +Subproject commit e658ed5f7e4112801e59206f6da6f01db7131cd1 From bcff501224635b0df90c3f1165671473dd1fd90d Mon Sep 17 00:00:00 2001 From: hujiabin Date: Tue, 13 Dec 2022 16:20:44 +0800 Subject: [PATCH 24/57] 1 --- .../controller/BaseAuthedController.class.php | 2 +- webapp/models/Parachute.php | 7 ++++++- webapp/models/UserSeasonRing.php | 21 +++++++++++-------- 3 files changed, 19 insertions(+), 11 deletions(-) diff --git a/webapp/controller/BaseAuthedController.class.php b/webapp/controller/BaseAuthedController.class.php index 7becadd7..69dfe18e 100644 --- a/webapp/controller/BaseAuthedController.class.php +++ b/webapp/controller/BaseAuthedController.class.php @@ -393,7 +393,7 @@ class BaseAuthedController extends BaseController { $headsDb = emptyReplace(json_decode($userInfo['head_list'], true), array()); $headFramesDb = emptyReplace(json_decode($userInfo['head_frame_list'], true), array()); $heads = array_unique(array_merge($heads, $headsDb)); - $headFrames = array_unique(array_merge($headFrames, $headFramesDb)); + $headFrames = array_values(array_unique(array_merge($headFrames, $headFramesDb))); $this->_updateUserInfo(array( 'head_list' => json_encode($heads), 'head_frame_list' => json_encode($headFrames), diff --git a/webapp/models/Parachute.php b/webapp/models/Parachute.php index 2d5f0b29..5c7a97fc 100644 --- a/webapp/models/Parachute.php +++ b/webapp/models/Parachute.php @@ -20,9 +20,14 @@ class Parachute extends BaseModel public static function addParachute($itemMeta){ if ($itemMeta){ if ($itemMeta['type'] == mt\Item::PARACHUTE_TYPE){ - SqlHelper::insert( + SqlHelper::upsert( myself()->_getSelfMysql(), 't_parachute', + array( + 'account_id' => myself()->_getAccountId(), + 'item_id' => $itemMeta['id'], + ), + array(), array( 'account_id' => myself()->_getAccountId(), 'item_id' => $itemMeta['id'], diff --git a/webapp/models/UserSeasonRing.php b/webapp/models/UserSeasonRing.php index bc2d8ea0..625031f4 100644 --- a/webapp/models/UserSeasonRing.php +++ b/webapp/models/UserSeasonRing.php @@ -46,17 +46,20 @@ class UserSeasonRing extends BaseModel public static function internalAddHero($conn, $itemMeta, $accountId) { - $fieldsKv = array( - 'account_id' => $accountId, - 'item_id' => $itemMeta['id'], - 'createtime' => myself()->_getNowTime(), - 'modifytime' => myself()->_getNowTime() - ); - - SqlHelper::insert( + SqlHelper::upsert( $conn, 't_user_season_ring', - $fieldsKv + array( + 'account_id' => $accountId, + 'item_id' => $itemMeta['id'], + ), + array(), + array( + 'account_id' => $accountId, + 'item_id' => $itemMeta['id'], + 'createtime' => myself()->_getNowTime(), + 'modifytime' => myself()->_getNowTime() + ) ); } } \ No newline at end of file From 1d27daeeb2bb95fda652ac86d6a8154028cbb62c Mon Sep 17 00:00:00 2001 From: hujiabin Date: Wed, 14 Dec 2022 14:48:51 +0800 Subject: [PATCH 25/57] 1 --- webapp/models/Fragment.php | 1 + 1 file changed, 1 insertion(+) diff --git a/webapp/models/Fragment.php b/webapp/models/Fragment.php index d4720ede..6b446179 100644 --- a/webapp/models/Fragment.php +++ b/webapp/models/Fragment.php @@ -36,6 +36,7 @@ class Fragment extends BaseModel $nft_address = SERVER_ENV == _ONLINE ? '0xFc21A863bFb4E4534B246078772e2074e076f0a7' : '0x0E696947A06550DEf604e82C26fd9E493e576337'; } $dto['nft_address'] = $nft_address; + $dto['name'] = mt\Item::get($row['token_id'])?mt\Item::get($row['token_id'])['name']:'XXX'; return $dto; } From 457431e3bd8e535b15aea03d4021271a7b846065 Mon Sep 17 00:00:00 2001 From: hujiabin Date: Wed, 14 Dec 2022 16:00:10 +0800 Subject: [PATCH 26/57] 1 --- webapp/controller/EventRankingController.class.php | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/webapp/controller/EventRankingController.class.php b/webapp/controller/EventRankingController.class.php index bde87534..1331b6e4 100644 --- a/webapp/controller/EventRankingController.class.php +++ b/webapp/controller/EventRankingController.class.php @@ -121,6 +121,19 @@ class EventRankingController extends BaseAuthedController $rankingList = $data['lists']; } break; case \services\RankActivityService::GUILD_TYPE : { + $this->myRanked['test_ceg'] = 0; + $rankDb = SqlHelper::ormSelectOne + (myself()->_getSelfMysql(), + 't_rank_activity', + array( + 'account_id' => myself()->_getAccountId(), + 'wave' => $wave, + 'type' => $type, + ) + ); + if ($rankDb){ + $this->myRanked['test_ceg'] = $rankDb['value']; + } $rows = myself()->_getSelfMysql()->execQuery( 'SELECT guild_id,SUM(value) AS value FROM t_rank_activity ' . 'WHERE wave=:wave AND type=:type AND guild_id<>""' . From 343a36b0bb22ecebc2c54aadd2afe31d51f7f288 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 15 Dec 2022 11:44:19 +0800 Subject: [PATCH 27/57] ... --- .gitignore | 1 + webapp/controller/MarketController.class.php | 66 ++++++++++++++++++-- 2 files changed, 61 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 15c2cfcd..b0dba552 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,4 @@ nginx.htaccess .idea/ .vscode/ webapp/logs +._* diff --git a/webapp/controller/MarketController.class.php b/webapp/controller/MarketController.class.php index 3be14b33..b84ab3c6 100644 --- a/webapp/controller/MarketController.class.php +++ b/webapp/controller/MarketController.class.php @@ -578,7 +578,8 @@ class MarketController extends BaseController { if (in_array($row['info']['info']['job'], $job)==false) continue; if ($row['detail']['hero_lv']<$lv) continue; if (count($search)>0) { - if (!(in_array($row['detail']['hero_name'], $search) || in_array($row['detail']['token_id'], $search))) continue; + $searchLower = array_map('strtolower', $search); + if (!(in_array(strtolower($row['detail']['hero_name']), $searchLower) || in_array(strtolower($row['detail']['token_id']), $searchLower))) continue; } array_push($nfts, $row); } @@ -666,17 +667,69 @@ class MarketController extends BaseController { $job_filter_array = explode('|', $job_filters); $search_filters = getReqVal('search_filters', ''); $search_filter_array = explode('|', $search_filters); - $lv_filter = getReqVal('lv_filter', 15); + $lv_filter = getReqVal('lv_filter', 1); + $quality_filter = getReqVal('quality_filter', 1); + $durability_filter = getReqVal('durability_filter', 0); $price_filter = getReqVal('price_filter', ''); $price_filter_array = explode('|', $price_filter); + $job_filter_fn = function ($f) { + return ''; + }; + $lv_filter_fn = function ($f) { + $f = (int) $f; + return 'AND c_lv>=' . $f. ' '; + }; + $quality_filter_fn = function ($f) { + $f = (int) $f; + return 'AND c_quality>=' . $f. ' '; + }; + $durability_filter_fn = function ($f) { + $f = (int) $f; + return 'AND c_durability>=' . $f. ' '; + }; + $search_filter_fn = function ($f) { + return ''; + }; + + $order_fn = function ($method, $asc) { + switch ($method) { + case 2: + return 'ORDER BY s_price ' . ($asc == 0 ? 'ASC' : 'DESC' . ' '); + break; + case 3: + return 'ORDER BY c_quality ' . ($asc == 0 ? 'ASC' : 'DESC' . ' '); + break; + case 4: + return 'ORDER BY c_lv ' . ($asc == 0 ? 'ASC' : 'DESC' . ' '); + break; + case 5: + return 'ORDER BY c_durability ' . ($asc == 0 ? 'ASC' : 'DESC' . ' '); + break; + + // 所有其他不正常的排序都执行最新上架 + case 1: + default: + return 'ORDER BY createtime ' . ($asc == 0 ? 'ASC' : 'DESC' . ' '); + break; + } + return ''; + }; + $conn = myself()->_getMysql(''); - $rows = SqlHelper::ormSelect( - $conn, - 't_market_store', + $rows = $conn->execQuery( + 'SELECT * FROM t_market_store '. + 'WHERE token_type=:token_type '. + $job_filter_fn($job_filter_array). + $lv_filter_fn($lv_filter). + $quality_filter_fn($quality_filter). + $durability_filter_fn($durability_filter). + $search_filter_fn($search_filter_array). + $order_fn($order_method, $order_asc). + 'LIMIT '.$start.','.$page_size, array( - 'token_type' => $type + ':token_type' => $type, ) ); @@ -777,6 +830,7 @@ class MarketController extends BaseController { } public function sellMyNft() { + $account = getReqVal('account', ''); $token = getReqVal('token', ''); $nft_token = getReqVal('nft_token', ''); From bc7353bd1cef8a8b0c814da69cc51ce8ed4c209e Mon Sep 17 00:00:00 2001 From: songliang Date: Thu, 15 Dec 2022 13:15:38 +0800 Subject: [PATCH 28/57] ... --- webapp/controller/MarketController.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webapp/controller/MarketController.class.php b/webapp/controller/MarketController.class.php index b84ab3c6..cce70dab 100644 --- a/webapp/controller/MarketController.class.php +++ b/webapp/controller/MarketController.class.php @@ -604,7 +604,7 @@ class MarketController extends BaseController { $row['detail'] = Gun::toDtoInfo(Gun::findByTokenId2($row['token_id'])); if ($row['detail']['gun_lv']<$lv) continue; if (count($search)>0) { - if (!(in_array($rwo['detail']['gun_name'], $search) || in_array($row['detail']['token_id'], $search))) continue; + if (!(in_array($row['detail']['gun_name'], $search) || in_array($row['detail']['token_id'], $search))) continue; } array_push($nfts, $row); } From 5ee9fd8d66179e249f71c7a9efba7495dcf02a52 Mon Sep 17 00:00:00 2001 From: songliang Date: Thu, 15 Dec 2022 14:19:02 +0800 Subject: [PATCH 29/57] ... --- doc/Market.py | 2 ++ webapp/controller/MarketController.class.php | 13 ++++++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/doc/Market.py b/doc/Market.py index ef5f8e91..d11b06d2 100644 --- a/doc/Market.py +++ b/doc/Market.py @@ -345,6 +345,8 @@ class Market(object): ['job_filters', '', '职业过滤(用|分割)'], ['search_filters', '', '搜索过滤(用|分割)'], ['lv_filter', 0, '等级过滤'], + ['quality_filter', 0, '品阶顾虑'], + ['durability_filter', 0, '能量过滤'], ], 'response': [ _common.RspHead(), diff --git a/webapp/controller/MarketController.class.php b/webapp/controller/MarketController.class.php index cce70dab..90f4310a 100644 --- a/webapp/controller/MarketController.class.php +++ b/webapp/controller/MarketController.class.php @@ -541,7 +541,7 @@ class MarketController extends BaseController { myself()->_rspOk(); } - private function getNftListByAccountAndType($account, $type, $order_method, $order_asc, $job, $search, $lv) + private function getNftListByAccountAndType($account, $type, $order_method, $order_asc, $job, $search, $lv, $quality, $durability) { $sortByLevel = function ($a, $b) use ($order_asc) { return ($order_asc == 1 ? 1 : -1) * ($b['detail']['hero_lv'] - $a['detail']['hero_lv']); @@ -577,6 +577,8 @@ class MarketController extends BaseController { $row['detail'] = Hero::toDtoInfo(Hero::findByTokenId2($row['token_id'])); if (in_array($row['info']['info']['job'], $job)==false) continue; if ($row['detail']['hero_lv']<$lv) continue; + if ($row['detail']['quality']<$quality) continue; + if ($row['detail']['hero_tili']<$durability) continue; if (count($search)>0) { $searchLower = array_map('strtolower', $search); if (!(in_array(strtolower($row['detail']['hero_name']), $searchLower) || in_array(strtolower($row['detail']['token_id']), $searchLower))) continue; @@ -603,8 +605,11 @@ class MarketController extends BaseController { $row['info'] = Nft::toDto($nftDb); $row['detail'] = Gun::toDtoInfo(Gun::findByTokenId2($row['token_id'])); if ($row['detail']['gun_lv']<$lv) continue; + if ($row['detail']['quality']<$quality) continue; + if ($row['detail']['durability']<$durability) continue; if (count($search)>0) { - if (!(in_array($row['detail']['gun_name'], $search) || in_array($row['detail']['token_id'], $search))) continue; + $searchLower = array_map('strtolower', $search); + if (!(in_array(strtolower($row['detail']['gun_name']), $searchLower) || in_array(strtolower($row['detail']['token_id']), $searchLower))) continue; } array_push($nfts, $row); } @@ -802,9 +807,11 @@ class MarketController extends BaseController { } $lv_filter = getReqVal('lv_filter', 15); + $quality_filter = getReqVal('quality_filter', 15); + $durability_filter = getReqVal('durability_filter', 15); $account = '0x9a4d9dd2bfcad659975f0f5a480625c7929e9385'; - $rows = $this->getNftListByAccountAndType($account, $type, $order_method, $order_asc, $job_filter_array, $search_filter_array, $lv_filter); + $rows = $this->getNftListByAccountAndType($account, $type, $order_method, $order_asc, $job_filter_array, $search_filter_array, $lv_filter, $quality_filter, $durability_filter); $total = count($rows); $page_end = $start + $page_size; From 6ccc467bcef85864a5fb946afc317319c1e8af06 Mon Sep 17 00:00:00 2001 From: songliang Date: Thu, 15 Dec 2022 14:33:34 +0800 Subject: [PATCH 30/57] ... --- doc/Market.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/Market.py b/doc/Market.py index d11b06d2..0747c547 100644 --- a/doc/Market.py +++ b/doc/Market.py @@ -319,6 +319,8 @@ class Market(object): ['job_filters', '', '职业过滤(用|分割)'], ['search_filters', '', '搜索过滤(用|分割)'], ['lv_filter', 0, '等级过滤'], + ['quality_filter', 0, '品阶顾虑'], + ['durability_filter', 0, '能量过滤'], ['price_filter', '', '价格过滤(用|分割)'] ], 'response': [ From 3a5a540cda2dba8d239478f81ad2a03e9b919bce Mon Sep 17 00:00:00 2001 From: songliang Date: Thu, 15 Dec 2022 14:49:08 +0800 Subject: [PATCH 31/57] ... --- webapp/controller/MarketController.class.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/webapp/controller/MarketController.class.php b/webapp/controller/MarketController.class.php index 90f4310a..cfca7794 100644 --- a/webapp/controller/MarketController.class.php +++ b/webapp/controller/MarketController.class.php @@ -864,8 +864,10 @@ class MarketController extends BaseController { 'modifytime' => myself()->_getNowTime(), 's_price' => $s_price, 'c_name' => $nftDetail['info']['name'], - 'c_job' => isset($nftDetail['info']['job']) ? $nftDetail['info']['job'] : -1, - 'c_lv' => isset($nftDetail['info']['level']) ? $nftDetail['info']['level'] : -1, + 'c_job' => isset($nftDetail['info']['job']) ? $nftDetail['info']['job'] : 0, + 'c_lv' => isset($nftDetail['info']['level']) ? $nftDetail['info']['level'] : 0, + 'c_quality' => isset($nftDetail['info']['quality']) ? $nftDetail['info']['quality'] : 0, + 'c_durability' => isset($nftDetail['info']['durability']) ? $nftDetail['info']['durability'] : 0, 'c_id' => $nftDetail['item_id'], ) ); From 83668e039babb35139e6ba880c55100c21c523d8 Mon Sep 17 00:00:00 2001 From: hujiabin Date: Thu, 15 Dec 2022 14:58:43 +0800 Subject: [PATCH 32/57] 1 --- webapp/models/Fragment.php | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/webapp/models/Fragment.php b/webapp/models/Fragment.php index 6b446179..88ab16db 100644 --- a/webapp/models/Fragment.php +++ b/webapp/models/Fragment.php @@ -23,6 +23,27 @@ class Fragment extends BaseModel } public static function ToDto($row){ + $itemMeta = mt\Item::get($row['token_id']); + $name = 'XXX'; + $type=0; + if ($itemMeta && $itemMeta['type'] == mt\Item::FRAGMENT_TYPE){ + $name = $itemMeta['name']; + switch ($itemMeta['sub_type']){ + case 1 : + $type=1; + break; + case 2 : + $type = 2; + break; + case 3 : + $type=1; + break; + case 4 : + $type=2; + break; + default:$type=0; + } + } $dto = array( // 'owner_address' => $row['owner_address'], 'token_id' => $row['token_id'], @@ -36,7 +57,8 @@ class Fragment extends BaseModel $nft_address = SERVER_ENV == _ONLINE ? '0xFc21A863bFb4E4534B246078772e2074e076f0a7' : '0x0E696947A06550DEf604e82C26fd9E493e576337'; } $dto['nft_address'] = $nft_address; - $dto['name'] = mt\Item::get($row['token_id'])?mt\Item::get($row['token_id'])['name']:'XXX'; + $dto['name'] = $name; + $dto['type'] = $type; return $dto; } From 4220cbdcc1fab29f61f7c3d31fdee323595637ba Mon Sep 17 00:00:00 2001 From: songliang Date: Thu, 15 Dec 2022 15:16:22 +0800 Subject: [PATCH 33/57] ... --- webapp/controller/MarketController.class.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/webapp/controller/MarketController.class.php b/webapp/controller/MarketController.class.php index cfca7794..7d16b451 100644 --- a/webapp/controller/MarketController.class.php +++ b/webapp/controller/MarketController.class.php @@ -700,22 +700,22 @@ class MarketController extends BaseController { $order_fn = function ($method, $asc) { switch ($method) { case 2: - return 'ORDER BY s_price ' . ($asc == 0 ? 'ASC' : 'DESC' . ' '); + return 'ORDER BY s_price ' . ($asc == 0 ? 'ASC' : 'DESC') . ' '; break; case 3: - return 'ORDER BY c_quality ' . ($asc == 0 ? 'ASC' : 'DESC' . ' '); + return 'ORDER BY c_quality ' . ($asc == 0 ? 'ASC' : 'DESC') . ' '; break; case 4: - return 'ORDER BY c_lv ' . ($asc == 0 ? 'ASC' : 'DESC' . ' '); + return 'ORDER BY c_lv ' . ($asc == 0 ? 'ASC' : 'DESC') . ' '; break; case 5: - return 'ORDER BY c_durability ' . ($asc == 0 ? 'ASC' : 'DESC' . ' '); + return 'ORDER BY c_durability ' . ($asc == 0 ? 'ASC' : 'DESC') . ' '; break; // 所有其他不正常的排序都执行最新上架 case 1: default: - return 'ORDER BY createtime ' . ($asc == 0 ? 'ASC' : 'DESC' . ' '); + return 'ORDER BY createtime ' . ($asc == 0 ? 'ASC' : 'DESC') . ' '; break; } return ''; From b499d6c66dfb7dd1b264a8beaace9a3d7009dbe7 Mon Sep 17 00:00:00 2001 From: songliang Date: Thu, 15 Dec 2022 16:42:56 +0800 Subject: [PATCH 34/57] ... --- webapp/controller/MarketController.class.php | 67 +++++++++++++------- 1 file changed, 45 insertions(+), 22 deletions(-) diff --git a/webapp/controller/MarketController.class.php b/webapp/controller/MarketController.class.php index 7d16b451..f6f58b23 100644 --- a/webapp/controller/MarketController.class.php +++ b/webapp/controller/MarketController.class.php @@ -757,26 +757,8 @@ class MarketController extends BaseController { return; } $nft = Nft::toDto($nftDb); - - $t = $row['token_type']; - switch($t) { - case Nft::HERO_TYPE: { - $row['detail'] = Hero::toDtoInfo(Hero::findByTokenId2($row['token_id'])); - } break; - case Nft::EQUIP_TYPE: { - $row['detail'] = Gun::toDtoInfo(Gun::findByTokenId2($row['token_id'])); - } break; - case Nft::CHIP_TYPE: { - $row['detail'] = Chip::toDto(Chip::getChipByTokenId($row['token_id'])); - } break; - case Nft::FRAGMENT_TYPE: { - - } break; - default: { - - } break; - } $row['info'] = $nft; + $row['detail'] = $this->getNftGameData($nftDb); array_push($nfts, $row); } @@ -851,8 +833,9 @@ class MarketController extends BaseController { $conn = myself()->_getMysql(''); - $nft = Nft::findNftByOwner($account, $nft_token); - $nftDetail = Nft::toDto($nft); + $nftDb = Nft::findNftByOwner($account, $nft_token); + $nftDetail = Nft::toDto($nftDb); + $detail = $this->getNftGameData($nftDb); $r = SqlHelper::insert( $conn, 't_market_store', @@ -867,11 +850,29 @@ class MarketController extends BaseController { 'c_job' => isset($nftDetail['info']['job']) ? $nftDetail['info']['job'] : 0, 'c_lv' => isset($nftDetail['info']['level']) ? $nftDetail['info']['level'] : 0, 'c_quality' => isset($nftDetail['info']['quality']) ? $nftDetail['info']['quality'] : 0, - 'c_durability' => isset($nftDetail['info']['durability']) ? $nftDetail['info']['durability'] : 0, + 'c_durability' => isset($nftDetail['info']['durability']) ? $nftDetail['info']['durability'] : isset($detail['hero_tili']) ? $detail['hero_tili'] : 0, + 'c_type' => isset($detail['type']) ? $detail['type'] : 0, 'c_id' => $nftDetail['item_id'], ) ); $this->_rspOk(); + // 1027099990010021 +// 1027099971010019 +// 1026675410010003 +// 1026668659010002 +// 1027098176010009 +// 1027098182010010 +// 1027099974010020 +// 1027099993010022 +// 1027100012010023 +// 1027100015010024 +// 1027100017010025 +// 1027100019010026 +// 110100 +// 1027101078010027 +// 1027099993010022 +// 110100 +// 1027099971010019 } public function buyNft() { @@ -889,4 +890,26 @@ class MarketController extends BaseController { $this->_rspOk(); } + + private function getNftGameData($nftRowInfo) { + $t = $nftRowInfo['token_type']; + $token_id = $nftRowInfo['token_id']; + switch($t) { + case Nft::HERO_TYPE: { + return Hero::toDtoInfo(Hero::findByTokenId2($token_id)); + } break; + case Nft::EQUIP_TYPE: { + return Gun::toDtoInfo(Gun::findByTokenId2($token_id)); + } break; + case Nft::CHIP_TYPE: { + return Chip::toDto(Chip::getChipByTokenId($token_id)); + } break; + case Nft::FRAGMENT_TYPE: { + return Fragment::ToDto($nftRowInfo); + } break; + default: { + } break; + } + return array('unknown' => 'unknown game data type, cannot find data'); + } } From e3be686e0de4bbffe840420ce889682b358b43a2 Mon Sep 17 00:00:00 2001 From: songliang Date: Thu, 15 Dec 2022 17:22:03 +0800 Subject: [PATCH 35/57] ... --- webapp/controller/MarketController.class.php | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/webapp/controller/MarketController.class.php b/webapp/controller/MarketController.class.php index f6f58b23..79fbf225 100644 --- a/webapp/controller/MarketController.class.php +++ b/webapp/controller/MarketController.class.php @@ -694,7 +694,18 @@ class MarketController extends BaseController { return 'AND c_durability>=' . $f. ' '; }; $search_filter_fn = function ($f) { - return ''; + $str = ''; + $arr_options = array(); + foreach($f as $v) { + if (!empty($v)) { + array_push($arr_options,'c_name=\'' . $v . '\' OR c_id=\'' . $v. '\' '); + } + } + if (count($arr_options)>0) { + $str = implode('OR ', $arr_options); + $str = 'AND (' . $str . ') '; + } + return $str; }; $order_fn = function ($method, $asc) { @@ -850,7 +861,7 @@ class MarketController extends BaseController { 'c_job' => isset($nftDetail['info']['job']) ? $nftDetail['info']['job'] : 0, 'c_lv' => isset($nftDetail['info']['level']) ? $nftDetail['info']['level'] : 0, 'c_quality' => isset($nftDetail['info']['quality']) ? $nftDetail['info']['quality'] : 0, - 'c_durability' => isset($nftDetail['info']['durability']) ? $nftDetail['info']['durability'] : isset($detail['hero_tili']) ? $detail['hero_tili'] : 0, + 'c_durability' => isset($nftDetail['info']['durability']) ? $nftDetail['info']['durability'] : (isset($detail['hero_tili']) ? $detail['hero_tili'] : 0), 'c_type' => isset($detail['type']) ? $detail['type'] : 0, 'c_id' => $nftDetail['item_id'], ) From 474c7067746df902f246810e9a6891f922426095 Mon Sep 17 00:00:00 2001 From: songliang Date: Thu, 15 Dec 2022 17:45:21 +0800 Subject: [PATCH 36/57] ... --- webapp/controller/MarketController.class.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/webapp/controller/MarketController.class.php b/webapp/controller/MarketController.class.php index 79fbf225..d2ae2478 100644 --- a/webapp/controller/MarketController.class.php +++ b/webapp/controller/MarketController.class.php @@ -672,8 +672,8 @@ class MarketController extends BaseController { $job_filter_array = explode('|', $job_filters); $search_filters = getReqVal('search_filters', ''); $search_filter_array = explode('|', $search_filters); - $lv_filter = getReqVal('lv_filter', 1); - $quality_filter = getReqVal('quality_filter', 1); + $lv_filter = getReqVal('lv_filter', 0); + $quality_filter = getReqVal('quality_filter', 0); $durability_filter = getReqVal('durability_filter', 0); $price_filter = getReqVal('price_filter', ''); $price_filter_array = explode('|', $price_filter); From 8f3cdf2766caf034332357b8c67cbbdf5e41be69 Mon Sep 17 00:00:00 2001 From: songliang Date: Thu, 15 Dec 2022 19:47:00 +0800 Subject: [PATCH 37/57] ... --- webapp/controller/MarketController.class.php | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/webapp/controller/MarketController.class.php b/webapp/controller/MarketController.class.php index d2ae2478..c3210b65 100644 --- a/webapp/controller/MarketController.class.php +++ b/webapp/controller/MarketController.class.php @@ -679,7 +679,18 @@ class MarketController extends BaseController { $price_filter_array = explode('|', $price_filter); $job_filter_fn = function ($f) { - return ''; + $str = ''; + $arr = array(); + foreach($f as $v) { + if (!empty($v)) { + array_push($arr, 'c_job=\'' . $v . '\' '); + } + } + if (count($arr)>0) { + $str = implode('OR ', $arr); + $str = 'AND (' . $str . ') '; + } + return $str; }; $lv_filter_fn = function ($f) { $f = (int) $f; @@ -858,7 +869,7 @@ class MarketController extends BaseController { 'modifytime' => myself()->_getNowTime(), 's_price' => $s_price, 'c_name' => $nftDetail['info']['name'], - 'c_job' => isset($nftDetail['info']['job']) ? $nftDetail['info']['job'] : 0, + 'c_job' => isset($nftDetail['info']['job']) ? $nftDetail['info']['job'] : ($detail['chip_type'] ? $detail['chip_type']: ($detail['type']?$detail['type']:0)), 'c_lv' => isset($nftDetail['info']['level']) ? $nftDetail['info']['level'] : 0, 'c_quality' => isset($nftDetail['info']['quality']) ? $nftDetail['info']['quality'] : 0, 'c_durability' => isset($nftDetail['info']['durability']) ? $nftDetail['info']['durability'] : (isset($detail['hero_tili']) ? $detail['hero_tili'] : 0), From ee4c49f3653d7020bbf3f6399bdd60c2c210d230 Mon Sep 17 00:00:00 2001 From: songliang Date: Fri, 16 Dec 2022 10:21:52 +0800 Subject: [PATCH 38/57] ... --- webapp/controller/MarketController.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webapp/controller/MarketController.class.php b/webapp/controller/MarketController.class.php index c3210b65..c8381beb 100644 --- a/webapp/controller/MarketController.class.php +++ b/webapp/controller/MarketController.class.php @@ -869,7 +869,7 @@ class MarketController extends BaseController { 'modifytime' => myself()->_getNowTime(), 's_price' => $s_price, 'c_name' => $nftDetail['info']['name'], - 'c_job' => isset($nftDetail['info']['job']) ? $nftDetail['info']['job'] : ($detail['chip_type'] ? $detail['chip_type']: ($detail['type']?$detail['type']:0)), + 'c_job' => isset($nftDetail['info']['job']) ? $nftDetail['info']['job'] : (isset($detail['chip_type']) ? $detail['chip_type']: (isset($detail['type'])?$detail['type']:0)), 'c_lv' => isset($nftDetail['info']['level']) ? $nftDetail['info']['level'] : 0, 'c_quality' => isset($nftDetail['info']['quality']) ? $nftDetail['info']['quality'] : 0, 'c_durability' => isset($nftDetail['info']['durability']) ? $nftDetail['info']['durability'] : (isset($detail['hero_tili']) ? $detail['hero_tili'] : 0), From ac585fb7d36af12a8780fcce91d5dea8102b9530 Mon Sep 17 00:00:00 2001 From: songliang Date: Fri, 16 Dec 2022 10:35:02 +0800 Subject: [PATCH 39/57] ... --- webapp/controller/MarketController.class.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/webapp/controller/MarketController.class.php b/webapp/controller/MarketController.class.php index c8381beb..05c77c0c 100644 --- a/webapp/controller/MarketController.class.php +++ b/webapp/controller/MarketController.class.php @@ -648,8 +648,12 @@ class MarketController extends BaseController { break; case Nft::FRAGMENT_TYPE: { $rows = Nft::getNft1155List($account, $type); + foreach ($rows as &$row) { + $nftDb = Nft::findNftByOwner($account, $row['token_id']); + $row['detail'] = $this->getNftGameData($nftDb); + array_push($nfts, $row); + } usort($nfts, $sortByTokenId); - $nfts = $rows; } break; default: { From 7fcdca8fb36cc18a54a4bb87e1a7cb40e8efd6bf Mon Sep 17 00:00:00 2001 From: songliang Date: Fri, 16 Dec 2022 11:04:26 +0800 Subject: [PATCH 40/57] ... --- webapp/controller/MarketController.class.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/webapp/controller/MarketController.class.php b/webapp/controller/MarketController.class.php index 05c77c0c..90f60bea 100644 --- a/webapp/controller/MarketController.class.php +++ b/webapp/controller/MarketController.class.php @@ -873,8 +873,11 @@ class MarketController extends BaseController { 'modifytime' => myself()->_getNowTime(), 's_price' => $s_price, 'c_name' => $nftDetail['info']['name'], - 'c_job' => isset($nftDetail['info']['job']) ? $nftDetail['info']['job'] : (isset($detail['chip_type']) ? $detail['chip_type']: (isset($detail['type'])?$detail['type']:0)), - 'c_lv' => isset($nftDetail['info']['level']) ? $nftDetail['info']['level'] : 0, + 'c_job' => isset($nftDetail['info']['job']) ? $nftDetail['info']['job'] + : (isset($detail['chip_type']) ? $detail['chip_type'] + : (isset($detail['type'])?$detail['type'] + :0)), + 'c_lv' => @$detail['gun_lv'] | @$detail['hero_lv'] | @$detail['chip_grade'], 'c_quality' => isset($nftDetail['info']['quality']) ? $nftDetail['info']['quality'] : 0, 'c_durability' => isset($nftDetail['info']['durability']) ? $nftDetail['info']['durability'] : (isset($detail['hero_tili']) ? $detail['hero_tili'] : 0), 'c_type' => isset($detail['type']) ? $detail['type'] : 0, From e296fc19c3846633cbe46980a3a39efcf10e99fe Mon Sep 17 00:00:00 2001 From: songliang Date: Fri, 16 Dec 2022 12:48:23 +0800 Subject: [PATCH 41/57] ... --- webapp/controller/MarketController.class.php | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/webapp/controller/MarketController.class.php b/webapp/controller/MarketController.class.php index 90f60bea..5079def8 100644 --- a/webapp/controller/MarketController.class.php +++ b/webapp/controller/MarketController.class.php @@ -763,8 +763,21 @@ class MarketController extends BaseController { ':token_type' => $type, ) ); + $counts = $conn->execQuery( + 'SELECT count(*) as count FROM t_market_store '. + 'WHERE token_type=:token_type '. + $job_filter_fn($job_filter_array). + $lv_filter_fn($lv_filter). + $quality_filter_fn($quality_filter). + $durability_filter_fn($durability_filter). + $search_filter_fn($search_filter_array). + $order_fn($order_method, $order_asc), + array( + ':token_type' => $type, + ) + ); - $total = count($rows); + $total = $counts[0]['count']; $page_end = $start + $page_size; if ($page_end > $total) { $page_end = $total; @@ -789,7 +802,7 @@ class MarketController extends BaseController { } $this->_rspData(array( - "total" => count($rows), + "total" => $total, "start" => $start, "page_size" => $page_size, 'nfts' => $nfts, @@ -837,7 +850,7 @@ class MarketController extends BaseController { } $this->_rspData(array( - "total" => count($rows), + "total" => $total, "start" => $start, "page_size" => $page_size, 'nfts' => $nfts, From cb0f4207861d2416723ea3e8c3c3d31226e6078d Mon Sep 17 00:00:00 2001 From: songliang Date: Fri, 16 Dec 2022 13:36:22 +0800 Subject: [PATCH 42/57] ... --- webapp/controller/MarketController.class.php | 31 ++++++++++---------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/webapp/controller/MarketController.class.php b/webapp/controller/MarketController.class.php index 5079def8..e8701379 100644 --- a/webapp/controller/MarketController.class.php +++ b/webapp/controller/MarketController.class.php @@ -749,20 +749,6 @@ class MarketController extends BaseController { $conn = myself()->_getMysql(''); - $rows = $conn->execQuery( - 'SELECT * FROM t_market_store '. - 'WHERE token_type=:token_type '. - $job_filter_fn($job_filter_array). - $lv_filter_fn($lv_filter). - $quality_filter_fn($quality_filter). - $durability_filter_fn($durability_filter). - $search_filter_fn($search_filter_array). - $order_fn($order_method, $order_asc). - 'LIMIT '.$start.','.$page_size, - array( - ':token_type' => $type, - ) - ); $counts = $conn->execQuery( 'SELECT count(*) as count FROM t_market_store '. 'WHERE token_type=:token_type '. @@ -785,11 +771,26 @@ class MarketController extends BaseController { $start = intval($start / $page_size) * $page_size; if ($start<0) $start = 0; } + + $rows = $conn->execQuery( + 'SELECT * FROM t_market_store '. + 'WHERE token_type=:token_type '. + $job_filter_fn($job_filter_array). + $lv_filter_fn($lv_filter). + $quality_filter_fn($quality_filter). + $durability_filter_fn($durability_filter). + $search_filter_fn($search_filter_array). + $order_fn($order_method, $order_asc). + 'LIMIT '.$start.','.$page_size, + array( + ':token_type' => $type, + ) + ); $nfts = array(); for ($x = $start; $x < $page_end; $x++) { - $row = $rows[$x]; + $row = $rows[$x%$page_size]; $nftDb = Nft::findNftByOwner($row['owner_address'], $row['token_id']); if (!$nftDb) { myself()->_rspErr(1, 'nft not exists'); From c92183705b8dec9b6bfbbedce9b71215a2cbc165 Mon Sep 17 00:00:00 2001 From: songliang Date: Fri, 16 Dec 2022 16:43:41 +0800 Subject: [PATCH 43/57] ... --- webapp/controller/MarketController.class.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/webapp/controller/MarketController.class.php b/webapp/controller/MarketController.class.php index e8701379..6b97afe3 100644 --- a/webapp/controller/MarketController.class.php +++ b/webapp/controller/MarketController.class.php @@ -630,6 +630,8 @@ class MarketController extends BaseController { $rows = Nft::getNft1155List($account, $type); foreach ($rows as &$row) { $row['detail'] = Chip::toDto(Chip::getChipByTokenId($row['token_id'])); + if (!in_array($row['detail']['chip_type'], $job)) + continue; if ($row['detail']['chip_grade']<$lv) continue; if (count($search)>0) { if (!(in_array($row['detail']['token_id'], $search))) continue; @@ -651,6 +653,8 @@ class MarketController extends BaseController { foreach ($rows as &$row) { $nftDb = Nft::findNftByOwner($account, $row['token_id']); $row['detail'] = $this->getNftGameData($nftDb); + if (!in_array($row['detail']['type'], $job)) + continue; array_push($nfts, $row); } usort($nfts, $sortByTokenId); From 7b924ffac3ad9af9dd6fbbcb74027efb2032b2e8 Mon Sep 17 00:00:00 2001 From: songliang Date: Fri, 16 Dec 2022 16:46:42 +0800 Subject: [PATCH 44/57] ... --- webapp/controller/MarketController.class.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/webapp/controller/MarketController.class.php b/webapp/controller/MarketController.class.php index 6b97afe3..3f6db4a3 100644 --- a/webapp/controller/MarketController.class.php +++ b/webapp/controller/MarketController.class.php @@ -655,6 +655,9 @@ class MarketController extends BaseController { $row['detail'] = $this->getNftGameData($nftDb); if (!in_array($row['detail']['type'], $job)) continue; + if (count($search)>0) { + if (!(in_array($row['detail']['name'], $search))) continue; + } array_push($nfts, $row); } usort($nfts, $sortByTokenId); From a87e14f5c73ef932a5936f803a722b2edac4d737 Mon Sep 17 00:00:00 2001 From: songliang Date: Fri, 16 Dec 2022 16:59:04 +0800 Subject: [PATCH 45/57] ... --- webapp/controller/MarketController.class.php | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/webapp/controller/MarketController.class.php b/webapp/controller/MarketController.class.php index 3f6db4a3..b1450d28 100644 --- a/webapp/controller/MarketController.class.php +++ b/webapp/controller/MarketController.class.php @@ -703,6 +703,14 @@ class MarketController extends BaseController { } return $str; }; + $price_filter_fn = function ($f) { + if (count($f)==2) { + $low = $f[0]; + $top = $f[1]; + return 'AND s_price>=' . $low . ' AND s_price<=' . $top . ' '; + } + return ''; + }; $lv_filter_fn = function ($f) { $f = (int) $f; return 'AND c_lv>=' . $f. ' '; @@ -763,6 +771,7 @@ class MarketController extends BaseController { $lv_filter_fn($lv_filter). $quality_filter_fn($quality_filter). $durability_filter_fn($durability_filter). + $price_filter_fn($price_filter_array). $search_filter_fn($search_filter_array). $order_fn($order_method, $order_asc), array( @@ -786,6 +795,7 @@ class MarketController extends BaseController { $lv_filter_fn($lv_filter). $quality_filter_fn($quality_filter). $durability_filter_fn($durability_filter). + $price_filter_fn($price_filter_array). $search_filter_fn($search_filter_array). $order_fn($order_method, $order_asc). 'LIMIT '.$start.','.$page_size, From 68b4421aac4f796ff65bc47bb2bb52e2151e7853 Mon Sep 17 00:00:00 2001 From: songliang Date: Fri, 16 Dec 2022 18:50:20 +0800 Subject: [PATCH 46/57] ... --- webapp/controller/MarketController.class.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/webapp/controller/MarketController.class.php b/webapp/controller/MarketController.class.php index b1450d28..a1c43ea7 100644 --- a/webapp/controller/MarketController.class.php +++ b/webapp/controller/MarketController.class.php @@ -634,7 +634,8 @@ class MarketController extends BaseController { continue; if ($row['detail']['chip_grade']<$lv) continue; if (count($search)>0) { - if (!(in_array($row['detail']['token_id'], $search))) continue; + $searchLower = array_map('strtolower', $search); + if (!(in_array($row['detail']['token_id'], $searchLower) || in_array(strtolower($row['detail']['token_id']), $searchLower))) continue; } array_push($nfts, $row); } @@ -656,7 +657,8 @@ class MarketController extends BaseController { if (!in_array($row['detail']['type'], $job)) continue; if (count($search)>0) { - if (!(in_array($row['detail']['name'], $search))) continue; + $searchLower = array_map('strtolower', $search); + if (!(in_array($row['detail']['name'], $searchLower) || in_array(strtolower($row['detail']['token_id']), $searchLower))) continue; } array_push($nfts, $row); } From 2628cd10913b7a328747524c6cc7f902df5e6ac5 Mon Sep 17 00:00:00 2001 From: songliang Date: Mon, 19 Dec 2022 11:52:54 +0800 Subject: [PATCH 47/57] ... --- webapp/controller/MarketController.class.php | 3 --- 1 file changed, 3 deletions(-) diff --git a/webapp/controller/MarketController.class.php b/webapp/controller/MarketController.class.php index a1c43ea7..495d525c 100644 --- a/webapp/controller/MarketController.class.php +++ b/webapp/controller/MarketController.class.php @@ -850,7 +850,6 @@ class MarketController extends BaseController { $lv_filter = getReqVal('lv_filter', 15); $quality_filter = getReqVal('quality_filter', 15); $durability_filter = getReqVal('durability_filter', 15); - $account = '0x9a4d9dd2bfcad659975f0f5a480625c7929e9385'; $rows = $this->getNftListByAccountAndType($account, $type, $order_method, $order_asc, $job_filter_array, $search_filter_array, $lv_filter, $quality_filter, $durability_filter); @@ -888,8 +887,6 @@ class MarketController extends BaseController { $signature = getReqVal('signature', ''); $net_id = getReqVal('net_id', ''); - $account = '0x9a4d9dd2bfcad659975f0f5a480625c7929e9385'; - $conn = myself()->_getMysql(''); $nftDb = Nft::findNftByOwner($account, $nft_token); From dce5612f67e5fc605fac113e634b56c286f45059 Mon Sep 17 00:00:00 2001 From: songliang Date: Mon, 19 Dec 2022 12:48:58 +0800 Subject: [PATCH 48/57] ... --- webapp/controller/MarketController.class.php | 23 +++----------------- 1 file changed, 3 insertions(+), 20 deletions(-) diff --git a/webapp/controller/MarketController.class.php b/webapp/controller/MarketController.class.php index 495d525c..3f3bd35e 100644 --- a/webapp/controller/MarketController.class.php +++ b/webapp/controller/MarketController.class.php @@ -847,9 +847,9 @@ class MarketController extends BaseController { $search_filter_array = array(); } - $lv_filter = getReqVal('lv_filter', 15); - $quality_filter = getReqVal('quality_filter', 15); - $durability_filter = getReqVal('durability_filter', 15); + $lv_filter = getReqVal('lv_filter', 0); + $quality_filter = getReqVal('quality_filter', 0); + $durability_filter = getReqVal('durability_filter', 0); $rows = $this->getNftListByAccountAndType($account, $type, $order_method, $order_asc, $job_filter_array, $search_filter_array, $lv_filter, $quality_filter, $durability_filter); @@ -915,23 +915,6 @@ class MarketController extends BaseController { ) ); $this->_rspOk(); - // 1027099990010021 -// 1027099971010019 -// 1026675410010003 -// 1026668659010002 -// 1027098176010009 -// 1027098182010010 -// 1027099974010020 -// 1027099993010022 -// 1027100012010023 -// 1027100015010024 -// 1027100017010025 -// 1027100019010026 -// 110100 -// 1027101078010027 -// 1027099993010022 -// 110100 -// 1027099971010019 } public function buyNft() { From 2aad2151294195eb8480e5dad42889795ea5e0b8 Mon Sep 17 00:00:00 2001 From: songliang Date: Mon, 19 Dec 2022 13:09:21 +0800 Subject: [PATCH 49/57] ... --- webapp/controller/MarketController.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webapp/controller/MarketController.class.php b/webapp/controller/MarketController.class.php index 3f3bd35e..b9a5c040 100644 --- a/webapp/controller/MarketController.class.php +++ b/webapp/controller/MarketController.class.php @@ -831,7 +831,7 @@ class MarketController extends BaseController { public function listMyNfts() { - $account = getReqVal('account', ''); + $account = strtolower(getReqVal('account', '')); $token = getReqVal('token', ''); $start = getReqVal('start', 0); $page_size = getReqVal('page_size', 10); From aaa853083bb3f9fd4c9c4f07322681fa584d8ab8 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 19 Dec 2022 14:13:51 +0800 Subject: [PATCH 50/57] ... --- webapp/models/Hero.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webapp/models/Hero.php b/webapp/models/Hero.php index abc23a28..f0d2a24c 100644 --- a/webapp/models/Hero.php +++ b/webapp/models/Hero.php @@ -752,7 +752,7 @@ class Hero extends BaseModel { 'hero_lv' => $row['hero_lv'], 'hero_tili' => $row['hero_tili'], 'quality' => $row['quality'], - 'rand_attr' => $rand_attr, + 'rand_attr' => array_values($rand_attr), 'chip_core' => $chip_core ? $coreAttr : $chip_core, // 'attr_base' => $baseAttr, // 'attr_pro' => $attrPro, From c15e8a62de4890f25c94f718dfa789d2c959d973 Mon Sep 17 00:00:00 2001 From: songliang Date: Mon, 19 Dec 2022 14:14:17 +0800 Subject: [PATCH 51/57] ... --- webapp/controller/MarketController.class.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/webapp/controller/MarketController.class.php b/webapp/controller/MarketController.class.php index b9a5c040..0ffac7c9 100644 --- a/webapp/controller/MarketController.class.php +++ b/webapp/controller/MarketController.class.php @@ -878,7 +878,7 @@ class MarketController extends BaseController { public function sellMyNft() { - $account = getReqVal('account', ''); + $account = strtolower(getReqVal('account', '')); $token = getReqVal('token', ''); $nft_token = getReqVal('nft_token', ''); $s_price = getReqVal('s_price', ''); @@ -918,7 +918,7 @@ class MarketController extends BaseController { } public function buyNft() { - $account = getReqVal('account', ''); + $account = strtolower(getReqVal('account', '')); $token = getReqVal('token', ''); $nft_token = getReqVal('nft_token', ''); $payment_token_address = getReqVal('payment_token_address', ''); From b3fb9f7f9c264640d595d481179aaf87c57292c3 Mon Sep 17 00:00:00 2001 From: songliang Date: Mon, 19 Dec 2022 14:15:27 +0800 Subject: [PATCH 52/57] ... --- webapp/models/Gun.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webapp/models/Gun.php b/webapp/models/Gun.php index 6dc8a9a6..0290146a 100644 --- a/webapp/models/Gun.php +++ b/webapp/models/Gun.php @@ -706,7 +706,7 @@ class Gun extends BaseModel { 'quality' => $row['quality'], 'lucky' => strval($gunLucky), 'durability' => $row['durability'], - 'rand_attr' => $rand_attr, + 'rand_attr' => array_values($rand_attr), 'chip_core' => $chip_core ? $coreAttr : $chip_core, 'current_pvp_get_ceg' => $todayGetGold / 100, 'current_pve_get_ceg' => $todayPveGetCeg / 100, From e09e75a8d7e61af43a560f946eb5bd3f4fe18938 Mon Sep 17 00:00:00 2001 From: songliang Date: Mon, 19 Dec 2022 15:20:34 +0800 Subject: [PATCH 53/57] ... --- webapp/controller/MarketController.class.php | 11 +++++++++++ webapp/models/Chip.php | 6 ++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/webapp/controller/MarketController.class.php b/webapp/controller/MarketController.class.php index 0ffac7c9..4846ebaa 100644 --- a/webapp/controller/MarketController.class.php +++ b/webapp/controller/MarketController.class.php @@ -583,6 +583,17 @@ class MarketController extends BaseController { $searchLower = array_map('strtolower', $search); if (!(in_array(strtolower($row['detail']['hero_name']), $searchLower) || in_array(strtolower($row['detail']['token_id']), $searchLower))) continue; } + if (!empty($row['detail']['chip_ids'])) { + $row['detail']['chips_info'] = array(); + $chips = explode('|', $row['detail']['chip_ids']); + foreach ($chips as $chip) { + $chip_info = ""; + if (!empty($chip)) { + $chip_info = Chip::toDto(Chip::getChipByTokenId($chip)); + } + array_push($row['detail']['chips_info'], $chip_info); + } + } array_push($nfts, $row); } switch ($order_method) { diff --git a/webapp/models/Chip.php b/webapp/models/Chip.php index 0beb4d70..2374b3f4 100644 --- a/webapp/models/Chip.php +++ b/webapp/models/Chip.php @@ -415,8 +415,10 @@ class Chip extends BaseModel case 1:{ foreach ($chipIdsArr as $val){ $chip = self::getChipByTokenId($val); - $lucky = FormulaService::getChipLuckyValue($chip['chip_grade']); - $MaxStrength+=FormulaService::Hero_Chip_NFT_Maximum_Physical_Strength($chip['chip_grade'],$lucky)*FormulaService::Hero_Chip_PSA_Value($chip)*FormulaService::Hero_Chip_GAC_PS_Value($chip['chip_grade']); + if ($chip) { + $lucky = FormulaService::getChipLuckyValue($chip['chip_grade']); + $MaxStrength+=FormulaService::Hero_Chip_NFT_Maximum_Physical_Strength($chip['chip_grade'],$lucky)*FormulaService::Hero_Chip_PSA_Value($chip)*FormulaService::Hero_Chip_GAC_PS_Value($chip['chip_grade']); + } } } break; From 3d4a68f68fea08ac735529e341a2daed2a151585 Mon Sep 17 00:00:00 2001 From: songliang Date: Mon, 19 Dec 2022 15:58:56 +0800 Subject: [PATCH 54/57] ... --- webapp/controller/MarketController.class.php | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/webapp/controller/MarketController.class.php b/webapp/controller/MarketController.class.php index 4846ebaa..3b928121 100644 --- a/webapp/controller/MarketController.class.php +++ b/webapp/controller/MarketController.class.php @@ -583,8 +583,8 @@ class MarketController extends BaseController { $searchLower = array_map('strtolower', $search); if (!(in_array(strtolower($row['detail']['hero_name']), $searchLower) || in_array(strtolower($row['detail']['token_id']), $searchLower))) continue; } + $row['detail']['chips_info'] = array(); if (!empty($row['detail']['chip_ids'])) { - $row['detail']['chips_info'] = array(); $chips = explode('|', $row['detail']['chip_ids']); foreach ($chips as $chip) { $chip_info = ""; @@ -622,6 +622,17 @@ class MarketController extends BaseController { $searchLower = array_map('strtolower', $search); if (!(in_array(strtolower($row['detail']['gun_name']), $searchLower) || in_array(strtolower($row['detail']['token_id']), $searchLower))) continue; } + $row['detail']['chips_info'] = array(); + if (!empty($row['detail']['chip_ids'])) { + $chips = explode('|', $row['detail']['chip_ids']); + foreach ($chips as $chip) { + $chip_info = ""; + if (!empty($chip)) { + $chip_info = Chip::toDto(Chip::getChipByTokenId($chip)); + } + array_push($row['detail']['chips_info'], $chip_info); + } + } array_push($nfts, $row); } switch ($order_method) { From c355f3a83881bb53d57edf91dc91b9641b5886e0 Mon Sep 17 00:00:00 2001 From: songliang Date: Tue, 20 Dec 2022 13:48:06 +0800 Subject: [PATCH 55/57] ... --- webapp/controller/MarketController.class.php | 44 +++++++++----------- 1 file changed, 20 insertions(+), 24 deletions(-) diff --git a/webapp/controller/MarketController.class.php b/webapp/controller/MarketController.class.php index 3b928121..f8bfe8eb 100644 --- a/webapp/controller/MarketController.class.php +++ b/webapp/controller/MarketController.class.php @@ -583,17 +583,7 @@ class MarketController extends BaseController { $searchLower = array_map('strtolower', $search); if (!(in_array(strtolower($row['detail']['hero_name']), $searchLower) || in_array(strtolower($row['detail']['token_id']), $searchLower))) continue; } - $row['detail']['chips_info'] = array(); - if (!empty($row['detail']['chip_ids'])) { - $chips = explode('|', $row['detail']['chip_ids']); - foreach ($chips as $chip) { - $chip_info = ""; - if (!empty($chip)) { - $chip_info = Chip::toDto(Chip::getChipByTokenId($chip)); - } - array_push($row['detail']['chips_info'], $chip_info); - } - } + $row['detail'] = $this->appendChipsInfo($row['detail']); array_push($nfts, $row); } switch ($order_method) { @@ -622,17 +612,7 @@ class MarketController extends BaseController { $searchLower = array_map('strtolower', $search); if (!(in_array(strtolower($row['detail']['gun_name']), $searchLower) || in_array(strtolower($row['detail']['token_id']), $searchLower))) continue; } - $row['detail']['chips_info'] = array(); - if (!empty($row['detail']['chip_ids'])) { - $chips = explode('|', $row['detail']['chip_ids']); - foreach ($chips as $chip) { - $chip_info = ""; - if (!empty($chip)) { - $chip_info = Chip::toDto(Chip::getChipByTokenId($chip)); - } - array_push($row['detail']['chips_info'], $chip_info); - } - } + $row['detail'] = $this->appendChipsInfo($row['detail']); array_push($nfts, $row); } switch ($order_method) { @@ -960,10 +940,10 @@ class MarketController extends BaseController { $token_id = $nftRowInfo['token_id']; switch($t) { case Nft::HERO_TYPE: { - return Hero::toDtoInfo(Hero::findByTokenId2($token_id)); + return $this->appendChipsInfo(Hero::toDtoInfo(Hero::findByTokenId2($token_id))); } break; case Nft::EQUIP_TYPE: { - return Gun::toDtoInfo(Gun::findByTokenId2($token_id)); + return $this->appendChipsInfo(Gun::toDtoInfo(Gun::findByTokenId2($token_id))); } break; case Nft::CHIP_TYPE: { return Chip::toDto(Chip::getChipByTokenId($token_id)); @@ -976,4 +956,20 @@ class MarketController extends BaseController { } return array('unknown' => 'unknown game data type, cannot find data'); } + + + private function appendChipsInfo($detail) { + $detail['chips_info'] = array(); + if (!empty($detail['chip_ids'])) { + $chips = explode('|', $detail['chip_ids']); + foreach ($chips as $chip) { + $chip_info = ""; + if (!empty($chip)) { + $chip_info = Chip::toDto(Chip::getChipByTokenId($chip)); + } + array_push($detail['chips_info'], $chip_info); + } + } + return $detail; + } } From f87bf1ebbed700800fe3f4c1ce240953dd21eae1 Mon Sep 17 00:00:00 2001 From: songliang Date: Tue, 20 Dec 2022 19:04:41 +0800 Subject: [PATCH 56/57] ... --- webapp/controller/MarketController.class.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/webapp/controller/MarketController.class.php b/webapp/controller/MarketController.class.php index f8bfe8eb..ffd66a16 100644 --- a/webapp/controller/MarketController.class.php +++ b/webapp/controller/MarketController.class.php @@ -581,7 +581,7 @@ class MarketController extends BaseController { if ($row['detail']['hero_tili']<$durability) continue; if (count($search)>0) { $searchLower = array_map('strtolower', $search); - if (!(in_array(strtolower($row['detail']['hero_name']), $searchLower) || in_array(strtolower($row['detail']['token_id']), $searchLower))) continue; + if (!(in_array(strtolower($row['detail']['hero_name']), $searchLower) || in_array(strtolower($row['detail']['hero_id']), $searchLower))) continue; } $row['detail'] = $this->appendChipsInfo($row['detail']); array_push($nfts, $row); @@ -610,7 +610,7 @@ class MarketController extends BaseController { if ($row['detail']['durability']<$durability) continue; if (count($search)>0) { $searchLower = array_map('strtolower', $search); - if (!(in_array(strtolower($row['detail']['gun_name']), $searchLower) || in_array(strtolower($row['detail']['token_id']), $searchLower))) continue; + if (!(in_array(strtolower($row['detail']['gun_name']), $searchLower) || in_array(strtolower($row['detail']['gun_id']), $searchLower))) continue; } $row['detail'] = $this->appendChipsInfo($row['detail']); array_push($nfts, $row); @@ -637,7 +637,7 @@ class MarketController extends BaseController { if ($row['detail']['chip_grade']<$lv) continue; if (count($search)>0) { $searchLower = array_map('strtolower', $search); - if (!(in_array($row['detail']['token_id'], $searchLower) || in_array(strtolower($row['detail']['token_id']), $searchLower))) continue; + if (!(in_array(strtolower($row['detail']['chip_name']), $searchLower) || in_array(strtolower($row['detail']['item_id']), $searchLower))) continue; } array_push($nfts, $row); } @@ -660,7 +660,7 @@ class MarketController extends BaseController { continue; if (count($search)>0) { $searchLower = array_map('strtolower', $search); - if (!(in_array($row['detail']['name'], $searchLower) || in_array(strtolower($row['detail']['token_id']), $searchLower))) continue; + if (!(in_array(strtolower($row['detail']['name']), $searchLower) || in_array(strtolower($row['detail']['item_id']), $searchLower))) continue; } array_push($nfts, $row); } From 9471f1ecdeb9ebc538cd767d4ab0360cff4776fe Mon Sep 17 00:00:00 2001 From: songliang Date: Wed, 21 Dec 2022 10:42:58 +0800 Subject: [PATCH 57/57] ... --- webapp/controller/MarketController.class.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/webapp/controller/MarketController.class.php b/webapp/controller/MarketController.class.php index ffd66a16..a5585ea6 100644 --- a/webapp/controller/MarketController.class.php +++ b/webapp/controller/MarketController.class.php @@ -581,7 +581,7 @@ class MarketController extends BaseController { if ($row['detail']['hero_tili']<$durability) continue; if (count($search)>0) { $searchLower = array_map('strtolower', $search); - if (!(in_array(strtolower($row['detail']['hero_name']), $searchLower) || in_array(strtolower($row['detail']['hero_id']), $searchLower))) continue; + if (!(in_array(strtolower($row['detail']['hero_name']), $searchLower) || in_array(strtolower($row['detail']['token_id']), $searchLower))) continue; } $row['detail'] = $this->appendChipsInfo($row['detail']); array_push($nfts, $row); @@ -610,7 +610,7 @@ class MarketController extends BaseController { if ($row['detail']['durability']<$durability) continue; if (count($search)>0) { $searchLower = array_map('strtolower', $search); - if (!(in_array(strtolower($row['detail']['gun_name']), $searchLower) || in_array(strtolower($row['detail']['gun_id']), $searchLower))) continue; + if (!(in_array(strtolower($row['detail']['gun_name']), $searchLower) || in_array(strtolower($row['detail']['token_id']), $searchLower))) continue; } $row['detail'] = $this->appendChipsInfo($row['detail']); array_push($nfts, $row); @@ -637,7 +637,7 @@ class MarketController extends BaseController { if ($row['detail']['chip_grade']<$lv) continue; if (count($search)>0) { $searchLower = array_map('strtolower', $search); - if (!(in_array(strtolower($row['detail']['chip_name']), $searchLower) || in_array(strtolower($row['detail']['item_id']), $searchLower))) continue; + if (!(in_array(strtolower($row['detail']['chip_name']), $searchLower) || in_array(strtolower($row['detail']['token_id']), $searchLower))) continue; } array_push($nfts, $row); } @@ -660,7 +660,7 @@ class MarketController extends BaseController { continue; if (count($search)>0) { $searchLower = array_map('strtolower', $search); - if (!(in_array(strtolower($row['detail']['name']), $searchLower) || in_array(strtolower($row['detail']['item_id']), $searchLower))) continue; + if (!(in_array(strtolower($row['detail']['name']), $searchLower) || in_array(strtolower($row['detail']['token_id']), $searchLower))) continue; } array_push($nfts, $row); } @@ -732,7 +732,7 @@ class MarketController extends BaseController { $arr_options = array(); foreach($f as $v) { if (!empty($v)) { - array_push($arr_options,'c_name=\'' . $v . '\' OR c_id=\'' . $v. '\' '); + array_push($arr_options,'c_name=\'' . $v . '\' OR token_id=\'' . $v. '\' '); } } if (count($arr_options)>0) {