From c1606bbe620f7783c5d371ebbaaee023431f4396 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Tue, 18 Jun 2024 17:30:41 +0800 Subject: [PATCH] 1 --- .../services/events/CFHero/transfer.js | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/server/web3dbspider/services/events/CFHero/transfer.js b/server/web3dbspider/services/events/CFHero/transfer.js index b2636e3..251310a 100644 --- a/server/web3dbspider/services/events/CFHero/transfer.js +++ b/server/web3dbspider/services/events/CFHero/transfer.js @@ -24,6 +24,7 @@ class Transfer extends BaseEventProcess { console.log(airDropMeta); if (airDropMeta) { await this.apiMint(to, tokenId, airDropMeta); + await this.adjustHeroId(tokenId); } else { await this.ingameActivate(from, to, tokenId, bcconst.BC_NFT_HERO); } @@ -65,6 +66,39 @@ class Transfer extends BaseEventProcess { }); } + async adjustHeroId(tokenId) { + const logHead = ' adjustHeroId '; + const {err, row} = await this.gameDbConn( + 'ormSelectOne', + 't_hero', + [ + ['token_id', tokenId], + ['activate', 1], + ] + ); + if (err) { + this.throwError('adjustHeroId:' + err); + } + if (row && row['hero_id']) { + const {err} = await this.bcNftDbConn( + 'update', + 't_nft', + [ + ['net_id', this.getNetId()], + ['contract_address', this.getContractAddress()], + ['token_id', tokenId], + ['item_id', 0], + ], + [ + ['item_id', row['hero_id']], + ] + ); + if (err) { + this.throwError(logHead + err); + } + } + } + } module.exports = Transfer;