post(); // 构建查询构造器 $query = User::query(); // 根据 key 进行模糊查询 if (!empty($data['key'])) { $key = $data['key']; $query->where(function ($query) use ($key) { $query->where('username', 'like', '%' . $key . '%') ->orWhere('invite_code', 'like', '%' . $key . '%') ->orWhere('remark', 'like', '%' . $key . '%'); }); } // 根据 status 过滤,假设 status 字段存在并且不是 -1 if (isset($data['status']) && $data['status'] != -1) { $status = (int)$data['status']; // 强制转换为整数 // 使用 users 表的别名明确指定 status 字段 $query->where('users.status', $status); } // 使用 join 进行关联查询 f_id 对应的用户名称 $users = $query->leftJoin('users as u', 'users.f_id', '=', 'u.id') // 假设 users 表有 id 字段,f_id 关联到父用户 ->select('users.*', 'u.username as parent_username') // 选择用户表的字段和关联表的 username 字段 ->orderBy('id', 'desc') ->get(); // 或者使用 paginate() 来进行分页 // 格式化结果为数组 return ApiResponse::success(200, $users->toArray()); } /** * @Apidoc\Title("1.0 封禁用户") * @Apidoc\Url("admin/api/v1/Jobuser/black") * @Apidoc\Method("POST") * @Apidoc\Param("id", type="int",require=true, desc="用户id") */ public function black(Request $request) { // 获取请求数据 $data = $request->post(); $user = User::find($data['id']); $user->status = 0; $user->save(); return ApiResponse::success(200, []); } /** * @Apidoc\Title("1.0 解禁用户") * @Apidoc\Url("admin/api/v1/Jobuser/outblack") * @Apidoc\Method("POST") * @Apidoc\Param("id", type="int",require=true, desc="用户id") */ public function outblack(Request $request) { // 获取请求数据 $data = $request->post(); $user = User::find($data['id']); $user->status = 1; $user->save(); return ApiResponse::success(200, []); } /** * @Apidoc\Title("1.0 查询用户树") * @Apidoc\Url("admin/api/v1/Jobuser/getSonId") * @Apidoc\Method("POST") * @Apidoc\Param("id", type="int",require=true, desc="用户id") */ public function getSonId(Request $request) { // 获取请求数据 $data = $request->post(); $user = User::find($data['id']); $user->status = 1; $user->save(); return ApiResponse::success(200, []); } /** * @Apidoc\Title("1.0 查询用户树") * @Apidoc\Url("admin/api/v1/Jobuser/getSonId") * @Apidoc\Method("POST") * @Apidoc\Param("id", type="int",require=true, desc="用户id") */ public function del(Request $request) { // 获取请求数据 $data = $request->post(); UserDao::del($data['id']); return ApiResponse::success(200, []); } /** * @Apidoc\Title("1.0 查询用户提现记录") * @Apidoc\Url("admin/api/v1/Jobuser/getWithdraw") * @Apidoc\Method("POST") * @Apidoc\Param("id", type="int",require=true, desc="用户id") */ public function getWithdraw(Request $request) { // 获取请求数据 $data = $request->post(); $Withdraw = Withdraw::where('user_id', $data['id'])->orderByDesc('id')->get(); return ApiResponse::success(200, $Withdraw); } /** * @Apidoc\Title("1.0 修改用户备注") * @Apidoc\Url("admin/api/v1/Jobuser/set_user_remark") * @Apidoc\Method("POST") * @Apidoc\Param("id", type="int",require=true, desc="用户id") * @Apidoc\Param("remark", type="string",require=true, desc="用户备注") */ public function set_user_remark(Request $request) { // 获取请求数据 $data = $request->post(); $user = User::find($data['id']); $user->remark = $data['remark']; $user->save(); return ApiResponse::success(200, []); } /** * @Apidoc\Title("1.0 修改用户密码") * @Apidoc\Url("admin/api/v1/Jobuser/set_user_password") * @Apidoc\Method("POST") * @Apidoc\Param("id", type="int",require=true, desc="用户id") * @Apidoc\Param("password", type="string",require=true, desc="密码") */ public function set_user_password(Request $request) { // 获取请求数据 $data = $request->post(); $user = User::find($data['id']); $user->password = password_hash($data['password'], PASSWORD_DEFAULT); $user->save(); return ApiResponse::success(200, []); } /** * @Apidoc\Title("1.0 查看用户提现记录") * @Apidoc\Url("admin/api/v1/Jobuser/set_user_password") * @Apidoc\Method("POST") * @Apidoc\Param("id", type="int",require=true, desc="用户id") */ public function get_user_withdraw(Request $request) { // 获取请求数据 $data = $request->post(); $Withdraw = Withdraw::where('user_id', $data['id'])->orderByDesc('id')->get(); return ApiResponse::success(200, $Withdraw); } /** * @Apidoc\Title("1.0 查询用户手机号和在线时间") * @Apidoc\Url("admin/api/v1/Jobuser/set_user_password") * @Apidoc\Method("POST") * @Apidoc\Param("id", type="username",require=true, desc="用户名称") */ public function get_user_wphone(Request $request) { // 获取请求数据 $data = $request->post(); $user = User::where('username', $data['username'])->first(); // 查询用户的手机号 $UserPhone = UserPhone::where('user_id', $user->id)->get(); // 创建一个数组来存储手机号和对应的在线时间 $userPhonesWithTime = []; // 遍历每个手机号,查询该手机号的在线时间总和 foreach ($UserPhone as $v) { $time = UserPhoneLog::where('phone', $v->phone)->sum('time'); // 将手机号和总时间添加到结果数组中 $userPhonesWithTime[] = [ 'phone' => $v->phone, 'total_time' => floor($time / 60) ]; } $res['user'] = $user; $res['userPhonesWithTime'] = $userPhonesWithTime; // 返回计算结果 return ApiResponse::success(200, $res); } /** * @Apidoc\Title("1.0 增减用户积分") * 减法传递 负数 正数增加 * @Apidoc\Url("admin/api/v1/Jobuser/add_money") * @Apidoc\Method("POST") * @Apidoc\Param("id", type="int",require=true, desc="用户id") * @Apidoc\Param("money", type="int",require=true, desc="金额") * @Apidoc\Param("memo", type="string",require=true, desc="备注") */ public function add_money(Request $request) { // 获取请求数据 $data = $request->post(); ///用户id $user_id = $data['id']; //金额 $money = $data['money']; //备注 $memo = $data['memo']; UserRewardDao::adjust($user_id, $money, $memo); // 返回计算结果 return ApiResponse::success(200, []); } }