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('未找到商户或供应商信息');
|
|||
|
}
|
|||
|
}
|
|||
|
}
|