_getSelfMysql(), 't_transaction', array( 'address' => myself()->_getAddress(), 'client_confirmed' => 1 ) ); return $rows; } public static function find($transId) { $row = SqlHelper::ormSelectOne( myself()->_getSelfMysql(), 't_transaction', array( 'address' => myself()->_getAddress(), 'trans_id' => $transId, ) ); return $row; } public static function findEx($transId) { $row = SqlHelper::ormSelectOne( myself()->_getMysql($transId), 't_transaction', array( 'trans_id' => $transId, ) ); return $row; } public static function add($transId, $action, $tokenId, $tokenType, $itemUniId, $itemId, $itemNum, $result) { SqlHelper::insert( myself()->_getSelfMysql(), 't_transaction', array( 'account_id' => myself()->_getAccountId(), 'address' => myself()->_getAddress(), 'trans_id' => $transId, 'action' => $action, 'token_id' => $tokenId, 'token_type' => $tokenType, 'item_uniid' => $itemUniId, 'item_id' => $itemId, 'item_num' => $itemNum, 'result' => $result, 'status' => self::CREATED_STATUS, 'createtime' => myself()->_getNowTime(), 'modifytime' => myself()->_getNowTime(), ) ); } public static function addEx($address,$transId, $action, $tokenId, $tokenType, $itemUniId, $itemId, $itemNum, $result) { SqlHelper::insert( myself()->_getMysql(''), 't_transaction', array( 'account_id' => '', 'address' => $address, 'trans_id' => $transId, 'action' => $action, 'token_id' => $tokenId, 'token_type' => $tokenType, 'item_uniid' => $itemUniId, 'item_id' => $itemId, 'item_num' => $itemNum, 'result' => $result, 'status' => self::CREATED_STATUS, 'createtime' => myself()->_getNowTime(), 'modifytime' => myself()->_getNowTime(), ) ); } public static function getActionDesc($transDb) { switch ($transDb['action']) { case self::MINT_721_ACTION_TYPE: case self::MINT_1155_ACTION_TYPE: { return 'Mint'; } break; case self::EVOLVE_721_ACTION_TYPE: { return 'Advance'; } break; case self::EVOLVE_CHIP_ACTION_TYPE: { return 'Upgrade'; } break; case self::MINT_SHARD_BATCH_ACTION_TYPE: { return 'Mint'; } break; case self::SHARD_MIX_BY_USER_ACTION_TYPE: { return 'Synthesis'; } break; case self::PLUGIN_CHIP_ACTION_TYPE: { return 'Equipment'; } break; case self::UNPLUG_CHIP_ACTION_TYPE: { return 'Remove'; } break; default: { return 'None'; } } } public static function getJumpInfo($transDb) { $jumpInfo = null; switch ($transDb['action']) { case self::MINT_721_ACTION_TYPE: { switch ($transDb['token_type']) { case Nft::HERO_TYPE: { $jumpInfo = array( 'action' => 1, //英雄激活(英雄详情) 'params' => array( $transDb['token_id'] ) ); } break; case Nft::EQUIP_TYPE: { $jumpInfo = array( 'action' => 2,//武器激活(武器详情) 'params' => array( $transDb['token_id'] ) ); } break; case Nft::EQUIP_CHIP: { $jumpInfo = array( 'action' => 3,//武器激活(武器详情) 'params' => array( $transDb['token_id'] ) ); } break; } } break; case self::MINT_1155_ACTION_TYPE: { $jumpInfo = array( 'action' => 3, //芯片生成(芯片列表) 'params' => array( $transDb['token_id'] ) ); } break; case self::EVOLVE_721_ACTION_TYPE: { switch ($transDb['token_type']) { case Nft::HERO_TYPE: { $jumpInfo = array( 'action' => 4, //英雄升阶(英雄进阶界面) 'params' => array( $transDb['token_id'] ) ); } break; case Nft::EQUIP_TYPE: { $jumpInfo = array( 'action' => 5,//武器升阶(武器进阶界面) 'params' => array( $transDb['token_id'] ) ); } break; } } break; case self::EVOLVE_CHIP_ACTION_TYPE: { $jumpInfo = array( 'action' => 6, //芯片进阶(芯片升级界面) 'params' => array( $transDb['token_id'] ) ); } break; case self::MINT_SHARD_BATCH_ACTION_TYPE: { $jumpInfo = array( 'action' => 7, //碎片生成(碎片列表) 'params' => array( $transDb['token_id'] ) ); } break; case self::SHARD_MIX_BY_USER_ACTION_TYPE: {//碎片合成 switch ($transDb['token_type']) { case Nft::HERO_TYPE: { $jumpInfo = array( 'action' => 1, //英雄合成(英雄详情) 'params' => array( $transDb['token_id'] ) ); } break; case Nft::EQUIP_TYPE: { $jumpInfo = array( 'action' => 2,//武器合成(武器详情) 'params' => array( $transDb['token_id'] ) ); } break; } } break; case self::PLUGIN_CHIP_ACTION_TYPE: { switch ($transDb['token_type']) { case Nft::HERO_TYPE: { $jumpInfo = array( 'action' => 8, //英雄芯片镶嵌(目标英雄详情介面的Chip页签) 'params' => array( $transDb['token_id'] ) ); } break; case Nft::EQUIP_TYPE: { $jumpInfo = array( 'action' => 9,//武器芯片镶嵌(目标枪械详情介面的Chip页签) 'params' => array( $transDb['token_id'] ) ); } break; } } break; case self::UNPLUG_CHIP_ACTION_TYPE: { switch ($transDb['token_type']) { case Nft::HERO_TYPE: { $jumpInfo = array( 'action' => 8, //英雄芯片卸下(目标英雄详情介面的Chip页签) 'params' => array( $transDb['token_id'] ) ); } break; case Nft::EQUIP_TYPE: { $jumpInfo = array( 'action' => 9,//武器芯片卸下(目标枪械详情介面的Chip页签) 'params' => array( $transDb['token_id'] ) ); } break; } } break; default: { } } return $jumpInfo; } public static function getStatusDesc($transDb) { switch ($transDb['status']) { case self::CREATED_STATUS: case self::REPORTED_STATUS: { return 2; } break; case self::COMPLETED_STATUS: { return 1; } break; default: { return 'None'; } } } public static function reportResult($transId, $result) { SqlHelper::update( myself()->_getSelfMysql(), 't_transaction', array( 'address' => myself()->_getAddress(), 'trans_id' => $transId ), array( 'client_result' => $result, 'client_confirmed' => 1, 'modifytime' => myself()->_getNowTime() ) ); } }