1
This commit is contained in:
parent
ea9d3d997a
commit
b2ff69bac2
88
server/web3dbspider/services/events/BENftMarket/buy_order.js
Normal file
88
server/web3dbspider/services/events/BENftMarket/buy_order.js
Normal file
@ -0,0 +1,88 @@
|
||||
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');
|
||||
|
||||
/*
|
||||
// 操作成功的事件ß
|
||||
event BuyOrder(
|
||||
uint256 indexed tokenId,
|
||||
uint256 orderId,
|
||||
address nftToken,
|
||||
uint256 amount,
|
||||
address seller,
|
||||
address buyer,
|
||||
address erc20,
|
||||
uint256 price
|
||||
);
|
||||
*/
|
||||
|
||||
class BuyOrder {
|
||||
|
||||
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'];
|
||||
|
||||
const tokenId = returnValues['tokenId'];
|
||||
const orderId = returnValues['orderId'];
|
||||
const nftToken = returnValues['nftToken'];
|
||||
const amount = returnValues['amount'];
|
||||
const seller = returnValues['seller'];
|
||||
const buyer = returnValues['buyer'];
|
||||
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);
|
||||
if (!data) {
|
||||
throw 'data is empty5';
|
||||
}
|
||||
if (data['errcode'] == 0 ||
|
||||
data['errcode'] == 1) {
|
||||
return;
|
||||
}
|
||||
} 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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
module.exports = BuyOrder;
|
@ -0,0 +1,72 @@
|
||||
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');
|
||||
|
||||
/*
|
||||
// 操作成功的事件
|
||||
event CancelOrder(
|
||||
uint256 indexed orderId,
|
||||
address indexed nftToken,
|
||||
uint256 indexed tokenId
|
||||
);
|
||||
*/
|
||||
|
||||
class CancelOrder {
|
||||
|
||||
async start(instance, conn, event) {
|
||||
this.instance = instance;
|
||||
this.conn = conn;
|
||||
this.event = event;
|
||||
|
||||
console.log('CancelOrder', event);
|
||||
const blockNumber = event['blockNumber'];
|
||||
const returnValues = event['returnValues'];
|
||||
|
||||
const orderId = returnValues['orderId'];
|
||||
const nftToken = returnValues['nftToken'];
|
||||
const tokenId = returnValues['tokenId'];
|
||||
|
||||
while (true) {
|
||||
try {
|
||||
const {err, data} = await http.get(BASE_URL,
|
||||
{
|
||||
'c': 'Market',
|
||||
'a': 'eventCancelOrder',
|
||||
'orderId': orderId,
|
||||
'nftToken': nftToken,
|
||||
'tokenId': tokenId,
|
||||
});
|
||||
console.log(err, data);
|
||||
if (!data) {
|
||||
throw 'data is empty3';
|
||||
}
|
||||
if (data['errcode'] == 0 ||
|
||||
data['errcode'] == 1) {
|
||||
return;
|
||||
}
|
||||
} catch (e) {
|
||||
log.error(e);
|
||||
}
|
||||
await utils.sleep(3000 + utils.randRange(500, 1500));
|
||||
}
|
||||
}
|
||||
|
||||
throwError(err) {
|
||||
const errMsg = 'processCancelOrderEvent:' +
|
||||
utils.jsonEncode(this.instance) +
|
||||
' err:' + err;
|
||||
throw errMsg;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
module.exports = CancelOrder;
|
@ -0,0 +1,78 @@
|
||||
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');
|
||||
|
||||
/*
|
||||
// 操作成功的事件
|
||||
event PriceUpdate(
|
||||
uint256 indexed orderId,
|
||||
address indexed nftToken,
|
||||
uint256 indexed tokenId,
|
||||
uint256 priceOld,
|
||||
uint256 price
|
||||
);
|
||||
*/
|
||||
|
||||
class PriceUpdateOrder {
|
||||
|
||||
async start(instance, conn, event) {
|
||||
this.instance = instance;
|
||||
this.conn = conn;
|
||||
this.event = event;
|
||||
|
||||
console.log('PriceUpdateOrder', event);
|
||||
const blockNumber = event['blockNumber'];
|
||||
const returnValues = event['returnValues'];
|
||||
|
||||
const orderId = returnValues['orderId'];
|
||||
const nftToken = returnValues['nftToken'];
|
||||
const tokenId = returnValues['tokenId'];
|
||||
const priceOld = returnValues['priceOld'];
|
||||
const price = returnValues['price'];
|
||||
|
||||
while (true) {
|
||||
try {
|
||||
const {err, data} = await http.get(BASE_URL,
|
||||
{
|
||||
'c': 'Market',
|
||||
'a': 'eventPriceUpdateOrder',
|
||||
'orderId': orderId,
|
||||
'nftToken': nftToken,
|
||||
'tokenId': tokenId,
|
||||
'priceOld': priceOld,
|
||||
'price': price
|
||||
});
|
||||
console.log(err, data);
|
||||
if (!data) {
|
||||
throw 'data is empty4';
|
||||
}
|
||||
if (data['errcode'] == 0 ||
|
||||
data['errcode'] == 1) {
|
||||
return;
|
||||
}
|
||||
} catch (e) {
|
||||
log.error(e);
|
||||
}
|
||||
await utils.sleep(3000 + utils.randRange(500, 1500));
|
||||
}
|
||||
}
|
||||
|
||||
throwError(err) {
|
||||
const errMsg = 'processPriceUpdateOrderEvent:' +
|
||||
utils.jsonEncode(this.instance) +
|
||||
' err:' + err;
|
||||
throw errMsg;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
module.exports = PriceUpdateOrder;
|
@ -0,0 +1,88 @@
|
||||
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');
|
||||
|
||||
/*
|
||||
// 操作成功的事件
|
||||
event SellOrder(
|
||||
uint256 indexed tokenId,
|
||||
address indexed owner,
|
||||
address indexed nftToken,
|
||||
uint256 amount,
|
||||
uint256 orderId,
|
||||
address currency,
|
||||
uint256 price
|
||||
);
|
||||
*/
|
||||
|
||||
class SellOrder {
|
||||
|
||||
async start(instance, conn, event) {
|
||||
this.instance = instance;
|
||||
this.conn = conn;
|
||||
this.event = event;
|
||||
|
||||
console.log('SellOrder', event);
|
||||
const blockNumber = event['blockNumber'];
|
||||
const returnValues = event['returnValues'];
|
||||
|
||||
const tokenId = returnValues['tokenId'];
|
||||
const owner = returnValues['owner'];
|
||||
const nftToken = returnValues['nftToken'];
|
||||
const amount = returnValues['amount'];
|
||||
const orderId = returnValues['orderId'];
|
||||
const currency = returnValues['currency'];
|
||||
const price = returnValues['price'];
|
||||
|
||||
while (true) {
|
||||
try {
|
||||
const {err, data} = await http.get
|
||||
(BASE_URL,
|
||||
{
|
||||
'c': 'Market',
|
||||
'a': 'eventSellOrder',
|
||||
'tokenId': tokenId,
|
||||
'owner': owner,
|
||||
'nftToken': nftToken,
|
||||
'amount': amount,
|
||||
'orderId': orderId,
|
||||
'currency': currency,
|
||||
'price': price
|
||||
});
|
||||
if (err) {
|
||||
throw err;
|
||||
}
|
||||
console.log(err, data);
|
||||
if (!data) {
|
||||
throw 'data is empty2';
|
||||
}
|
||||
if (data['errcode'] == 0 ||
|
||||
data['errcode'] == 1) {
|
||||
return;
|
||||
}
|
||||
} catch (e) {
|
||||
log.error(e);
|
||||
}
|
||||
await utils.sleep(3000 + utils.randRange(500, 1500));
|
||||
}
|
||||
}
|
||||
|
||||
throwError(err) {
|
||||
const errMsg = 'processSellOrderEvent:' +
|
||||
utils.jsonEncode(this.instance) +
|
||||
' err:' + err;
|
||||
throw errMsg;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
module.exports = SellOrder;
|
@ -0,0 +1,72 @@
|
||||
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');
|
||||
|
||||
/*
|
||||
操作成功的事件
|
||||
event ItemSoldOut(
|
||||
address indexed buyer,
|
||||
uint256 indexed orderId,
|
||||
address currency,
|
||||
uint256 price
|
||||
);
|
||||
*/
|
||||
|
||||
class GameItemMallBuy {
|
||||
|
||||
async start(instance, conn, event) {
|
||||
console.log('GameItemMallBuy', event);
|
||||
const blockNumber = event['blockNumber'];
|
||||
const returnValues = event['returnValues'];
|
||||
const transId = returnValues['orderId'];
|
||||
const orderId = returnValues['orderId'];
|
||||
|
||||
if (orderId != transId) {
|
||||
//this.throwError('error orderId:' + utils.jsonEncode(returnValues));
|
||||
//return;
|
||||
}
|
||||
const a = 'dispatch';
|
||||
while (true) {
|
||||
try {
|
||||
const {err, data} = await gameapi.callApi
|
||||
(
|
||||
'Callback',
|
||||
a,
|
||||
{
|
||||
'action': 'gameItemMallBuyOk',
|
||||
'trans_id': transId,
|
||||
'order_id': orderId,
|
||||
}
|
||||
);
|
||||
if (err) {
|
||||
throw err;
|
||||
}
|
||||
console.log(data);
|
||||
if (!data) {
|
||||
throw 'data is empty1';
|
||||
}
|
||||
if (data['errcode'] == 0 ||
|
||||
data['errcode'] == 1 ||
|
||||
data['errcode'] == 2) {
|
||||
return;
|
||||
}
|
||||
} catch (e) {
|
||||
log.error(e);
|
||||
}
|
||||
await utils.sleep(3000 + utils.randRange(500, 1500));
|
||||
}
|
||||
}
|
||||
|
||||
throwError(instance, err) {
|
||||
const errMsg = 'GameItemMallBuy:' + utils.jsonEncode(instance) + ' err:' + err;
|
||||
throw errMsg;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
module.exports = GameItemMallBuy;
|
Loading…
x
Reference in New Issue
Block a user