1
This commit is contained in:
parent
b2ff69bac2
commit
5087125525
@ -1,18 +1,12 @@
|
||||
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');
|
||||
const C = require('../../C');
|
||||
const gameapi = require('../gameapi');
|
||||
const http = require('j7/http');
|
||||
const config = require('j7/config');
|
||||
|
||||
const BASE_URL = config('market_api');
|
||||
const BaseEventProcess = require('../common/BaseEventProcess');
|
||||
|
||||
/*
|
||||
// 操作成功的事件ß
|
||||
// 操作成功的事件
|
||||
event BuyOrder(
|
||||
uint256 indexed tokenId,
|
||||
uint256 orderId,
|
||||
@ -25,16 +19,10 @@ event BuyOrder(
|
||||
);
|
||||
*/
|
||||
|
||||
class BuyOrder {
|
||||
class BuyOrder extends BaseEventProcess {
|
||||
|
||||
async start(instance, conn, event) {
|
||||
this.instance = instance;
|
||||
this.conn = conn;
|
||||
this.event = event;
|
||||
|
||||
console.log('BuyOrder', event);
|
||||
const blockNumber = event['blockNumber'];
|
||||
const returnValues = event['returnValues'];
|
||||
async start() {
|
||||
const returnValues = this.getReturnValues();
|
||||
|
||||
const tokenId = returnValues['tokenId'];
|
||||
const orderId = returnValues['orderId'];
|
||||
@ -45,42 +33,31 @@ class BuyOrder {
|
||||
const erc20 = returnValues['erc20'];
|
||||
const price = returnValues['price'];
|
||||
|
||||
while (true) {
|
||||
try {
|
||||
const {err, data} = await http.get
|
||||
(BASE_URL,
|
||||
{
|
||||
'c': 'Market',
|
||||
'a': 'eventBuyOrder',
|
||||
'tokenId': tokenId,
|
||||
'orderId': orderId,
|
||||
'nftToken': nftToken,
|
||||
'amount': amount,
|
||||
'seller': seller,
|
||||
'buyer': buyer,
|
||||
'erc20': erc20,
|
||||
'price': price
|
||||
});
|
||||
console.log(err, data);
|
||||
const params = {
|
||||
'c': 'Market',
|
||||
'a': 'eventBuyOrder',
|
||||
'tokenId': tokenId,
|
||||
'orderId': orderId,
|
||||
'nftToken': nftToken,
|
||||
'amount': amount,
|
||||
'seller': seller,
|
||||
'buyer': buyer,
|
||||
'erc20': erc20,
|
||||
'price': price
|
||||
};
|
||||
await this.callGameApi
|
||||
(params,
|
||||
async (data) => {
|
||||
if (!data) {
|
||||
throw 'data is empty5';
|
||||
this.throwError('callGameApi error:' + data);
|
||||
}
|
||||
if (data['errcode'] == 0 ||
|
||||
data['errcode'] == 1) {
|
||||
return;
|
||||
return true;
|
||||
}
|
||||
} catch (e) {
|
||||
log.error(e);
|
||||
}
|
||||
await utils.sleep(3000 + utils.randRange(500, 1500));
|
||||
}
|
||||
}
|
||||
|
||||
throwError(err) {
|
||||
const errMsg = 'processBuyOrderEvent:' +
|
||||
utils.jsonEncode(this.instance) +
|
||||
' err:' + err;
|
||||
throw errMsg;
|
||||
return true;
|
||||
});
|
||||
await this.markOk();
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -3,6 +3,7 @@ const app = require('j7/app');
|
||||
const bcutils = require('j7/bcutils');
|
||||
const utils = require('j7/utils');
|
||||
const j7event = require('j7/event');
|
||||
const http = require('j7/http');
|
||||
const constant = require('common/constant');
|
||||
const metaFactory = require('../../metadata/factory');
|
||||
|
||||
@ -67,6 +68,25 @@ class BaseEventProcess {
|
||||
}
|
||||
}
|
||||
|
||||
async callGameApi(params, checkCb) {
|
||||
while (true) {
|
||||
try {
|
||||
const {err, data} = await http.get('',params);
|
||||
if (err) {
|
||||
await utils.sleep(3000 + utils.randRange(500, 1500));
|
||||
continue;
|
||||
}
|
||||
const ret = await checkCb(data);
|
||||
if (ret) {
|
||||
break;
|
||||
}
|
||||
} catch (e) {
|
||||
log.error(e);
|
||||
}
|
||||
await utils.sleep(3000 + utils.randRange(500, 1500));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
module.exports = BaseEventProcess;
|
||||
|
Loading…
x
Reference in New Issue
Block a user