This commit is contained in:
mkm 2024-05-21 09:24:06 +08:00
parent 9d1d309a2f
commit 980c0a1e7f

View File

@ -1,119 +1,134 @@
<?php <?php
namespace app\api\controller\user; namespace app\api\controller\user;
use app\admin\validate\withdraw\MerchantWithdrawValidate; use app\admin\validate\withdraw\MerchantWithdrawValidate;
use app\api\controller\BaseApiController; use app\api\controller\BaseApiController;
use app\api\lists\withdraw\MerchantWithdrawLists; use app\api\lists\withdraw\MerchantWithdrawLists;
use app\common\model\bank\Bank; use app\common\model\bank\Bank;
use app\common\model\merchant\Merchant; use app\common\model\merchant\Merchant;
use app\common\model\merchant\MerchantBank; use app\common\model\merchant\MerchantBank;
use app\common\model\supplier\Supplier; use app\common\model\supplier\Supplier;
use app\common\model\withdraw\MerchantWithdraw; use app\common\model\withdraw\MerchantWithdraw;
class UserWithdrawController extends BaseApiController class UserWithdrawController extends BaseApiController
{
//获取用户余额和绑定银行账户信息
public function amount_account()
{ {
//获取用户余额和绑定银行账户信息 $supplier = $this->request->userInfo['supplier'];
public function amount_account(){ if (!$supplier) {
$uid = $this->request->userInfo['user_id']; return $this->fail('当前用户非供应商');
$merchant = Merchant::where('uid',$uid)->findOrEmpty();
$supplier = Supplier::where('uid',$uid)->findOrEmpty();
if($merchant->isEmpty() && $supplier->isEmpty()){
return $this->fail('当前用户非商户或供应商');
}
if(!$merchant->isEmpty()){
$bank_list = MerchantBank::where('mer_id',$merchant['mer_id'])->where('is_check',1)->select()->each(function($data){
$bank_info = Bank::where('id',$data['bank_id'])->findOrEmpty();
$data['bank_name'] = !$bank_info->isEmpty() ? $bank_info['name'] : '';
$data['bank_image'] = !$bank_info->isEmpty() ? $bank_info['image'] : '';
return $data;
})->toArray();
return $this->success('请求成功',[
'balance' => $merchant['mer_money'],
'bank_list' => $bank_list
]);
} elseif (!$supplier->isEmpty()){
$bank_list = MerchantBank::where('supplier_id',$supplier['id'])->where('is_check',1)->select()->each(function($data){
$bank_info = Bank::where('id',$data['bank_id'])->findOrEmpty();
$data['bank_name'] = !$bank_info->isEmpty() ? $bank_info['name'] : '';
$data['bank_image'] = !$bank_info->isEmpty() ? $bank_info['image'] : '';
return $data;
})->toArray();
return $this->success('请求成功',[
'balance' => $merchant['mer_money'],
'bank_list' => $bank_list
]);
}else{
return $this->fail('未找到商户或供应商信息');
}
} }
// $merchant = Merchant::where('uid',$uid)->findOrEmpty();
//用户提现操作 $supplier = Supplier::where('id', $supplier['id'])->findOrEmpty();
public function withdraw(){ // if($merchant->isEmpty() && $supplier->isEmpty()){
$params = (new MerchantWithdrawValidate())->post()->goCheck('withdraw'); // return $this->fail('当前用户非商户或供应商');
$uid = $this->request->userInfo['user_id']; // }
$merchant = Merchant::where('uid',$uid)->findOrEmpty(); // if(!$merchant->isEmpty()){
$supplier = Supplier::where('uid',$uid)->findOrEmpty(); // $bank_list = MerchantBank::where('mer_id',$merchant['mer_id'])->where('is_check',1)->select()->each(function($data){
if($merchant->isEmpty() && $supplier->isEmpty()){ // $bank_info = Bank::where('id',$data['bank_id'])->findOrEmpty();
return $this->fail('当前用户非商户或供应商'); // $data['bank_name'] = !$bank_info->isEmpty() ? $bank_info['name'] : '';
} // $data['bank_image'] = !$bank_info->isEmpty() ? $bank_info['image'] : '';
if(!$merchant->isEmpty()){ // return $data;
if($params['amount'] > $merchant['mer_money']){ // })->toArray();
return $this->fail('提现余额不足'); // return $this->success('请求成功',[
} // 'balance' => $merchant['mer_money'],
$save_data = [ // 'bank_list' => $bank_list
'mer_id' => $merchant['mer_id'], // ]);
'merchant_bank_id' => $params['merchant_bank_id'], // } elseif (!$supplier->isEmpty()){
'amount' => $params['amount'], $bank_list = MerchantBank::where('supplier_id', $supplier['id'])->where('is_check', 1)->select()->each(function ($data) {
'is_check' => 0, $bank_info = Bank::where('id', $data['bank_id'])->findOrEmpty();
'is_arrival' => 0, $data['bank_name'] = !$bank_info->isEmpty() ? $bank_info['name'] : '';
'admin_id' => 0, $data['bank_image'] = !$bank_info->isEmpty() ? $bank_info['image'] : '';
'create_time' => time(), return $data;
]; })->toArray();
(new MerchantWithdraw) -> save($save_data); return $this->success('请求成功', [
return $this->success('提现成功,等待管理员审核'); 'balance' => $supplier['mer_money'],
} elseif (!$supplier->isEmpty()){ 'bank_list' => $bank_list
if($params['amount'] > $supplier['mer_money']){ ]);
return $this->fail('提现余额不足'); // }else{
} // return $this->fail('未找到商户或供应商信息');
$save_data = [ // }
'supplier_id' => $supplier['id'], }
'merchant_bank_id' => $params['merchant_bank_id'],
'amount' => $params['amount'], //用户提现操作
'is_check' => 0, public function withdraw()
'is_arrival' => 0, {
'admin_id' => 0, $params = (new MerchantWithdrawValidate())->post()->goCheck('withdraw');
'create_time' => time(), // $uid = $this->request->userInfo['user_id'];
]; // $merchant = Merchant::where('uid',$uid)->findOrEmpty();
(new MerchantWithdraw) -> save($save_data); // $supplier = Supplier::where('uid',$uid)->findOrEmpty();
return $this->success('提现成功,等待管理员审核'); $supplier = $this->request->userInfo['supplier'];
}else{ if (!$supplier) {
return $this->fail('未找到商户或供应商信息'); return $this->fail('当前用户非供应商');
}
} }
if ($supplier->isEmpty()) {
public function index(){ return $this->fail('当前用户非供应商');
$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()){
$total_amount = MerchantWithdraw::where('mer_id',$merchant['mer_id'])->where('is_check',1)->where('is_arrival',1)->sum('amount');
$count = MerchantWithdraw::where('mer_id',$merchant['mer_id'])->where('is_check',1)->where('is_arrival',1)->count();
return $this->success('请求成功',['total'=>$total_amount,'count'=>$count]);
} elseif (!$supplier->isEmpty()){
$total_amount = MerchantWithdraw::where('supplier_id',$supplier['id'])->where('is_check',1)->where('is_arrival',1)->sum('amount');
$count = MerchantWithdraw::where('supplier_id',$supplier['id'])->where('is_check',1)->where('is_arrival',1)->count();
return $this->success('请求成功',['total'=>$total_amount,'count'=>$count]);
}else{
return $this->fail('未找到商户或供应商信息');
}
} }
// if(!$merchant->isEmpty()){
//提现列表 // if($params['amount'] > $merchant['mer_money']){
public function lists(){ // return $this->fail('提现余额不足');
return $this->dataLists(new MerchantWithdrawLists()); // }
// $save_data = [
// 'mer_id' => $merchant['mer_id'],
// 'merchant_bank_id' => $params['merchant_bank_id'],
// 'amount' => $params['amount'],
// 'is_check' => 0,
// 'is_arrival' => 0,
// 'admin_id' => 0,
// 'create_time' => time(),
// ];
// (new MerchantWithdraw) -> save($save_data);
// return $this->success('提现成功,等待管理员审核');
// } elseif (!$supplier->isEmpty()){
if ($params['amount'] > $supplier['mer_money']) {
return $this->fail('提现余额不足');
} }
} $save_data = [
'supplier_id' => $supplier['id'],
'merchant_bank_id' => $params['merchant_bank_id'],
'amount' => $params['amount'],
'is_check' => 0,
'is_arrival' => 0,
'admin_id' => 0,
'create_time' => time(),
];
(new MerchantWithdraw)->save($save_data);
return $this->success('提现成功,等待管理员审核');
// }else{
// return $this->fail('未找到商户或供应商信息');
// }
}
public function index()
{
// $uid = $this->request->userInfo['user_id'];
// $merchant = Merchant::where('uid',$uid)->findOrEmpty();
// $supplier = Supplier::where('uid',$uid)->findOrEmpty();
$supplier = $this->request->userInfo['supplier'];
if (!$supplier) {
return $this->fail('当前用户非供应商');
}
if ($supplier->isEmpty()) {
return $this->fail('当前用户非供应商');
}
// if(!$merchant->isEmpty()){
// $total_amount = MerchantWithdraw::where('mer_id',$merchant['mer_id'])->where('is_check',1)->where('is_arrival',1)->sum('amount');
// $count = MerchantWithdraw::where('mer_id',$merchant['mer_id'])->where('is_check',1)->where('is_arrival',1)->count();
// return $this->success('请求成功',['total'=>$total_amount,'count'=>$count]);
// } elseif (!$supplier->isEmpty()){
$total_amount = MerchantWithdraw::where('supplier_id', $supplier['id'])->where('is_check', 1)->where('is_arrival', 1)->sum('amount');
$count = MerchantWithdraw::where('supplier_id', $supplier['id'])->where('is_check', 1)->where('is_arrival', 1)->count();
return $this->success('请求成功', ['total' => $total_amount, 'count' => $count]);
// }else{
// return $this->fail('未找到商户或供应商信息');
// }
}
//提现列表
public function lists()
{
return $this->dataLists(new MerchantWithdrawLists());
}
}