erp/app/api/controller/user/UserBankController.php
2024-05-14 17:37:13 +08:00

105 lines
3.8 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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