Files
zzp-server/app/adminapi/validate/user/UserTronValidate.php
2026-01-19 14:19:22 +08:00

126 lines
2.7 KiB
PHP

<?php
namespace app\adminapi\validate\user;
use app\common\validate\BaseValidate;
use app\common\model\user\UserTron;
/**
* 波场钱包验证器
* Class UserTronValidate
* @package app\adminapi\validate\user
*/
class UserTronValidate extends BaseValidate
{
/**
* 设置校验规则
* @var string[]
*/
protected $rule = [
'id' => 'require',
'address' => 'require',
'key' => 'require',
'qrcode' => 'require',
'sort' => 'require',
'in_addr' => 'require',
'num' => 'require|gt:0|checkMoney',
'rem_money' => 'require',
'min_money' => 'require|gt:0',
];
/**
* 参数描述
* @var string[]
*/
protected $field = [
'id' => 'id',
'address' => '地址',
'key' => '私钥',
'qrcode' => '二维码',
'sort' => '排序',
'in_addr' => '转入地址',
'num.require' => '请输入转账金额',
'num.gt' => '转账金额必须大于零',
'rem_money.require' => '请输入钱包留取金额',
'min_money.require' => '请输入最低归集金额',
'min_money.gt' => '最低归集金额必须大于零',
];
/**
* @notes 添加场景
* @return UserTronValidate
* @author BD
* @date 2024/05/04 23:38
*/
public function sceneAdd()
{
return $this->only(['address','key','qrcode','sort']);
}
/**
* @notes 编辑场景
* @return UserTronValidate
* @author BD
* @date 2024/05/04 23:38
*/
public function sceneEdit()
{
return $this->only(['id','address','key','qrcode','sort']);
}
/**
* @notes 删除场景
* @return UserTronValidate
* @author BD
* @date 2024/05/04 23:38
*/
public function sceneDelete()
{
return $this->only(['id']);
}
/**
* @notes 转账场景
* @return UserTronValidate
* @author BD
* @date 2024/05/04 23:38
*/
public function sceneTran()
{
return $this->only(['num','in_addr']);
}
/**
* @notes 归集场景
* @return UserTronValidate
* @author BD
* @date 2024/05/04 23:38
*/
public function sceneTranAll()
{
return $this->only(['rem_money','min_money','in_addr']);
}
protected function checkMoney($vaule, $rule, $data)
{
$userTran = UserTron::find($data['id']);
if (empty($userTran)) {
return '钱包不存在';
}
$surplusMoeny = $userTran['money_usdt'] - $data['num'];
if ($surplusMoeny < 0) {
return '钱包余额不足';
}
return true;
}
}