erp_old/app/api/controller/user/UserBankController.php

105 lines
3.8 KiB
PHP
Raw Normal View History

2024-05-14 17:37:13 +08:00
<?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('未找到商户或供应商信息');
}
}
}