<?php
|
|
namespace app\branch\model\branch;
|
|
use app\common\model\branch\Cash as BranchCashModel;
|
use app\branch\model\branch\Branch as BranchModel;
|
use app\common\model\branch\Account as BranchAccountModel;
|
use app\common\exception\BaseException;
|
use app\branch\model\user\UserAuth;
|
use app\branch\model\branch\Capital as BranchCapitalModel;
|
|
/**
|
* 供应商提现账号模型
|
*/
|
class Cash extends BranchCashModel
|
{
|
public function getList($branch_id, $data){
|
// 获取数据列表
|
return $this->where('branch_id', '=', $branch_id)
|
->order(['create_time' => 'desc'])
|
->paginate($data);
|
}
|
|
/**
|
* 提交申请
|
*/
|
public function submit($branch_id, $data)
|
{
|
$branch = BranchModel::detail($branch_id);
|
$account = BranchAccountModel::detail($branch_id);
|
if(!$account){
|
throw new BaseException(['msg' => '请填写提现账户信息']);
|
}
|
// 数据验证
|
$this->validation($branch, $data, $account);
|
if(!empty($data["start_day"])){
|
$data["start_day"] = strtotime($data["start_day"]);
|
}
|
if(!empty($data["end_day"])){
|
$data["end_day"] = strtotime($data["end_day"]);
|
}
|
// 新增申请记录
|
$this->save(array_merge($data, [
|
'branch_id' => $branch_id,
|
'apply_status' => 10,
|
'app_id' => self::$app_id,
|
]));
|
// 冻结用户资金
|
$branch->freezeMoney($data['money']);
|
//修改提现状态
|
if(!empty($data["start_day"]) && !empty($data["end_day"])){
|
BranchCapitalModel::editStatus($branch_id,$data["start_day"],$data["end_day"]);
|
|
}
|
return true;
|
}
|
|
/**
|
* 数据验证
|
*/
|
private function validation($branch, $data, $account)
|
{
|
// 最低提现佣金
|
if ($data['money'] <= 0) {
|
throw new BaseException(['msg' => '提现金额不正确']);
|
}
|
if ($branch['money'] <= 0) {
|
throw new BaseException(['msg' => '没有可提现金额']);
|
}
|
if ($data['money'] > $branch['money']) {
|
throw new BaseException(['msg' => '提现金额不能大于可提现金额']);
|
}
|
if ($data['pay_type'] == '10') {
|
if (empty($account['alipay_name']) || empty($account['alipay_account'])) {
|
//throw new BaseException(['msg' => '请补全提现信息']);
|
}
|
} elseif ($data['pay_type'] == '20') {
|
if (empty($account['bank_name']) || $account['bank_account'] || $account['bank_card']) {
|
//throw new BaseException(['msg' => '请补全提现信息']);
|
}
|
}elseif ($data['pay_type'] == '30') {
|
//微信支付需要实名认证
|
$auth = UserAuth::detail($branch['user_id']);
|
if(empty($auth)){
|
throw new BaseException(['msg' => '请先到小程序个人中心->设置->实名认证']);
|
}elseif(!empty($auth) && $auth["auth_status"] != 1){
|
throw new BaseException(['msg' => '您的实名认证还未审核通过']);
|
}
|
} else{
|
throw new BaseException(['msg' => '提现方式不正确']);
|
}
|
}
|
}
|