105 lines
3.8 KiB
PHP
105 lines
3.8 KiB
PHP
<?php
|
||
|
||
namespace app\api\controller\user;
|
||
|
||
use app\api\controller\BaseApiController;
|
||
use app\api\validate\MerchantBankValidate;
|
||
use app\common\model\merchant\Merchant;
|
||
use app\common\model\merchant\MerchantBank;
|
||
use app\common\model\supplier\Supplier;
|
||
use app\common\service\ThinkApi;
|
||
|
||
class UserBankController extends BaseApiController
|
||
{
|
||
//绑定银行卡
|
||
public function add_bank()
|
||
{
|
||
$params = (new MerchantBankValidate())->post()->goCheck('add');
|
||
$uid = $this->request->userInfo['user_id'];
|
||
$merchant = Merchant::where('uid',$uid)->findOrEmpty();
|
||
$supplier = Supplier::where('uid',$uid)->findOrEmpty();
|
||
if($merchant->isEmpty() && $supplier->isEmpty()){
|
||
return $this->fail('当前用户非商户或供应商');
|
||
}
|
||
//判断是否已绑定
|
||
if(!$merchant->isEmpty()){
|
||
$has = MerchantBank::where('mer_id',$merchant['mer_id'])->where('is_own',$params['is_own'])->where('is_check','<>',2)->findOrEmpty();
|
||
if(!$has->isEmpty()){
|
||
return $this->fail('已提交审核请勿重复提交1');
|
||
}
|
||
if($params['is_own'] == 0){
|
||
$info = [
|
||
'name'=>$params['name'],
|
||
'idNum'=>$params['id_card'],
|
||
'cardNo'=>$params['bank_code'],
|
||
'mobile'=>$params['phone'],
|
||
];
|
||
$thinkApi = new ThinkApi();
|
||
$result = $thinkApi->request('bankcard/auth',$info);
|
||
if($result['code'] != 0 || empty($result['data'])){
|
||
return $this->fail($result['message']);
|
||
}
|
||
//认证结果。01:一致 02:不一致 03:认证不确定 04:认证失败。01、02收费
|
||
if($result['data']['result'] == 4 || $result['data']['result'] == 2){
|
||
return $this->fail('认证失败,请检查姓名,身份证,银行卡,银行预留手机号码是否正确');
|
||
}
|
||
}
|
||
$save_data = [
|
||
'mer_id' => $merchant['mer_id'],
|
||
'name' => $params['name'],
|
||
'bank_id' => $params['bank_id'],
|
||
'bank_code' => $params['bank_code'],
|
||
'bank_branch' => $params['bank_branch'],
|
||
'phone' => $params['phone'] ?? '',
|
||
'id_card' => $params['id_card'] ?? '',
|
||
'financial_img' => $params['financial_img'] ?? '',
|
||
'is_own' => $params['is_own'],
|
||
'is_check' => 0,
|
||
'create_time' => time()
|
||
];
|
||
//写入数据
|
||
(new MerchantBank)->save($save_data);
|
||
return $this->success('添加成功');
|
||
}elseif (!$supplier->isEmpty()){
|
||
$has = MerchantBank::where('supplier_id',$supplier['id'])->where('is_own',$params['is_own'])->where('is_check','<>',2)->findOrEmpty();
|
||
if(!$has->isEmpty()){
|
||
return $this->fail('已提交审核请勿重复提交2');
|
||
}
|
||
if($params['is_own'] == 0){
|
||
$info = [
|
||
'name'=>$params['name'],
|
||
'idNum'=>$params['id_card'],
|
||
'cardNo'=>$params['bank_code'],
|
||
'mobile'=>$params['phone'],
|
||
];
|
||
$thinkApi = new ThinkApi();
|
||
$result = $thinkApi->request('bankcard/auth',$info);
|
||
if($result['code'] != 0 || empty($result['data'])){
|
||
return $this->fail($result['message']);
|
||
}
|
||
//认证结果。01:一致 02:不一致 03:认证不确定 04:认证失败。01、02收费
|
||
if($result['data']['result'] == 4 || $result['data']['result'] == 2){
|
||
return $this->fail('认证失败,请检查姓名,身份证,银行卡,银行预留手机号码是否正确');
|
||
}
|
||
}
|
||
$save_data = [
|
||
'supplier_id' => $supplier['id'],
|
||
'name' => $params['name'],
|
||
'bank_id' => $params['bank_id'],
|
||
'bank_code' => $params['bank_code'],
|
||
'bank_branch' => $params['bank_branch'],
|
||
'phone' => $params['phone'] ?? '',
|
||
'id_card' => $params['id_card'] ?? '',
|
||
'financial_img' => $params['financial_img'] ?? '',
|
||
'is_own' => $params['is_own'],
|
||
'is_check' => 0,
|
||
'create_time' => time()
|
||
];
|
||
//写入数据
|
||
(new MerchantBank)->save($save_data);
|
||
return $this->success('添加成功');
|
||
}else{
|
||
return $this->fail('未找到商户或供应商信息');
|
||
}
|
||
}
|
||
} |