122 lines
3.2 KiB
PHP
122 lines
3.2 KiB
PHP
<?php
|
|
|
|
require_once('mt/Item.php');
|
|
require_once('mt/Currency.php');
|
|
require_once('mt/Hero.php');
|
|
require_once('mt/Parameter.php');
|
|
|
|
require_once('models/Nft.php');
|
|
require_once('models/Withdrawal.php');
|
|
require_once('models/Transfer.php');
|
|
|
|
require_once('phpcommon/bchelper.php');
|
|
|
|
use phpcommon\SqlHelper;
|
|
use models\Nft;
|
|
use models\Withdrawal;
|
|
use models\Transfer;
|
|
|
|
class WalletController extends BaseController {
|
|
|
|
public function withdrawal()
|
|
{
|
|
myself()->_rspErr(2, 'parameter error');
|
|
return;
|
|
$account = strtolower(getReqVal('account', ''));
|
|
$token = getReqVal('token', '');
|
|
$type = getReqVal('type', '');
|
|
$netId = getReqVal('net_id', '');
|
|
$amount = getReqVal('amount', '');
|
|
$times = Withdrawal::getTodayWithdrawalTimes($account);
|
|
if ($times > 200) {
|
|
myself()->_rspErr(1, 'More withdrawals than today');
|
|
return;
|
|
}
|
|
if (!in_array($type, array(1, 2))){
|
|
myself()->_rspErr(2, 'parameter error');
|
|
return;
|
|
}
|
|
if (strlen($amount) <= 18){
|
|
myself()->_rspErr(4, 'parameter error');
|
|
return;
|
|
}
|
|
$value = substr($amount, 0, -18);
|
|
if ($value < 0 || empty($value)) {
|
|
myself()->_rspErr(4, 'parameter error');
|
|
return;
|
|
}
|
|
$seqId = Withdrawal::add($account, $type, $netId, $amount);
|
|
myself()->_rspData(array(
|
|
'seq_id' => $seqId
|
|
));
|
|
}
|
|
|
|
public function queryWithdrawalResult()
|
|
{
|
|
$account = strtolower(getReqVal('account', ''));
|
|
$seqId = getReqVal('seq_id', '');
|
|
$row = Withdrawal::find($seqId);
|
|
if (!$row || $row['account'] != $account) {
|
|
myself()->_rspErr(0, 'not found');
|
|
return;
|
|
}
|
|
if ($row['state'] == 1) {
|
|
myself()->_rspData(array(
|
|
'state' => 2
|
|
));
|
|
return;
|
|
}
|
|
if ($row['state'] == 3) {
|
|
myself()->_rspData(array(
|
|
'state' => 3
|
|
));
|
|
return;
|
|
}
|
|
$transferDb = Transfer::find($row['bc_txhash']);
|
|
if (!$transferDb) {
|
|
myself()->_rspData(array(
|
|
'state' => 2
|
|
));
|
|
return;
|
|
}
|
|
if ($transferDb['state'] == 0) {
|
|
myself()->_rspData(array(
|
|
'state' => 2
|
|
));
|
|
return;
|
|
} else {
|
|
myself()->_rspData(array(
|
|
'state' => 1
|
|
));
|
|
return;
|
|
}
|
|
}
|
|
|
|
public function queryRechargeResult()
|
|
{
|
|
myself()->_rspErr(2, 'parameter error');
|
|
return;
|
|
$account = strtolower(getReqVal('account', ''));
|
|
$txHash = getReqVal('txhash', '');
|
|
$transferDb = Transfer::find($txHash);
|
|
if (!$transferDb) {
|
|
myself()->_rspData(array(
|
|
'state' => 2
|
|
));
|
|
return;
|
|
}
|
|
if ($transferDb['state'] == 0) {
|
|
myself()->_rspData(array(
|
|
'state' => 2
|
|
));
|
|
return;
|
|
} else {
|
|
myself()->_rspData(array(
|
|
'state' => 1
|
|
));
|
|
return;
|
|
}
|
|
}
|
|
|
|
}
|