|
@@ -20,6 +20,12 @@ class CollectService extends BaseService
|
|
|
{
|
|
{
|
|
|
public static string $MODEL = Collect::class;
|
|
public static string $MODEL = Collect::class;
|
|
|
public static $THRESHOLD = 10; // 最小归集金额(USDT)
|
|
public static $THRESHOLD = 10; // 最小归集金额(USDT)
|
|
|
|
|
+
|
|
|
|
|
+ public static function getRequiredTrxBalance(): float
|
|
|
|
|
+ {
|
|
|
|
|
+ $value = (float) config('app.collect_required_trx_balance', 15);
|
|
|
|
|
+ return $value > 0 ? $value : 15.0;
|
|
|
|
|
+ }
|
|
|
/**
|
|
/**
|
|
|
* @description: 模型
|
|
* @description: 模型
|
|
|
* @return {string}
|
|
* @return {string}
|
|
@@ -301,6 +307,7 @@ class CollectService extends BaseService
|
|
|
'member_id' => $memberId,
|
|
'member_id' => $memberId,
|
|
|
'from_address' => $walletInfo->address,
|
|
'from_address' => $walletInfo->address,
|
|
|
'threshold' => self::$THRESHOLD,
|
|
'threshold' => self::$THRESHOLD,
|
|
|
|
|
+ 'required_trx_balance' => self::getRequiredTrxBalance(),
|
|
|
'to_address' => $to_address,
|
|
'to_address' => $to_address,
|
|
|
'has_trx_private_key' => !empty($trx_private_key),
|
|
'has_trx_private_key' => !empty($trx_private_key),
|
|
|
]);
|
|
]);
|
|
@@ -354,14 +361,20 @@ class CollectService extends BaseService
|
|
|
$privateKey = $wallets['private_key'];
|
|
$privateKey = $wallets['private_key'];
|
|
|
$trxBalance = TronHelper::getTrxBalance($v['from_address']);
|
|
$trxBalance = TronHelper::getTrxBalance($v['from_address']);
|
|
|
$item['trx_balance'] = $trxBalance;
|
|
$item['trx_balance'] = $trxBalance;
|
|
|
|
|
+ $requiredTrxBalance = self::getRequiredTrxBalance();
|
|
|
|
|
+ $item['required_trx_balance'] = $requiredTrxBalance;
|
|
|
|
|
|
|
|
- if ($trxBalance < 10) {
|
|
|
|
|
- $trxResult = TronHelper::sendTrx($trx_private_key, $v['from_address'], 10);
|
|
|
|
|
|
|
+ if ($trxBalance < $requiredTrxBalance) {
|
|
|
|
|
+ $topupAmount = round($requiredTrxBalance - $trxBalance, 6);
|
|
|
|
|
+ $item['trx_topup_amount'] = $topupAmount;
|
|
|
|
|
+ $trxResult = TronHelper::sendTrx($trx_private_key, $v['from_address'], $topupAmount);
|
|
|
$item['trx_topup_result'] = $trxResult;
|
|
$item['trx_topup_result'] = $trxResult;
|
|
|
Log::info('syncCollectStayByMember topup trx', [
|
|
Log::info('syncCollectStayByMember topup trx', [
|
|
|
'member_id' => $memberId,
|
|
'member_id' => $memberId,
|
|
|
'from_address' => $v['from_address'],
|
|
'from_address' => $v['from_address'],
|
|
|
'trx_balance' => $trxBalance,
|
|
'trx_balance' => $trxBalance,
|
|
|
|
|
+ 'required_trx_balance' => $requiredTrxBalance,
|
|
|
|
|
+ 'topup_amount' => $topupAmount,
|
|
|
'result' => $trxResult,
|
|
'result' => $trxResult,
|
|
|
]);
|
|
]);
|
|
|
|
|
|
|
@@ -384,7 +397,7 @@ class CollectService extends BaseService
|
|
|
|
|
|
|
|
$trxBalance = TronHelper::getTrxBalance($v['from_address']);
|
|
$trxBalance = TronHelper::getTrxBalance($v['from_address']);
|
|
|
$item['trx_balance_after_topup'] = $trxBalance;
|
|
$item['trx_balance_after_topup'] = $trxBalance;
|
|
|
- if ($trxBalance < 10) {
|
|
|
|
|
|
|
+ if ($trxBalance < $requiredTrxBalance) {
|
|
|
$error = 'TRX余额仍不足,停止归集';
|
|
$error = 'TRX余额仍不足,停止归集';
|
|
|
$data['status'] = self::model()::STATUS_STAY;
|
|
$data['status'] = self::model()::STATUS_STAY;
|
|
|
$data['to_address'] = null;
|
|
$data['to_address'] = null;
|
|
@@ -460,6 +473,7 @@ class CollectService extends BaseService
|
|
|
|
|
|
|
|
Log::info('syncCollectStay start', [
|
|
Log::info('syncCollectStay start', [
|
|
|
'threshold' => self::$THRESHOLD,
|
|
'threshold' => self::$THRESHOLD,
|
|
|
|
|
+ 'required_trx_balance' => self::getRequiredTrxBalance(),
|
|
|
'to_address' => $to_address,
|
|
'to_address' => $to_address,
|
|
|
'has_trx_private_key' => !empty($trx_private_key),
|
|
'has_trx_private_key' => !empty($trx_private_key),
|
|
|
]);
|
|
]);
|
|
@@ -508,13 +522,19 @@ class CollectService extends BaseService
|
|
|
$privateKey = $wallets['private_key'];
|
|
$privateKey = $wallets['private_key'];
|
|
|
$trxBalance = TronHelper::getTrxBalance($v['from_address']);
|
|
$trxBalance = TronHelper::getTrxBalance($v['from_address']);
|
|
|
$item['trx_balance'] = $trxBalance;
|
|
$item['trx_balance'] = $trxBalance;
|
|
|
|
|
+ $requiredTrxBalance = self::getRequiredTrxBalance();
|
|
|
|
|
+ $item['required_trx_balance'] = $requiredTrxBalance;
|
|
|
|
|
|
|
|
- if($trxBalance < 10){
|
|
|
|
|
- $trxResult = TronHelper::sendTrx($trx_private_key,$v['from_address'],10);
|
|
|
|
|
|
|
+ if($trxBalance < $requiredTrxBalance){
|
|
|
|
|
+ $topupAmount = round($requiredTrxBalance - $trxBalance, 6);
|
|
|
|
|
+ $item['trx_topup_amount'] = $topupAmount;
|
|
|
|
|
+ $trxResult = TronHelper::sendTrx($trx_private_key,$v['from_address'],$topupAmount);
|
|
|
$item['trx_topup_result'] = $trxResult;
|
|
$item['trx_topup_result'] = $trxResult;
|
|
|
Log::info('syncCollectStay topup trx', [
|
|
Log::info('syncCollectStay topup trx', [
|
|
|
'from_address' => $v['from_address'],
|
|
'from_address' => $v['from_address'],
|
|
|
'trx_balance' => $trxBalance,
|
|
'trx_balance' => $trxBalance,
|
|
|
|
|
+ 'required_trx_balance' => $requiredTrxBalance,
|
|
|
|
|
+ 'topup_amount' => $topupAmount,
|
|
|
'result' => $trxResult,
|
|
'result' => $trxResult,
|
|
|
]);
|
|
]);
|
|
|
|
|
|
|
@@ -537,7 +557,7 @@ class CollectService extends BaseService
|
|
|
|
|
|
|
|
$trxBalance = TronHelper::getTrxBalance($v['from_address']);
|
|
$trxBalance = TronHelper::getTrxBalance($v['from_address']);
|
|
|
$item['trx_balance_after_topup'] = $trxBalance;
|
|
$item['trx_balance_after_topup'] = $trxBalance;
|
|
|
- if ($trxBalance < 10) {
|
|
|
|
|
|
|
+ if ($trxBalance < $requiredTrxBalance) {
|
|
|
$error = 'TRX余额仍不足,停止归集';
|
|
$error = 'TRX余额仍不足,停止归集';
|
|
|
$data['status'] = self::model()::STATUS_STAY;
|
|
$data['status'] = self::model()::STATUS_STAY;
|
|
|
$data['to_address'] = null;
|
|
$data['to_address'] = null;
|