whereType(1) ->whereStatus(1) ->where('money_type','=',2) ->select(['id', 'uid', 'money', 'created_at', 'type','remark','current_money']) ->orderBy('created_at','desc') ->paginate(perPage()); return showJsonSucc('数据获取成功',$list); } /** * 提现 * @author lyh * @date 2019/4/2 * @description */ public function add(Request $request) { $validator = \Validator::make($param = $request->all(), [ 'user_bank_id' => 'required|integer|exists:user_bank,id', 'money' => 'required|numeric', 'pay_password' => [ 'required', 'string', 'between:6,18' ] ]); if ($validator->fails()) { return showJsonErr($validator->errors()->first()); } $pay_password=md5(md5($param['pay_password'])); if(empty(\Auth::user()->pay_password)){ return showJsonErr('您还未设置支付密码'); } if ($pay_password!=\Auth::user()->pay_password) { return showJsonErr('支付密码错误'); } // 生成提现记录 $userBank = UserBank::find($param['user_bank_id']); $minWithdraw =Config::where('key','=','WITHDRAWMIN')->first()->toArray(); $jsday =Config::where('key','=','JSDAY')->first()->toArray(); if ($minWithdraw['content'] > $param['money']) { return showJsonErr('抱歉,未达到最低提现标准'); } $curday=intval(date('d')); if($curday<$jsday['content']){ return showJsonErr('抱歉,未到结算日'.$jsday['content'].'号不能提现'); } // 判断余额是否够提现 if ($param['money'] > \Auth::user()->balance) { return showJsonErr('抱歉,余额不足'); } //提现的时候应该先扣除余额 edit by wsl \DB::beginTransaction(); try { $id = UserWithdraw::insertGetId([ 'uid' => \Auth::id(), 'money' => $param['money'], 'phone' => $userBank->phone, 'bank_name' => $userBank->bank_name, 'bank_number' => $userBank->bank_number, 'service_charge' => 0, 'status' => 0, 'remark' => '', ]); UserMsg::insert(['title'=>'提现审核通知','uid'=>\Auth::id(),'type'=>8,'content'=>'您于'.date('Y-m-d H:i:s')."发起了提现申请,提现正在审核中"]); User::whereId(\Auth::id())->update(['balance' => \Auth::user()->balance-$param['money']]); AccountLog::saveDataByPost(\Auth::id(),1,-$param['money'],\Auth::user()->balance,2,1,'申请提现'.$param['money'].'元'); \DB::commit(); } catch (Exception $exception) { \DB::rollBack(); } if (empty($id)) { return showJsonSucc('提现提交失败'); } return showJsonSucc('提现提交成功,请等待审核'); } }