From 6fdbe91bf68a16629daa04678e983f631e4e57fb Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Sat, 22 Jun 2024 15:12:46 +0800 Subject: [PATCH] 1 --- server/backtask/task/repair_nft.go | 80 +++++++++++++++++++++++++++++- 1 file changed, 79 insertions(+), 1 deletion(-) diff --git a/server/backtask/task/repair_nft.go b/server/backtask/task/repair_nft.go index 93fdbc61..8a8b0921 100644 --- a/server/backtask/task/repair_nft.go +++ b/server/backtask/task/repair_nft.go @@ -119,7 +119,7 @@ func (this* repairNft) updateNftItemId(netId int32, contractAddress string, toke {"net_id", q5.ToString(netId)}, {"contract_address", contractAddress}, {"token_id", tokenId}, - {"item_id", q5.ToString(itemId)}, + {"item_id", q5.ToString(0)}, }, [][]string { {"item_id", q5.ToString(itemId)}, @@ -129,9 +129,87 @@ func (this* repairNft) updateNftItemId(netId int32, contractAddress string, toke } func (this* repairNft) repairOrder(ds *f5.DataSet) bool { + netId := q5.ToInt32(ds.GetByName("net_id")) + contractAddress := ds.GetByName("contract_address") + tokenId := ds.GetByName("token_id") + switch q5.ToInt32(ds.GetByName("token_type")) { + case jccommon.NFT_TYPE_CFHERO: + { + var itemId int32 + var quality int32 + if service.GetHeroByTokenId(tokenId, &itemId, &quality) { + this.updateOrder(netId, contractAddress, tokenId, itemId, quality) + } + } + case jccommon.NFT_TYPE_GOLD_BULLION: + { + var itemId int32 + if service.GetGoldBullionByNetIdTokenId(netId, tokenId, &itemId) { + this.updateOrder(netId, contractAddress, tokenId, itemId, 0) + } + } + } return true } +func (this* repairNft) updateOrder(netId int32, contractAddress string, tokenId string, + itemId int32, quality int32) { + f5.GetGoStyleDb().Update( + constant.BCNFT_DB, + "t_order", + [][]string { + {"net_id", q5.ToString(netId)}, + {"contract_address", contractAddress}, + {"token_id", tokenId}, + {"item_id", q5.ToString(0)}, + }, + [][]string { + {"item_id", q5.ToString(itemId)}, + {"hero_quality", q5.ToString(quality)}, + }, + func (err error, lastInsertId int64, rowsAffected int64) { + }) +} + func (this* repairNft) repairSale(ds *f5.DataSet) bool { + netId := q5.ToInt32(ds.GetByName("net_id")) + contractAddress := ds.GetByName("contract_address") + tokenId := ds.GetByName("token_id") + switch q5.ToInt32(ds.GetByName("token_type")) { + case jccommon.NFT_TYPE_CFHERO: + { + var itemId int32 + var quality int32 + if service.GetHeroByTokenId(tokenId, &itemId, &quality) { + this.updateSale(netId, contractAddress, tokenId, itemId, quality) + } + } + case jccommon.NFT_TYPE_GOLD_BULLION: + { + var itemId int32 + if service.GetGoldBullionByNetIdTokenId(netId, tokenId, &itemId) { + this.updateSale(netId, contractAddress, tokenId, itemId, 0) + } + } + } return true } + +func (this* repairNft) updateSale(netId int32, contractAddress string, tokenId string, + itemId int32, quality int32) { + f5.GetGoStyleDb().Update( + constant.BCNFT_DB, + "t_sale", + [][]string { + {"net_id", q5.ToString(netId)}, + {"contract_address", contractAddress}, + {"token_id", tokenId}, + {"item_id", q5.ToString(0)}, + }, + [][]string { + {"item_id", q5.ToString(itemId)}, + {"hero_quality", q5.ToString(quality)}, + }, + func (err error, lastInsertId int64, rowsAffected int64) { + }) +}