From ba42fee88599c65012c4cc1d29b305a3ef74b33c Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Tue, 16 Jul 2024 19:30:32 +0800 Subject: [PATCH 01/13] 1 --- server/marketserver/cache/cachemgr.go | 33 +++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/server/marketserver/cache/cachemgr.go b/server/marketserver/cache/cachemgr.go index a49381a2..53b955e7 100644 --- a/server/marketserver/cache/cachemgr.go +++ b/server/marketserver/cache/cachemgr.go @@ -38,8 +38,37 @@ func (this *cacheMgr) GetNfts(nfts []*common.NftDto) { } } -func (this *cacheMgr) GetIngameHero(string) (error, []interface{}) { - return nil, nil +func (this *cacheMgr) GetIngameHero(accountId string) (error, []interface{}) { + rspObj := struct { + ErrCode interface{} `json:"errcode"` + ErrMsg string `json:"errmsg"` + Rows []interface{} + }{} + var err error + rows := []interface{}{} + f5.GetHttpCliMgr().SendGoStyleRequest( + mt.Table.Config.GetGameApiUrl() + "/webapp/index.php", + map[string]string{ + "c": "OutAppNft", + "a": "getHeroList", + "account_id": accountId, + }, + func (rsp f5.HttpCliResponse) { + err = rsp.GetErr() + if rsp.GetErr() != nil { + return + } + err = q5.DecodeJson(rsp.GetRawData(), &rspObj) + if err != nil { + return + } + }) + if err == nil { + if q5.SafeToInt32(rspObj.ErrCode) == 0 { + rows = rspObj.Rows + } + } + return err, rows } func (this *cacheMgr) fastGetNft(dto *common.NftDto) { From 78462ed1a1ffdfe7595d222e0983ae4e7994e25f Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Tue, 16 Jul 2024 19:45:09 +0800 Subject: [PATCH 02/13] 1 --- server/marketserver/api/v1/ingame/ingame.go | 1 + server/marketserver/router/ingame/ingame.go | 6 +++--- server/marketserver/router/routermgr.go | 3 +++ 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/server/marketserver/api/v1/ingame/ingame.go b/server/marketserver/api/v1/ingame/ingame.go index 328bd0ee..ac6df735 100644 --- a/server/marketserver/api/v1/ingame/ingame.go +++ b/server/marketserver/api/v1/ingame/ingame.go @@ -64,6 +64,7 @@ func (this *InGameApi) HeroList(c *gin.Context) { func (row interface{}) { q5.AppendSlice(&rspObj.Rows, row) }) + c.JSON(200, rspObj) } func (this *InGameApi) HeroMint(c *gin.Context) { diff --git a/server/marketserver/router/ingame/ingame.go b/server/marketserver/router/ingame/ingame.go index 7f8a966b..f6cc2758 100644 --- a/server/marketserver/router/ingame/ingame.go +++ b/server/marketserver/router/ingame/ingame.go @@ -8,7 +8,7 @@ import ( type IngameRouter struct{} func (this *IngameRouter) InitRouter() { - api := v1.ApiGroupApp.IngameApiGroup - f5.GetApp().GetGinEngine().GET("/api/ingame/asset/hero/list", api.IngameApi.HeroList) - f5.GetApp().GetGinEngine().POST("/api/ingame/asset/hero/mint", api.IngameApi.HeroMint) + api := v1.ApiGroupApp.InGameApiGroup + f5.GetApp().GetGinEngine().GET("/api/ingame/asset/hero/list", api.InGameApi.HeroList) + f5.GetApp().GetGinEngine().POST("/api/ingame/asset/hero/mint", api.InGameApi.HeroMint) } diff --git a/server/marketserver/router/routermgr.go b/server/marketserver/router/routermgr.go index 1b1edd4c..273d978e 100644 --- a/server/marketserver/router/routermgr.go +++ b/server/marketserver/router/routermgr.go @@ -9,6 +9,7 @@ import ( "main/router/gold_bullion" "main/router/shopcart" "main/router/nft" + "main/router/ingame" ) type routerMgr struct { @@ -18,6 +19,7 @@ type routerMgr struct { goldBullion gold_bullion.RouterGroup shopCart shopcart.RouterGroup nft nft.RouterGroup + ingame ingame.RouterGroup } func (this *routerMgr) Init() { @@ -28,6 +30,7 @@ func (this *routerMgr) Init() { this.goldBullion.GoldBullionRouter.InitRouter() this.shopCart.ShopCartRouter.InitRouter() this.nft.NftRouter.InitRouter() + this.ingame.IngameRouter.InitRouter() f5.GetSysLog().Info("routerMgr.init") From 46a03910a78a57b10948c494951902a5c2306370 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Tue, 16 Jul 2024 19:53:34 +0800 Subject: [PATCH 03/13] 1 --- server/marketserver/api/v1/ingame/ingame.go | 4 +++- server/marketserver/router/ingame/ingame.go | 9 +++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/server/marketserver/api/v1/ingame/ingame.go b/server/marketserver/api/v1/ingame/ingame.go index ac6df735..c3fa3796 100644 --- a/server/marketserver/api/v1/ingame/ingame.go +++ b/server/marketserver/api/v1/ingame/ingame.go @@ -34,7 +34,9 @@ func (this *InGameApi) HeroList(c *gin.Context) { f5.RspErr(c, 401, "params parse error") return } - err, heroList := GetCacheMgr().GetIngameHero("") + openId := c.MustGet("open_id").(string) + accountId := openId + err, heroList := GetCacheMgr().GetIngameHero(accountId) if err != nil { f5.RspErr(c, 500, "server internal error") return diff --git a/server/marketserver/router/ingame/ingame.go b/server/marketserver/router/ingame/ingame.go index f6cc2758..39708a47 100644 --- a/server/marketserver/router/ingame/ingame.go +++ b/server/marketserver/router/ingame/ingame.go @@ -3,12 +3,17 @@ package ingame import ( "f5" "main/api/v1" + "main/middleware" ) type IngameRouter struct{} func (this *IngameRouter) InitRouter() { api := v1.ApiGroupApp.InGameApiGroup - f5.GetApp().GetGinEngine().GET("/api/ingame/asset/hero/list", api.InGameApi.HeroList) - f5.GetApp().GetGinEngine().POST("/api/ingame/asset/hero/mint", api.InGameApi.HeroMint) + f5.GetApp().GetGinEngine().POST("/api/ingame/asset/hero/list", + middleware.JwtAuth, + api.InGameApi.HeroList) + f5.GetApp().GetGinEngine().POST("/api/ingame/asset/hero/mint", + middleware.JwtAuth, + api.InGameApi.HeroMint) } From 581f2aaee3f612a9ccef2d737a8f771343910af1 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 17 Jul 2024 13:47:02 +0800 Subject: [PATCH 04/13] 1 --- server/marketserver/mt/Web3SignCluster.go | 18 ++++++++++++++++++ server/marketserver/mt/export.go | 6 ++++++ server/marketserver/mtb/mtb.auto_gen.go | 19 +++++++++++++++++++ server/marketserver/proto/mt.proto | 5 +++++ 4 files changed, 48 insertions(+) create mode 100644 server/marketserver/mt/Web3SignCluster.go diff --git a/server/marketserver/mt/Web3SignCluster.go b/server/marketserver/mt/Web3SignCluster.go new file mode 100644 index 00000000..3133c30e --- /dev/null +++ b/server/marketserver/mt/Web3SignCluster.go @@ -0,0 +1,18 @@ +package mt + +import ( + "f5" + "mtb" +) + +type Web3SignCluster struct { + mtb.Web3SignCluster +} + +type Web3SignClusterTable struct { + f5.IdMetaTable[Web3SignCluster] +} + +func (this *Web3SignCluster) Init1() { + +} diff --git a/server/marketserver/mt/export.go b/server/marketserver/mt/export.go index 303c6beb..7e89a2fe 100644 --- a/server/marketserver/mt/export.go +++ b/server/marketserver/mt/export.go @@ -14,6 +14,7 @@ type table struct { Language *LanguageTable Contract *ContractTable Web3ServiceCluster *Web3ServiceClusterTable + Web3SignCluster *Web3SignClusterTable } var Table = f5.New(func(this *table) { @@ -62,4 +63,9 @@ var Table = f5.New(func(this *table) { this.PrimKey = "" }) + this.Web3SignCluster = f5.New(func(this *Web3SignClusterTable) { + this.FileName = "../config/web3sign.cluster.json" + this.PrimKey = "" + }) + }) diff --git a/server/marketserver/mtb/mtb.auto_gen.go b/server/marketserver/mtb/mtb.auto_gen.go index cf5b8ebe..2bdfab85 100644 --- a/server/marketserver/mtb/mtb.auto_gen.go +++ b/server/marketserver/mtb/mtb.auto_gen.go @@ -93,6 +93,13 @@ type Web3ServiceCluster struct { _flags2_ uint64 } +type Web3SignCluster struct { + url string + + _flags1_ uint64 + _flags2_ uint64 +} + func (this *MarketServerCluster) GetInstanceId() int32 { return this.instance_id } @@ -373,6 +380,14 @@ func (this *Web3ServiceCluster) HasUrl() bool { return (this._flags1_ & (uint64(1) << 1)) > 0 } +func (this *Web3SignCluster) GetUrl() string { + return this.url +} + +func (this *Web3SignCluster) HasUrl() bool { + return (this._flags1_ & (uint64(1) << 1)) > 0 +} + func (this *MarketServerCluster) LoadFromKv(kv map[string]interface{}) { f5.ReadMetaTableField(&this.instance_id, "instance_id", &this._flags1_, 1, kv) @@ -435,3 +450,7 @@ func (this *Contract) LoadFromKv(kv map[string]interface{}) { func (this *Web3ServiceCluster) LoadFromKv(kv map[string]interface{}) { f5.ReadMetaTableField(&this.url, "url", &this._flags1_, 1, kv) } + +func (this *Web3SignCluster) LoadFromKv(kv map[string]interface{}) { + f5.ReadMetaTableField(&this.url, "url", &this._flags1_, 1, kv) +} diff --git a/server/marketserver/proto/mt.proto b/server/marketserver/proto/mt.proto index 39ef1634..b3321d11 100644 --- a/server/marketserver/proto/mt.proto +++ b/server/marketserver/proto/mt.proto @@ -72,3 +72,8 @@ message Web3ServiceCluster { optional string url = 1; } + +message Web3SignCluster +{ + optional string url = 1; +} From 2f25ad7ba0f2f272a4f311a5ad8d4218fcda4c02 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 17 Jul 2024 14:14:21 +0800 Subject: [PATCH 05/13] 1 --- bin/marketserver/config/web3sign.cluster.json | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 bin/marketserver/config/web3sign.cluster.json diff --git a/bin/marketserver/config/web3sign.cluster.json b/bin/marketserver/config/web3sign.cluster.json new file mode 100644 index 00000000..9df4444f --- /dev/null +++ b/bin/marketserver/config/web3sign.cluster.json @@ -0,0 +1,5 @@ +[ + { + "url": "http://127.0.0.1:7672" + } +] From e6dd0478c8f74fdc9a07dcb0ad3c312baba4d9b3 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 17 Jul 2024 14:36:29 +0800 Subject: [PATCH 06/13] 1 --- server/marketserver/api/v1/nft/nft.go | 30 +++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/server/marketserver/api/v1/nft/nft.go b/server/marketserver/api/v1/nft/nft.go index 3ab945de..1053d4e1 100644 --- a/server/marketserver/api/v1/nft/nft.go +++ b/server/marketserver/api/v1/nft/nft.go @@ -62,6 +62,36 @@ func (this *NftApi) Unlock(c *gin.Context) { f5.RspErr(c, 500, "nft not found") return } + params := map[string]string{ + "c": "BcService", + "a": "nftLock", + "account_address": accountAddress, + "net_id": ds.GetByName("net_id"), + "nft_address": ds.GetByName("contract_address"), + "to_address": reqJson.To, + "token_ids": ds.GetByName("token_id"), + } + rspObj := &struct { + ErrCode interface{} `json:"errcode"` + ErrMsg string `json:"errmsg"` + TransId string `json:"trans_id"` + Params []string `json:"params"` + }{ + Params: []string{}, + } + f5.GetHttpCliMgr().SendGoStyleRequest( + mt.Table.Web3SignCluster.RandElement().GetUrl(), + params, + func(rsp f5.HttpCliResponse) { + if rsp.GetErr() != nil || + !rsp.JsonParseOk() { + rspObj.ErrCode = 500 + rspObj.ErrMsg = "server internal error" + c.JSON(200, rspObj) + return + } + c.JSON(200, rspObj) + }) } else { f5.RspErr(c, 500, "nft not found") return From de825c7aa61590d3a6bcfe8654af614f70af46e0 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 17 Jul 2024 14:40:07 +0800 Subject: [PATCH 07/13] 1 --- server/marketserver/api/v1/ingame/ingame.go | 76 ++++++++++++++++++++- server/marketserver/api/v1/nft/nft.go | 2 +- 2 files changed, 76 insertions(+), 2 deletions(-) diff --git a/server/marketserver/api/v1/ingame/ingame.go b/server/marketserver/api/v1/ingame/ingame.go index c3fa3796..f68537b8 100644 --- a/server/marketserver/api/v1/ingame/ingame.go +++ b/server/marketserver/api/v1/ingame/ingame.go @@ -3,8 +3,12 @@ package ingame import ( "q5" "f5" + "mt" + "jccommon" "main/common" + "main/constant" . "main/global" + "strings" "github.com/gin-gonic/gin" ) @@ -74,7 +78,7 @@ func (this *InGameApi) HeroMint(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"` }{} @@ -82,4 +86,74 @@ func (this *InGameApi) HeroMint(c *gin.Context) { f5.RspErr(c, 401, "params parse error") return } + lockMeta := mt.Table.Contract.GetByName(jccommon.CONTRACT_NAME_NFTLock) + heroMeta := mt.Table.Contract.GetByName(jccommon.CONTRACT_NAME_CFHero) + normalHeroMeta := mt.Table.Contract.GetByName(jccommon.CONTRACT_NAME_CFNormalHero) + if (heroMeta == nil && normalHeroMeta == nil) || lockMeta == 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 + } + accountAddress := c.MustGet("account_address").(string) + 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}, + {"owner_address", strings.ToLower(lockMeta.GetAddress())}, + }, + func (err error, ds *f5.DataSet) { + if err != nil { + f5.RspErr(c, 500, "server internal error") + return + } + if ds.Next() { + if accountAddress != ds.GetByName("last_lock_address") { + f5.RspErr(c, 500, "nft not found") + return + } + params := map[string]string{ + "c": "BcService", + "a": "nftUnlock", + "account_address": accountAddress, + "net_id": ds.GetByName("net_id"), + "nft_address": ds.GetByName("contract_address"), + "to_address": reqJson.To, + "token_ids": ds.GetByName("token_id"), + } + rspObj := &struct { + ErrCode interface{} `json:"errcode"` + ErrMsg string `json:"errmsg"` + TransId string `json:"trans_id"` + Params []string `json:"params"` + }{ + Params: []string{}, + } + f5.GetHttpCliMgr().SendGoStyleRequest( + mt.Table.Web3SignCluster.RandElement().GetUrl(), + params, + func(rsp f5.HttpCliResponse) { + if rsp.GetErr() != nil || + !rsp.JsonParseOk() { + rspObj.ErrCode = 500 + rspObj.ErrMsg = "server internal error" + c.JSON(200, rspObj) + return + } + c.JSON(200, rspObj) + }) + } else { + f5.RspErr(c, 500, "nft not found") + return + } + }) } diff --git a/server/marketserver/api/v1/nft/nft.go b/server/marketserver/api/v1/nft/nft.go index 1053d4e1..6d03c497 100644 --- a/server/marketserver/api/v1/nft/nft.go +++ b/server/marketserver/api/v1/nft/nft.go @@ -64,7 +64,7 @@ func (this *NftApi) Unlock(c *gin.Context) { } params := map[string]string{ "c": "BcService", - "a": "nftLock", + "a": "nftUnlock", "account_address": accountAddress, "net_id": ds.GetByName("net_id"), "nft_address": ds.GetByName("contract_address"), From a748646b3144b1b6ab7e1da2ef601811e3c8674e Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 17 Jul 2024 17:12:54 +0800 Subject: [PATCH 08/13] 1 --- bin/marketserver/config/gamedb.mysql.json | 2 +- server/jccommon/constant.go | 1 + server/marketserver/api/v1/ingame/ingame.go | 61 ++++++++----------- .../api/v1/market/marketsecondary.go | 10 +-- server/marketserver/middleware/jwtauth.go | 2 +- 5 files changed, 32 insertions(+), 44 deletions(-) diff --git a/bin/marketserver/config/gamedb.mysql.json b/bin/marketserver/config/gamedb.mysql.json index d95a4f2d..f41c07cd 100644 --- a/bin/marketserver/config/gamedb.mysql.json +++ b/bin/marketserver/config/gamedb.mysql.json @@ -3,7 +3,7 @@ "port": 3306, "user": "root", "passwd": "keji178", - "database": "gamedb2006_dev", + "database": "gamedb2006_dev_1", "max_open_conns": 100, "max_idle_conns": 50 } diff --git a/server/jccommon/constant.go b/server/jccommon/constant.go index 3c232244..0c0741b0 100644 --- a/server/jccommon/constant.go +++ b/server/jccommon/constant.go @@ -3,6 +3,7 @@ package jccommon const ( NFT_TYPE_CFHERO = 1 NFT_TYPE_GOLD_BULLION = 11 + NFT_TYPE_CFHERO_NORMAL = 12 ) const ( diff --git a/server/marketserver/api/v1/ingame/ingame.go b/server/marketserver/api/v1/ingame/ingame.go index f68537b8..4acced19 100644 --- a/server/marketserver/api/v1/ingame/ingame.go +++ b/server/marketserver/api/v1/ingame/ingame.go @@ -3,12 +3,10 @@ package ingame import ( "q5" "f5" - "mt" - "jccommon" + //"mt" "main/common" "main/constant" . "main/global" - "strings" "github.com/gin-gonic/gin" ) @@ -76,40 +74,30 @@ func (this *InGameApi) HeroList(c *gin.Context) { func (this *InGameApi) HeroMint(c *gin.Context) { reqJson := struct { NetId interface{} `json:"net_id"` - ContractAddress string `json:"contract_address"` To string `json:"to"` - Tokens []struct { - TokenId string `json:"token_id"` - } `json:"tokens"` + HeroUniIds []string `json:"hero_uniids"` }{} if err := c.ShouldBindJSON(&reqJson); err != nil { f5.RspErr(c, 401, "params parse error") return } - lockMeta := mt.Table.Contract.GetByName(jccommon.CONTRACT_NAME_NFTLock) - heroMeta := mt.Table.Contract.GetByName(jccommon.CONTRACT_NAME_CFHero) - normalHeroMeta := mt.Table.Contract.GetByName(jccommon.CONTRACT_NAME_CFNormalHero) - if (heroMeta == nil && normalHeroMeta == nil) || lockMeta == 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 { + if len(reqJson.HeroUniIds) != 1 { f5.RspErr(c, 1, "tokens params error") return } + uniid := reqJson.HeroUniIds[0] + accountId := c.MustGet("open_id").(string) accountAddress := c.MustGet("account_address").(string) f5.GetGoStyleDb().OrmSelectOne( - constant.BCNFT_DB, - "t_nft", + constant.GAME_DB, + "t_hero", [][]string{ - {"net_id", q5.SafeToString(reqJson.NetId)}, - {"contract_address", reqJson.ContractAddress}, - {"token_id", reqJson.Tokens[0].TokenId}, - {"owner_address", strings.ToLower(lockMeta.GetAddress())}, + {"account_id", accountId}, + {"idx", uniid}, }, func (err error, ds *f5.DataSet) { if err != nil { @@ -117,42 +105,41 @@ func (this *InGameApi) HeroMint(c *gin.Context) { return } if ds.Next() { - if accountAddress != ds.GetByName("last_lock_address") { - f5.RspErr(c, 500, "nft not found") - return - } params := map[string]string{ - "c": "BcService", - "a": "nftUnlock", + "c": "OutAppMint", + "a": "mintHero", + "account_id": accountId, "account_address": accountAddress, - "net_id": ds.GetByName("net_id"), - "nft_address": ds.GetByName("contract_address"), "to_address": reqJson.To, - "token_ids": ds.GetByName("token_id"), + "uniid": uniid, } rspObj := &struct { ErrCode interface{} `json:"errcode"` ErrMsg string `json:"errmsg"` TransId string `json:"trans_id"` - Params []string `json:"params"` + TransReq interface{} `json:"trans_req"` }{ - Params: []string{}, } f5.GetHttpCliMgr().SendGoStyleRequest( - mt.Table.Web3SignCluster.RandElement().GetUrl(), + "https://game2006api-test.kingsome.cn/webapp/index.php", params, func(rsp f5.HttpCliResponse) { - if rsp.GetErr() != nil || - !rsp.JsonParseOk() { + if rsp.GetErr() != nil { rspObj.ErrCode = 500 - rspObj.ErrMsg = "server internal error" + rspObj.ErrMsg = "server internal error1" + c.JSON(200, rspObj) + return + } + if q5.DecodeJson(rsp.GetRawData(), &rspObj) != nil { + rspObj.ErrCode = 500 + rspObj.ErrMsg = "server internal error2" c.JSON(200, rspObj) return } c.JSON(200, rspObj) }) } else { - f5.RspErr(c, 500, "nft not found") + f5.RspErr(c, 500, "hero not found") return } }) diff --git a/server/marketserver/api/v1/market/marketsecondary.go b/server/marketserver/api/v1/market/marketsecondary.go index 8337325b..093b8a6c 100644 --- a/server/marketserver/api/v1/market/marketsecondary.go +++ b/server/marketserver/api/v1/market/marketsecondary.go @@ -29,7 +29,7 @@ func (this *MarketApi) LockList(c *gin.Context) { HeroRanks []interface{} `json:"hero_ranks"` } `json:"filter"` Sort struct { - Fields [] struct { + Fields [] struct { } `json:"fields"` } `json:"sort"` }{} @@ -45,13 +45,13 @@ func (this *MarketApi) LockList(c *gin.Context) { cursor := q5.SafeToInt64(reqJson.Cursor) nftLockMeta := mt.Table.Contract.GetByName(jccommon.CONTRACT_NAME_NFTLock) sql := fmt.Sprintf(` - SELECT * FROM t_nft - WHERE idx > %d AND net_id = %d AND owner_address = '%s' AND last_lock_address = ? `, - cursor, netId, strings.ToLower(nftLockMeta.GetAddress())) + SELECT * FROM t_nft + WHERE idx > %d AND net_id = %d AND owner_address = '%s' AND token_type IN (%d, %d) AND last_lock_address = ? `, + cursor, netId, strings.ToLower(nftLockMeta.GetAddress()), jccommon.NFT_TYPE_CFHERO, jccommon.NFT_TYPE_CFHERO_NORMAL) params := []string{owner} subFilters := []f5.DbQueryFilter{} - + { itemIds := map[int32]int32{} if reqJson.Search.Name != "" { diff --git a/server/marketserver/middleware/jwtauth.go b/server/marketserver/middleware/jwtauth.go index c67582b6..b3829bf2 100644 --- a/server/marketserver/middleware/jwtauth.go +++ b/server/marketserver/middleware/jwtauth.go @@ -93,7 +93,7 @@ func internalImmutJwtAuth(c *gin.Context, jwtToken string) { rspObj.ErrMsg = jsonRspObj.ErrMsg if q5.SafeToInt32(rspObj.ErrCode) != 0 { rspObj.ErrCode = 501 - rspObj.ErrMsg = "jwt error" + rspObj.ErrMsg = "jwt expired" c.JSON(200, rspObj) c.Abort() return From 62a1c3a49f8988a4ea6e1400b24eef376d9c8f4f Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 17 Jul 2024 17:14:57 +0800 Subject: [PATCH 09/13] 1 --- server/marketserver/api/v1/market/marketsecondary.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/server/marketserver/api/v1/market/marketsecondary.go b/server/marketserver/api/v1/market/marketsecondary.go index 093b8a6c..cda021c7 100644 --- a/server/marketserver/api/v1/market/marketsecondary.go +++ b/server/marketserver/api/v1/market/marketsecondary.go @@ -47,7 +47,8 @@ func (this *MarketApi) LockList(c *gin.Context) { sql := fmt.Sprintf(` SELECT * FROM t_nft WHERE idx > %d AND net_id = %d AND owner_address = '%s' AND token_type IN (%d, %d) AND last_lock_address = ? `, - cursor, netId, strings.ToLower(nftLockMeta.GetAddress()), jccommon.NFT_TYPE_CFHERO, jccommon.NFT_TYPE_CFHERO_NORMAL) + cursor, netId, strings.ToLower(nftLockMeta.GetAddress()), + jccommon.NFT_TYPE_CFHERO, jccommon.NFT_TYPE_CFHERO_NORMAL, jccommon.NFT_TYPE_GOLD_BULLION) params := []string{owner} subFilters := []f5.DbQueryFilter{} From 6b3ab3167d6484ca4e8acade950ef613d6bceb31 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 17 Jul 2024 17:17:12 +0800 Subject: [PATCH 10/13] 1 --- server/marketserver/api/v1/market/marketsecondary.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/marketserver/api/v1/market/marketsecondary.go b/server/marketserver/api/v1/market/marketsecondary.go index cda021c7..b9667076 100644 --- a/server/marketserver/api/v1/market/marketsecondary.go +++ b/server/marketserver/api/v1/market/marketsecondary.go @@ -46,7 +46,7 @@ func (this *MarketApi) LockList(c *gin.Context) { nftLockMeta := mt.Table.Contract.GetByName(jccommon.CONTRACT_NAME_NFTLock) sql := fmt.Sprintf(` SELECT * FROM t_nft - WHERE idx > %d AND net_id = %d AND owner_address = '%s' AND token_type IN (%d, %d) AND last_lock_address = ? `, + WHERE idx > %d AND net_id = %d AND owner_address = '%s' AND token_type IN (%d, %d, %d) AND last_lock_address = ? `, cursor, netId, strings.ToLower(nftLockMeta.GetAddress()), jccommon.NFT_TYPE_CFHERO, jccommon.NFT_TYPE_CFHERO_NORMAL, jccommon.NFT_TYPE_GOLD_BULLION) From 8421012ac16b27fc6ae205bc735de928627ed6a1 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 17 Jul 2024 17:53:15 +0800 Subject: [PATCH 11/13] 1 --- server/marketserver/api/v1/nft/nft.go | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/server/marketserver/api/v1/nft/nft.go b/server/marketserver/api/v1/nft/nft.go index 6d03c497..49b425e1 100644 --- a/server/marketserver/api/v1/nft/nft.go +++ b/server/marketserver/api/v1/nft/nft.go @@ -75,21 +75,25 @@ func (this *NftApi) Unlock(c *gin.Context) { ErrCode interface{} `json:"errcode"` ErrMsg string `json:"errmsg"` TransId string `json:"trans_id"` - Params []string `json:"params"` + TransReq interface{} `json:"trans_req"` }{ - Params: []string{}, } f5.GetHttpCliMgr().SendGoStyleRequest( - mt.Table.Web3SignCluster.RandElement().GetUrl(), + mt.Table.Web3SignCluster.RandElement().GetUrl() + "/webapp/index.php", params, func(rsp f5.HttpCliResponse) { - if rsp.GetErr() != nil || - !rsp.JsonParseOk() { + if rsp.GetErr() != nil { rspObj.ErrCode = 500 rspObj.ErrMsg = "server internal error" c.JSON(200, rspObj) return } + if q5.DecodeJson(rsp.GetRawData(), &rspObj) != nil { + rspObj.ErrCode = 500 + rspObj.ErrMsg = "server internal error2" + c.JSON(200, rspObj) + return + } c.JSON(200, rspObj) }) } else { From 04c848e8463738eb9e9a66690aeb0a8650787403 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 17 Jul 2024 19:35:33 +0800 Subject: [PATCH 12/13] 1 --- third_party/f5 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/third_party/f5 b/third_party/f5 index a55bc814..7685c139 160000 --- a/third_party/f5 +++ b/third_party/f5 @@ -1 +1 @@ -Subproject commit a55bc814287f711be731be3a27badd50fd6bfb35 +Subproject commit 7685c13942fc25fc89e49640f0b303e029279c7a From b98744b83e0f28b2d38f787d6871875482cedf3a Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 17 Jul 2024 19:37:17 +0800 Subject: [PATCH 13/13] 1 --- server/marketserver/api/v1/ingame/ingame.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/server/marketserver/api/v1/ingame/ingame.go b/server/marketserver/api/v1/ingame/ingame.go index 4acced19..8fdaeb94 100644 --- a/server/marketserver/api/v1/ingame/ingame.go +++ b/server/marketserver/api/v1/ingame/ingame.go @@ -56,7 +56,7 @@ func (this *InGameApi) HeroList(c *gin.Context) { heroList, q5.SafeToInt32(reqJson.PageSize), q5.SafeToInt64(reqJson.Cursor), - func (row interface{}) bool { + func (kv interface{}) bool { return true }, func (a interface{}, b interface{}) bool { @@ -65,8 +65,8 @@ func (this *InGameApi) HeroList(c *gin.Context) { func (p *f5.StreamPagination) { rspObj.Page.FillPage(p) }, - func (row interface{}) { - q5.AppendSlice(&rspObj.Rows, row) + func (kv interface{}) { + q5.AppendSlice(&rspObj.Rows, kv) }) c.JSON(200, rspObj) }