game2006api/webapp/controller/WalletController.class.php
aozhiwei e8281b56c2 1
2022-04-27 20:12:04 +08:00

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;
}
}
}