game2006api/webapp/services/BlockChainService.php
aozhiwei 53e9c94683 1
2023-06-19 13:07:49 +08:00

61 lines
1.7 KiB
PHP

<?php
namespace services;
class BlockChainService {
public static function gameItemMallBuy($account, $price)
{
$params = array(
'c' => 'GameItemMall',
'a' => 'buy',
'account' => $account,
'price' => $price,
);
{
$url = self::getWeb3ServiceUrl();
$response = '';
if (!phpcommon\HttpClient::get
($url,
$params,
$response)) {
myself()->_rspErr(500, 'server internal error');
die();
return;
}
error_log($response);
$rspObj = json_decode($response, true);
if ($rspObj['errcode'] == 0) {
$transId = $rspObj['trans_id'];
Transaction::add(
$transId,
Transaction::MINT_721_ACTION_TYPE,
$tokenId,
$tokenType,
$itemUniId,
$itemId,
1
);
myself()->_rspData(array(
'trans_id' => $transId,
'params' => $rspObj['params']
));
} else {
myself()->_rspErr(500, 'server internal error');
die();
return;
}
}
}
private static function getWeb3ServiceUrl()
{
if (SERVER_ENV == _TEST) {
return 'http://127.0.0.1:7672/webapp/index.php';
}
$web3ServiceCluster = require_once('../config/web3service.cluster.php');
return $web3ServiceCluster[rand() % count($web3ServiceCluster)];
}
}