post('page'); $size = $request->post('size'); $status = $request->post('status'); $time = $request->post('time'); $userId = $request->data['id']; // 初始化查询构建器 $query = Withdraw::query(); // 根据状态过滤 if ($status != 0) { $query->where('status', $status); } // 根据时间过滤 if (!is_null($time)) { $todayStart = Carbon::now()->startOfDay(); // 今天的开始时间 (00:00:00) $todayEnd = Carbon::now()->endOfDay(); // 今天的结束时间 (23:59:59) $yesterdayStart = Carbon::now()->subDay()->startOfDay(); // 昨天的开始时间 $sevenDaysAgoStart = Carbon::now()->subDays(7)->startOfDay(); // 七天前的开始时间 switch ($time) { case 1: $query->whereBetween('createtime2', [$todayStart, $todayEnd]); break; case 2: $query->whereBetween('createtime2', [$yesterdayStart, $todayStart]); break; case 3: $query->whereBetween('createtime2', [$sevenDaysAgoStart, $todayEnd]); break; } } // 添加用户ID过滤条件 $query->where('user_id', $userId); $withdrawOrders = $query->orderBy('createtime2', 'desc')->get(); return ApiResponseApp::success($withdrawOrders); } /** * @Apidoc\Title("小于1000直接转账,大于1000生成审批") * @Apidoc\Url("api/withdraw/submit") * @Apidoc\Method("POST") */ public function submit(Request $request) { $money_no = $request->post('money'); //不知道啥用 $bank_id = $request->post('bank_id'); $user_id=$request->data['id']; $user=User::find($user_id); //提现金额 $rate = ExchangeRate::where('type','BDT')->get(); $money = $money_no/100*$rate[0]['points']; var_dump($money); //用户积分减少$money UserRewardDao::base($user_id, 1, -($money_no+300), '提现'); //大于1000等待管理员审核 if($money>=1000){ Withdraw::create([ 'user_id' => $user_id, 'amount' => $money, 'status' => 1, 'createtime2' => date('Y-m-d H:i:s'), 'username' => $user->username, 'status_text' => '申请中', ]); return ApiResponseApp::success(null,'等待管理员审核'); } $userbank = Userbank::where('user_id',$user_id)->first(); $res = Payment::pushMoney($money,$userbank->bank_username,$userbank->account,$userbank->bank_name); var_dump($res); if ($res['Success'] == 200) { Withdraw::create([ 'user_id' => $user_id, 'amount' => $money, 'status' => 2, 'createtime2' => date('Y-m-d H:i:s'), 'username' => $user->username, 'status_text' => '已到账', ]); return ApiResponseApp::success(null,'转账成功'); }else{ return ApiResponseApp::error(null,'转账失败'); } return ApiResponseApp::success(null,'转账成功'); } /** * @Apidoc\Title("管理员同意转账") * @Apidoc\Url("api/withdraw/pushMoney") * @Apidoc\Method("POST") */ public function pushMoney(Request $request) { //金额 $amount = $request->post('amount'); //收款户名 $bank_username = $request->post('bank_username'); //收款帐号 $account = $request->post('account'); //收款银行名称 $bank_name = $request->post('bank_name'); //转账订单id $id = $request->post('id'); //管理员审批结果 $type = $request->post('type'); if($type == 1){ $res = Payment::pushMoney($amount,$bank_username,$account,$bank_name); var_dump($res); if ($res['Success'] == 200) { $Withdraw = Withdraw::where('id',$id)->first(); $Withdraw->status = 2; $Withdraw->status_text = '已到账'; $Withdraw->save(); return ApiResponseApp::success(null,'转账成功'); }else{ return ApiResponseApp::error(null,'转账失败'); } }else{ $Withdraw = Withdraw::where('id',$id)->first(); $Withdraw->status = 3; $Withdraw->status_text = '已驳回'; $Withdraw->save(); $rate = ExchangeRate::where('type','BDT')->get(); //计算积分 $money = $amount*100/$rate[0]['points']+300; //用户id $user_id=$request->data['id']; //用户积分增加$money UserRewardDao::base($user_id, 1, $money, '提现失败返还'); return ApiResponseApp::error(null,'操作成功'); } } }