From b4b9a834f0b09eee4902b97eabf2815b486b4065 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Tue, 16 Jul 2024 14:21:31 +0800 Subject: [PATCH] 1 --- server/jccommon/constant.go | 1 + server/marketserver/api/v1/nft/nft.go | 31 ++++++++++++++++++++++++++- server/marketserver/router/nft/nft.go | 5 ++++- 3 files changed, 35 insertions(+), 2 deletions(-) diff --git a/server/jccommon/constant.go b/server/jccommon/constant.go index 4d9f9ac8..621e1489 100644 --- a/server/jccommon/constant.go +++ b/server/jccommon/constant.go @@ -27,6 +27,7 @@ const ( const ( CONTRACT_NAME_CFHero = "CFHero" + CONTRACT_NAME_GCardHero = "GCard" CONTRACT_NAME_GoldBrick = "GoldBrick" CONTRACT_NAME_NFTLock = "NFTLock" ) diff --git a/server/marketserver/api/v1/nft/nft.go b/server/marketserver/api/v1/nft/nft.go index 3e577041..d69f5c8a 100644 --- a/server/marketserver/api/v1/nft/nft.go +++ b/server/marketserver/api/v1/nft/nft.go @@ -1,7 +1,11 @@ package nft import ( + "q5" "f5" + "mt" + "jccommon" + "main/constant" "github.com/gin-gonic/gin" ) @@ -14,7 +18,7 @@ func (this *NftApi) Unlock(c *gin.Context) { NetId interface{} `json:"net_id"` ContractAddress string `json:"contract_address"` To string `json:"to"` - Tokens struct { + Tokens []struct { TokenId string `json:"token_id"` } `json:"tokens"` }{} @@ -22,4 +26,29 @@ func (this *NftApi) Unlock(c *gin.Context) { f5.RspErr(c, 401, "params parse error") return } + heroMeta := mt.Table.Contract.GetByName(jccommon.CONTRACT_NAME_CFHero) + gcardMeta := mt.Table.Contract.GetByName(jccommon.CONTRACT_NAME_GCardHero) + if heroMeta == nil && gcardMeta == nil { + f5.RspErr(c, 1, "contract_address params error") + return + } + if reqJson.To == "" { + f5.RspErr(c, 1, "to params error") + return + } + if len(reqJson.Tokens) != 1 { + f5.RspErr(c, 1, "tokens params error") + return + } + f5.GetGoStyleDb().OrmSelectOne( + constant.BCNFT_DB, + "t_nft", + [][]string{ + {"net_id", q5.SafeToString(reqJson.NetId)}, + {"contract_address", reqJson.ContractAddress}, + {"token_id", reqJson.Tokens[0].TokenId}, + }, + func (err error, ds *f5.DataSet) { + + }) } diff --git a/server/marketserver/router/nft/nft.go b/server/marketserver/router/nft/nft.go index 5d7dc4b3..ed0c5505 100644 --- a/server/marketserver/router/nft/nft.go +++ b/server/marketserver/router/nft/nft.go @@ -3,11 +3,14 @@ package nft import ( "f5" "main/api/v1" + "main/middleware" ) type NftRouter struct{} func (this *NftRouter) InitRouter() { api := v1.ApiGroupApp.NftApiGroup - f5.GetApp().GetGinEngine().POST("/api/nft/stacking/unlock", api.NftApi.Unlock) + f5.GetApp().GetGinEngine().POST("/api/nft/stacking/unlock", + middleware.JwtAuth, + api.NftApi.Unlock) }