93 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			PHP
		
	
	
		
		
			
		
	
	
			93 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			PHP
		
	
	
|  | <?php | ||
|  | 
 | ||
|  | namespace app\api\validate; | ||
|  | 
 | ||
|  | use app\common\basics\Validate; | ||
|  | use app\common\server\ConfigServer; | ||
|  | use app\common\model\user\User; | ||
|  | 
 | ||
|  | /** | ||
|  |  * Class WithdrawValidate | ||
|  |  * @package app\api\validate | ||
|  |  */ | ||
|  | class WithdrawValidate extends Validate | ||
|  | { | ||
|  |     protected $rule = [ | ||
|  |         'id' => 'require', //参数缺失
 | ||
|  |         'type' => 'require|in:1,2,3,4,5',//提现类型
 | ||
|  |         'money' => 'require|checkMoney',//提现佣金
 | ||
|  |         'account' => 'requireIf:type,3|requireIf:type,4|requireIf:type,5',//账户类型
 | ||
|  |         'real_name' => 'requireIf:type,3|requireIf:type,4|requireIf:type,5|chs',//真实姓名
 | ||
|  |         'money_qr_code' => 'requireIf:type,3|requireIf:type,4',//收款码
 | ||
|  |         'bank' => 'requireIf:type,5', // 提现银行
 | ||
|  |         'subbank' => 'requireIf:type,5', // 银行支行
 | ||
|  |     ]; | ||
|  | 
 | ||
|  |     protected $message = [ | ||
|  |         'id.require' => '参数缺失', | ||
|  |         'type.require' => '参数错误', | ||
|  |         'type.in' => '提现类型错误', | ||
|  |         'money.require' => '参数错误', | ||
|  |         'account.requireIf' => '请填写账号', | ||
|  |         'real_name.requireIf' => '请填写真实姓名', | ||
|  |         'real_name.chs' => '请填写真实姓名', | ||
|  |         'money_qr_code.requireIf' => '请上传收款码', | ||
|  |         'bank.requireIf' => '请填写提现银行', | ||
|  |         'subbank.requireIf' => '请填写银行支行', | ||
|  |     ]; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * @notes 申请提现 | ||
|  |      * @return WithdrawValidate | ||
|  |      * @author suny | ||
|  |      * @date 2021/7/13 6:30 下午 | ||
|  |      */ | ||
|  |     public function sceneApply() | ||
|  |     { | ||
|  | 
 | ||
|  |         return $this->only(['type', 'money', 'account', 'real_name', 'money_qr_code', 'bank', 'subbank']); | ||
|  |     } | ||
|  | 
 | ||
|  |     /** | ||
|  |      * @notes 申请详情 | ||
|  |      * @return WithdrawValidate | ||
|  |      * @author suny | ||
|  |      * @date 2021/7/13 6:30 下午 | ||
|  |      */ | ||
|  |     public function sceneInfo() | ||
|  |     { | ||
|  | 
 | ||
|  |         return $this->only(['id']); | ||
|  |     } | ||
|  | 
 | ||
|  |     /** | ||
|  |      * @notes 提现佣金验证 | ||
|  |      * @param $value | ||
|  |      * @param $rule | ||
|  |      * @param array $data | ||
|  |      * @return bool|string | ||
|  |      * @author suny | ||
|  |      * @date 2021/7/13 6:30 下午 | ||
|  |      */ | ||
|  |     protected function checkMoney($value, $rule, $data = []) | ||
|  |     { | ||
|  | 
 | ||
|  |         $able_withdraw = User::where('id', $data['user_id'])->value('earnings'); | ||
|  |         if ($value > $able_withdraw) { | ||
|  |             return '可提现金额不足'; | ||
|  |         } | ||
|  | 
 | ||
|  |         //1.最低提现金额
 | ||
|  |         $min_withdraw = ConfigServer::get('withdraw', 'min_withdraw', 0); | ||
|  |         if ($value < $min_withdraw) { | ||
|  |             return '最低提现' . $min_withdraw . '元'; | ||
|  |         } | ||
|  | 
 | ||
|  |         //2,最高提现金额
 | ||
|  |         $max_withdraw = ConfigServer::get('withdraw', 'max_withdraw', 0); | ||
|  |         if ($value > $max_withdraw) { | ||
|  |             return '最高提现' . $max_withdraw . '元'; | ||
|  |         } | ||
|  |         return true; | ||
|  |     } | ||
|  | } |