| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- <?php
- namespace App\Http\Controllers\Api;
- use App\Modes\Proxy;
- use App\Modes\Config;
- use App\Modes\User;
- use App\Modes\UserBank;
- use App\Modes\UserMsg;
- use App\Modes\UserWithdraw;
- use Illuminate\Http\Request;
- use App\Http\Controllers\Controller;
- use App\Modes\AccountLog;
- class UserWithdrawController extends Controller
- {
- /*
- * 提现记录
- * wsl
- *
- * */
- public function outCashLog(Request $request){
- $list = AccountLog::whereUid(\Auth::id())
- ->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('提现提交成功,请等待审核');
- }
- }
|