diff --git a/app/Utils/API/Payment.php b/app/Utils/API/Payment.php index 23a5d73..4abcf77 100644 --- a/app/Utils/API/Payment.php +++ b/app/Utils/API/Payment.php @@ -9,7 +9,7 @@ use GuzzleHttp\Client; */ class Payment { - function generate_encrypt_value($data, $secret_key) { + public static function generate_encrypt_value($data, $secret_key) { // 1. 过滤掉 EncryptValue 和值为 null 的参数 $filtered_data = array_filter($data, function($v, $k) { return $k !== "EncryptValue" && $v !== null; @@ -57,7 +57,7 @@ class Payment "ShopUserLongId" => "776ae472-d4fc-435c-9639-be5763138d95" ]; $secret_key = "sZ2wAfh1lMkxBVrlY4uZY8Fj92E4scFf"; - $encrypt_value = Payment::generate_encrypt_value($payload, $secret_key); + $encrypt_value = self::generate_encrypt_value($payload, $secret_key); $payload["EncryptValue"] = $encrypt_value; $json_payload = json_encode($payload); diff --git a/app/controller/api/WithdrawController.php b/app/controller/api/WithdrawController.php index 85435da..5b52315 100644 --- a/app/controller/api/WithdrawController.php +++ b/app/controller/api/WithdrawController.php @@ -22,7 +22,7 @@ use Carbon\Carbon; class WithdrawController { - + /** * @Apidoc\Title("1.0 查询当前用户提现订单") * @Apidoc\Url("api/withdraw/withdrawCashList") @@ -30,46 +30,61 @@ class WithdrawController */ public function withdrawCashList(Request $request) { - $page = $request->post('page'); - $size = $request->post('size'); - $status = $request->post('status'); - $time = $request->post('time'); - + $page = $request->post('page', 1); // 默认第一页 + $size = $request->post('size', 15); // 默认每页15条 + $status = $request->post('status', 0); // 默认状态为0(全部) + $time = $request->post('time', null); // 默认时间不做过滤 + $userId = $request->data['id']; - // 初始化查询构建器 - $query = Withdraw::query(); - // 根据状态过滤 - if ($status != 0) { - $query->where('status', $status); - } + // 初始化查询构建器 + $query = Withdraw::query(); - // 根据时间过滤 - 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; + // 根据状态过滤 + if ($status != 0) { + $query->where('status', $status); } - } - // 添加用户ID过滤条件 - $query->where('user_id', $userId); - $withdrawOrders = $query->orderBy('createtime2', 'desc')->get(); - return ApiResponseApp::success($withdrawOrders); - } + // 根据时间过滤 + 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, $todayEnd]); + break; + case 3: + $query->whereBetween('createtime2', [$sevenDaysAgoStart, $todayEnd]); + break; + } + } + + // 添加用户ID过滤条件 + $query->where('user_id', $userId); + + // 查询结果 + $withdrawOrders = $query->orderBy('createtime2', 'desc') + ->skip(($page - 1) * $size) + ->take($size) + ->get(); + + // 手动映射字段 + $withdrawOrders = $withdrawOrders->map(function ($item) { + // 将 money 字段映射为 amount + $item->amount = $item->money; + unset($item->money); // 删除原始的 money 字段 + return $item; + }); + + // 返回成功响应 + return ApiResponseApp::success($withdrawOrders); + } /** * @Apidoc\Title("小于1000直接转账,大于1000生成审批") @@ -81,16 +96,16 @@ class WithdrawController $money_no = $request->post('money'); //不知道啥用 $bank_id = $request->post('bank_id'); - $user_id=$request->data['id']; - $user=User::find($user_id); + $user_id = $request->data['id']; + $user = User::find($user_id); //提现金额 - $rate = ExchangeRate::where('type','BDT')->get(); - $money = $money_no/100*$rate[0]['points']; + $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), '提现'); + UserRewardDao::base($user_id, 1, - ($money_no + 300), '提现'); //大于1000等待管理员审核 - if($money>=1000){ + if ($money >= 1000) { Withdraw::create([ 'user_id' => $user_id, 'amount' => $money, @@ -99,11 +114,12 @@ class WithdrawController 'username' => $user->username, 'status_text' => '申请中', ]); - return ApiResponseApp::success(null,'等待管理员审核'); + return ApiResponseApp::success(null, '等待管理员审核'); } - $userbank = Userbank::where('user_id',$user_id)->first(); - $res = Payment::pushMoney($money,$userbank->bank_username,$userbank->account,$userbank->bank_name); + $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, @@ -113,14 +129,14 @@ class WithdrawController 'username' => $user->username, 'status_text' => '已到账', ]); - return ApiResponseApp::success(null,'转账成功'); - }else{ - return ApiResponseApp::error(null,'转账失败'); + return ApiResponseApp::success(null, '转账成功'); + } else { + return ApiResponseApp::error(null, '转账失败'); } - return ApiResponseApp::success(null,'转账成功'); + return ApiResponseApp::success(null, '转账成功'); } - /** + /** * @Apidoc\Title("管理员同意转账") * @Apidoc\Url("api/withdraw/pushMoney") * @Apidoc\Method("POST") @@ -140,32 +156,31 @@ class WithdrawController //管理员审批结果 $type = $request->post('type'); - if($type == 1){ - $res = Payment::pushMoney($amount,$bank_username,$account,$bank_name); + 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 = Withdraw::where('id', $id)->first(); $Withdraw->status = 2; $Withdraw->status_text = '已到账'; $Withdraw->save(); - return ApiResponseApp::success(null,'转账成功'); - }else{ - return ApiResponseApp::error(null,'转账失败'); + return ApiResponseApp::success(null, '转账成功'); + } else { + return ApiResponseApp::error(null, '转账失败'); } - }else{ - $Withdraw = Withdraw::where('id',$id)->first(); + } else { + $Withdraw = Withdraw::where('id', $id)->first(); $Withdraw->status = 3; $Withdraw->status_text = '已驳回'; $Withdraw->save(); - $rate = ExchangeRate::where('type','BDT')->get(); + $rate = ExchangeRate::where('type', 'BDT')->get(); //计算积分 - $money = $amount*100/$rate[0]['points']+300; + $money = $amount * 100 / $rate[0]['points'] + 300; //用户id - $user_id=$request->data['id']; - //用户积分增加$money + $user_id = $request->data['id']; + //用户积分增加$money UserRewardDao::base($user_id, 1, $money, '提现失败返还'); - return ApiResponseApp::error(null,'操作成功'); + return ApiResponseApp::error(null, '操作成功'); } - } } diff --git a/process/Task3.php b/process/Task3.php index a58b096..26a99e3 100644 --- a/process/Task3.php +++ b/process/Task3.php @@ -10,7 +10,7 @@ use app\model\GetLodeLog; use app\model\User; /** - * 查询用户是否在线类 + * 获取今天在线时间超过6小时的用户 */ class Task3 { @@ -48,7 +48,6 @@ class Task3 // }); // // 每5秒执行一次 new Crontab('0 */5 * * * *', function () { - echo date('Y-m-d H:i:s')."\n"; //获取今天在线时间超过6小时的用户 $today = date('Y-m-d'); $UserPhone = UserPhone::where('time', '>=', 3600)::where('time', '<', 4200)::where('created_at','>=',$today)->get();