1
This commit is contained in:
parent
c0ae79dd0c
commit
686c953e5d
@ -93,6 +93,7 @@ DROP TABLE IF EXISTS `t_nft`;
|
||||
CREATE TABLE `t_nft` (
|
||||
`idx` bigint NOT NULL AUTO_INCREMENT COMMENT '自增id',
|
||||
`token_id` varchar(60) NOT NULL DEFAULT '' COMMENT 'token_id',
|
||||
`token_type` int(11) NOT NULL DEFAULT '0' COMMENT 'nft类型 0:英雄 1:枪支 2:芯片',
|
||||
`game_id` int(11) NOT NULL DEFAULT '0' COMMENT 'game id',
|
||||
`item_id` int(11) NOT NULL DEFAULT '0' COMMENT '道具id',
|
||||
`owner_id` varchar(255) NOT NULL DEFAULT '' COMMENT 'owner_id',
|
||||
|
@ -1,9 +1,12 @@
|
||||
<?php
|
||||
|
||||
require_once('mt/Item.php');
|
||||
require_once('services/AwardService.php');
|
||||
require_once('services/PropertyChgService.php');
|
||||
require_once('models/Nft.php');
|
||||
|
||||
use phpcommon\SqlHelper;
|
||||
use models\Nft;
|
||||
|
||||
class GMController extends BaseAuthedController {
|
||||
|
||||
@ -32,6 +35,9 @@ class GMController extends BaseAuthedController {
|
||||
'.additem' => function () use($params) {
|
||||
$this->addItem($params);
|
||||
},
|
||||
'.addnft' => function () use($params) {
|
||||
$this->addNft($params);
|
||||
},
|
||||
'.addtili' => function () use($params) {
|
||||
$this->addTili($params);
|
||||
},
|
||||
@ -59,6 +65,7 @@ class GMController extends BaseAuthedController {
|
||||
.addtili 英雄id 体力值 //添加英雄体力
|
||||
.getsystime //获取服务器时间
|
||||
.setsystime //设置服务器时间,示例:.setsystime 2021-12-08 00:00:00
|
||||
.addnft 道具id //添加nft
|
||||
END
|
||||
));
|
||||
}
|
||||
@ -82,6 +89,45 @@ END
|
||||
));
|
||||
}
|
||||
|
||||
private function addNft($params)
|
||||
{
|
||||
$itemId = getXVal($params, 0, 0);
|
||||
$propertyChgService = new services\PropertyChgService();
|
||||
$awardService = new services\AwardService();
|
||||
|
||||
$itemMeta = mt\Item::get($itemId);
|
||||
if ($itemMeta) {
|
||||
$tokenType = Nft::getTokenType($itemMeta);
|
||||
if ($tokenType == Nft::NONE_TYPE) {
|
||||
myself()->_rspErr(1, 'param item_id error');
|
||||
return;
|
||||
} else {
|
||||
SqlHelper::insert(
|
||||
myself()->_getMarketMysql(),
|
||||
't_nft',
|
||||
array(
|
||||
'token_id' => myself()->_getNowTime(),
|
||||
'token_type' => $tokenType,
|
||||
'game_id' => 2006,
|
||||
'item_id' => $itemId,
|
||||
'owner_address' => myself()->_getOpenId(),
|
||||
'createtime' => myself()->_getNowTime(),
|
||||
'modifytime' => myself()->_getNowTime(),
|
||||
)
|
||||
);
|
||||
}
|
||||
} else {
|
||||
myself()->_rspErr(1, 'param item_id error');
|
||||
return;
|
||||
}
|
||||
|
||||
$this->_rspData(array(
|
||||
'text' => 'add nft success',
|
||||
'award' => $awardService->toDto(),
|
||||
'property_chg' => $propertyChgService->toDto(),
|
||||
));
|
||||
}
|
||||
|
||||
private function addTili($params)
|
||||
{
|
||||
$heroId = getXVal($params, 0, 0);
|
||||
|
@ -140,7 +140,7 @@ class Hero extends BaseModel {
|
||||
{
|
||||
return self::internalAddHero(
|
||||
myself()->_getMysql($tokenId),
|
||||
$gunMeta,
|
||||
$heroMeta,
|
||||
null,
|
||||
$tokenId);
|
||||
}
|
||||
|
@ -2,15 +2,42 @@
|
||||
|
||||
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 function getNftList($account)
|
||||
{
|
||||
$nftList = array();
|
||||
|
Loading…
x
Reference in New Issue
Block a user