From 535ae8800027b017a3be407353b852d845cdbd9f Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Fri, 25 Aug 2023 13:18:34 +0800 Subject: [PATCH] 1 --- sql/gamedb2006_migrate_230816_01.sql | 1 + webapp/models/Staking.php | 43 +++++++++++++++++++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/sql/gamedb2006_migrate_230816_01.sql b/sql/gamedb2006_migrate_230816_01.sql index ed92b262..247f9a61 100644 --- a/sql/gamedb2006_migrate_230816_01.sql +++ b/sql/gamedb2006_migrate_230816_01.sql @@ -84,6 +84,7 @@ CREATE TABLE `t_staking` ( `unstake_time` bigint NOT NULL DEFAULT '0' COMMENT '解押结束时间', `status` int(11) NOT NULL COMMENT '0:质押中 1:已解押', `txhash` varchar(255) NOT NULL DEFAULT '' COMMENT 'txhash', + `nft_type` int(11) NOT NULL COMMENT '', `ceg_value` double NOT NULL DEFAULT '0' COMMENT 'ceg价值', `ceg_reward` double NOT NULL DEFAULT '0' COMMENT '利息', `createtime` int(11) NOT NULL COMMENT '创建时间', diff --git a/webapp/models/Staking.php b/webapp/models/Staking.php index 7b0af405..2a2cabfa 100644 --- a/webapp/models/Staking.php +++ b/webapp/models/Staking.php @@ -7,6 +7,8 @@ class Staking extends BaseModel { const STAKING_STATUS = 0; const UNSTAKE_STATUS = 1; + const NFT721 = 1; + public static function all($address) { $rows = SqlHelper::ormSelect( @@ -45,17 +47,51 @@ class Staking extends BaseModel { 'start_time' => $info['start'], 'stake_time' => $info['stakeTime'], 'status' => self::STAKING_STATUS, + 'nft_type' => self::NFT721, 'createtime' => myself()->_getNowTime(), 'modifytime' => myself()->_getNowTime(), ) ); + $itemId = 0; + $tokenType = 0; + self::repair721NftInfo($info['tokenid'], $info['nft'], $netId, $info['start'], + $itemId, $tokenId); } } public static function repair721NftInfo($tokenId, $contractAddress, $netId, $startTime, &$itemId, &$tokenType) { - + $row = SqlHelper::ormSelect( + myself()->_getMarketMysql(), + 't_nft', + array( + 'token_id' => $tokenId, + 'contract_address' => $contractAddress, + 'net_id' => $netId, + ) + ); + if (!$row) { + return false; + } + $itemId = $row['item_id']; + $tokenType = $row['token_type']; + SqlHelper::update( + myself()->_getMysql(''), + 't_staking', + array( + 'token_id' => $tokenId, + 'contract_address' => $contractAddress, + 'net_id' => $netId, + 'start_time' => $startTime, + 'nft_type' => self::NFT721, + ), + array( + 'item_id' => $itemId, + 'token_type' => $tokenType + ) + ); + return true; } public static function redeem721($data, $netId, $unstakeTime) @@ -86,10 +122,15 @@ class Staking extends BaseModel { 'stake_time' => $info['stakeTime'], 'unstake_time' => $unstakeTime, 'status' => self::UNSTAKE_STATUS, + 'nft_type' => self::NFT721, 'createtime' => myself()->_getNowTime(), 'modifytime' => myself()->_getNowTime(), ) ); + $itemId = 0; + $tokenType = 0; + self::repair721NftInfo($info['tokenid'], $info['nft'], $netId, $info['start'], + $itemId, $tokenId); } }