66 lines
1.8 KiB
PHP
66 lines
1.8 KiB
PHP
<?php
|
|
|
|
namespace services;
|
|
|
|
require_once('phpcommon/bchelper.php');
|
|
|
|
require_once('models/Nft.php');
|
|
require_once('models/Market.php');
|
|
require_once ('services/callback/common/SignatureService.php');
|
|
|
|
use phpcommon\SqlHelper;
|
|
|
|
use models\Nft;
|
|
use models\Market;
|
|
|
|
class MarketSellOrderOk {
|
|
|
|
public function process()
|
|
{
|
|
SignatureService::web3ServiceCheck();
|
|
error_log('MarketSellOrderOk:' . json_encode($_REQUEST));
|
|
|
|
$netId = getReqVal('net_id', '');
|
|
$tokenId = getReqVal('tokenId', '');
|
|
$owner = strtolower(getReqVal('owner', ''));
|
|
$nftToken = strtolower(getReqVal('nftToken', ''));
|
|
$amount = getReqVal('amount', 0);
|
|
$orderId = getReqVal('orderId', '');
|
|
$currency = getReqVal('currency', '');
|
|
$price = getReqVal('price', '');
|
|
|
|
$fieldsKv = array();
|
|
$nftDb = Nft::getNftByNetCont($tokenId, $netId, $nftToken);
|
|
if ($nftDb) {
|
|
try {
|
|
$nftDetail = Nft::toDto($nftDb);
|
|
if ($nftDetail) {
|
|
$fieldsKv['c_name'] = $nftDetail['info']['name'];
|
|
$fieldsKv['c_job'] = $nftDetail['info']['job'];
|
|
$fieldsKv['c_lv'] = $nftDetail['info']['level'];
|
|
$fieldsKv['c_quality'] = $nftDetail['info']['quality'];
|
|
//$fieldsKv['c_durability'] = $nftDetail['info']['hero_tili'];
|
|
$fieldsKv['c_type'] = 1;
|
|
}
|
|
} catch(Exception $e) {
|
|
$fieldsKv = array();
|
|
error_log('MarketSellOrderOk error:' . $e);
|
|
}
|
|
}
|
|
|
|
Market::add(
|
|
$orderId,
|
|
$netId,
|
|
$tokenId,
|
|
$owner,
|
|
$nftToken,
|
|
$amount,
|
|
$currency,
|
|
$price,
|
|
$fieldsKv
|
|
);
|
|
myself()->_rspOk();
|
|
}
|
|
|
|
}
|