diff --git a/server/web3dbspider/services/events/UserMinterFactory/activate721nft.js b/server/web3dbspider/services/events/UserMinterFactory/activate721nft.js index d5d9159..ecbdab9 100644 --- a/server/web3dbspider/services/events/UserMinterFactory/activate721nft.js +++ b/server/web3dbspider/services/events/UserMinterFactory/activate721nft.js @@ -4,8 +4,7 @@ const bcutils = require('j7/bcutils'); const utils = require('j7/utils'); const j7event = require('j7/event'); const metaFactory = require('../../metadata/factory'); -const C = require('../../C'); -const gameapi = require('../gameapi'); +const BaseEventProcess = require('../common/BaseEventProcess'); /* 操作成功的事件 @@ -17,16 +16,10 @@ event TokenMinted( ) */ -class Activate721Nft { - - constructor(proc, conn, eventDb) { - this.eventProc = proc; - this.conn = conn; - this.eventDb = eventDb; - } +class Activate721Nft extends BaseEventProcess { async start(event) { - const returnValues = event['returnValues']; + const returnValues = this.getReturnValues(); const transId = returnValues['nonce']; const to = returnValues['to']; @@ -38,7 +31,7 @@ class Activate721Nft { const params = bcutils.extractParamsFromTransId(transId); if (!params || params.length != 3) { - //this.throwError(instance, 'activate721nft error transId:' + transId); + this.throwError(' error transId:' + transId); return; } const itemUniId = params[0]; @@ -46,7 +39,6 @@ class Activate721Nft { console.log(params); await this.mintNft( - conn, transId, bcutils.toNormalAddress(to), tokenId, @@ -55,19 +47,19 @@ class Activate721Nft { await gameapi.confirmTransactionDb(transId); } - async mintNft(conn, transId, owner, tokenId, itemUniId, itemId) { + async mintNft(transId, owner, tokenId, itemUniId, itemId) { const itemMeta = metaFactory.getMetaByKey('Item', itemId); if (!itemMeta) { - this.throwError(instance, 'activate721nft error transId:1'); + this.throwError('activate721nft error transId:1'); return; } const tokenType = itemMeta.getNftType(); if (tokenType == bcutils.NONE_TYPE) { - this.throwError(instance, 'activate721nft error transId:2'); + this.throwError('activate721nft error transId:2'); return; } await this.updateGameDbInfo(instance, conn, transId, itemUniId, itemId, tokenId, tokenType); - const {err, row} = await conn.ormSelectOne( + const {err, row} = await this.conn.ormSelectOne( 't_nft', [ ['token_id', tokenId], @@ -90,7 +82,7 @@ class Activate721Nft { ['createtime', nowTime], ['modifytime', nowTime], ]; - const {err} = await conn.insert( + const {err} = await this.conn.insert( 't_nft', fieldList ); @@ -140,7 +132,7 @@ class Activate721Nft { this.throwError(instance, 'error token_type:' + tokenType); return; } - await conn.update( + await this.conn.update( tblName, [ ['idx', itemUniId], @@ -153,7 +145,7 @@ class Activate721Nft { ] ); } finally { - conn.release(); + this.conn.release(); } } catch (e) { this.throwError(instance, 'updateGameDbInfo err:' + e); @@ -161,23 +153,6 @@ class Activate721Nft { } } - genLogHead() { - - } - - getBlockNumber() { - return this.eventDb['block_number']; - } - - getReturnValues() { - - } - - throwError(instance, err) { - const errMsg = 'processActivate721NftEvent:' + utils.jsonEncode(instance) + ' err:' + err; - throw errMsg; - } - } module.exports = Activate721Nft; diff --git a/server/web3dbspider/services/events/common/BaseEventProcess.js b/server/web3dbspider/services/events/common/BaseEventProcess.js new file mode 100644 index 0000000..237f8ce --- /dev/null +++ b/server/web3dbspider/services/events/common/BaseEventProcess.js @@ -0,0 +1,40 @@ +const log = require('j7/log'); +const app = require('j7/app'); +const bcutils = require('j7/bcutils'); +const utils = require('j7/utils'); +const j7event = require('j7/event'); +const metaFactory = require('../../metadata/factory'); + +class BaseEventProcess { + + constructor(proc, conn, eventDb) { + this.eventProc = proc; + this.conn = conn; + this.eventDb = eventDb; + this.returnValues = utils.jsonDecode(this.getEventDb()); + } + + genLogHead(msg) { + return this.eventProc.genLogHead(' activate721nft ' + msg); + } + + getEventDb() { + return this.eventDb; + } + + getBlockNumber() { + return this.eventDb['block_number']; + } + + getReturnValues() { + return this.returnValues; + } + + throwError(err) { + const errMsg = this.genLogHead(err); + throw errMsg; + } + +} + +module.exports = BaseEventProcess;