87 lines
1.8 KiB
PHP
87 lines
1.8 KiB
PHP
<?php
|
|
|
|
namespace models;
|
|
|
|
require_once('mt/Item.php');
|
|
|
|
use mt;
|
|
use phpcommon\SqlHelper;
|
|
|
|
class Nft extends BaseModel {
|
|
|
|
const NONE_TYPE = -1;
|
|
const HERO_TYPE = 0;
|
|
const EQUIP_TYPE = 1;
|
|
const CHIP_TYPE = 2;
|
|
|
|
public static function getTokenType($itemMeta)
|
|
{
|
|
switch ($itemMeta['type']) {
|
|
case mt\Item::HERO_TYPE:
|
|
{
|
|
return self::HERO_TYPE;
|
|
}
|
|
break;
|
|
case mt\Item::GUN_TYPE:
|
|
{
|
|
return self::EQUIP_TYPE;
|
|
}
|
|
break;
|
|
case mt\Item::MATERIAL_TYPE:
|
|
{
|
|
if ($itemMeta['sub_type'] == mt\Item::MATERIAL_CHIP_SUBTYPE){
|
|
return self::CHIP_TYPE;
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
return self::NONE_TYPE;
|
|
}
|
|
|
|
public static function getNftList($account)
|
|
{
|
|
$nftList = array();
|
|
SqlHelper::ormSelect(
|
|
myself()->_getMarketMysql(),
|
|
't_nft',
|
|
array(
|
|
'owner_address' => $account
|
|
),
|
|
function ($row) use(&$nftList) {
|
|
array_push($nftList, $row);
|
|
}
|
|
);
|
|
return $nftList;
|
|
}
|
|
|
|
public static function getNftListByType($account, $type)
|
|
{
|
|
$nftList = array();
|
|
SqlHelper::ormSelect(
|
|
myself()->_getMarketMysql(),
|
|
't_nft',
|
|
array(
|
|
'owner_address' => $account,
|
|
'token_type' => $type,
|
|
),
|
|
function ($row) use(&$nftList) {
|
|
array_push($nftList, $row);
|
|
}
|
|
);
|
|
return $nftList;
|
|
}
|
|
|
|
public static function getNft($tokenId)
|
|
{
|
|
$row = SqlHelper::ormSelectOne(
|
|
myself()->_getMarketMysql(),
|
|
't_nft',
|
|
array(
|
|
'token_id' => $tokenId,
|
|
)
|
|
);
|
|
return $row;
|
|
}
|
|
|
|
}
|