diff --git a/webapp/services/callback/MarketSellOrderOk.php b/webapp/services/callback/MarketSellOrderOk.php index 2daaf986..9358aa48 100644 --- a/webapp/services/callback/MarketSellOrderOk.php +++ b/webapp/services/callback/MarketSellOrderOk.php @@ -2,9 +2,19 @@ namespace services; require_once('MarketCallbackBase.php'); +require_once('models/Nft.php'); +require_once('models/Hero.php'); +require_once('models/Gun.php'); +require_once('models/Chip.php'); +require_once('models/Fragment.php'); use services\MarketCallbackBase; use phpcommon\SqlHelper; +use models\Nft; +use models\Hero; +use models\Gun; +use models\Chip; +use models\Fragment; class MarketSellOrderOk extends MarketCallbackBase { @@ -84,4 +94,48 @@ class MarketSellOrderOk extends MarketCallbackBase $this->_rspOk(); } + + private function getNftGameData($nftRowInfo) + { + $t = $nftRowInfo['token_type']; + $token_id = $nftRowInfo['token_id']; + switch ($t) { + case Nft::HERO_TYPE: { + return $this->appendChipsInfo(Hero::toDtoInfo(Hero::findByTokenId2($token_id))); + } + break; + case Nft::EQUIP_TYPE: { + return $this->appendChipsInfo(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'); + } + + 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; + } }