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()){ $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('未找到商户或供应商信息'); } } //用户提现操作 public function withdraw(){ $params = (new MerchantWithdrawValidate())->post()->goCheck('withdraw'); $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()){ if($params['amount'] > $merchant['mer_money']){ return $this->fail('提现余额不足'); } $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(); 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('未找到商户或供应商信息'); } } //提现列表 public function lists(){ return $this->dataLists(new MerchantWithdrawLists()); } }