update P15

This commit is contained in:
2026-04-01 12:44:52 +08:00
parent 73309d7890
commit 7c83fa4664
4 changed files with 206 additions and 4 deletions
@@ -22,12 +22,12 @@ class UserController extends AbstractController
/**
* 用户列表
*
* 支持分页、按 username/email 模糊搜索、按 status 精确筛选
* 支持分页、按 username/email 模糊搜索、按 status/role_id 精确筛选
*/
#[OA\Get(
path: '/users',
summary: '用户列表',
description: '获取用户列表,支持分页、按 username/email 模糊搜索、按 status 精确筛选',
description: '获取用户列表,支持分页、按 username/email 模糊搜索、按 status/role_id 精确筛选',
security: [['bearerAuth' => []]],
tags: ['Users'],
parameters: [
@@ -36,6 +36,7 @@ class UserController extends AbstractController
new OA\Parameter(name: 'username', in: 'query', required: false, description: '用户名模糊搜索', schema: new OA\Schema(type: 'string')),
new OA\Parameter(name: 'email', in: 'query', required: false, description: '邮箱模糊搜索', schema: new OA\Schema(type: 'string')),
new OA\Parameter(name: 'status', in: 'query', required: false, description: '状态筛选(0=禁用,1=启用)', schema: new OA\Schema(type: 'integer', enum: [0, 1])),
new OA\Parameter(name: 'role_id', in: 'query', required: false, description: '按角色筛选', schema: new OA\Schema(type: 'integer')),
],
responses: [
new OA\Response(
@@ -83,6 +84,12 @@ class UserController extends AbstractController
$query->where('status', (int) $status);
}
// 按 role_id 精确筛选
$role_id = $this->request->input('role_id');
if ($role_id !== null && $role_id !== '') {
$query->where('role_id', (int) $role_id);
}
// 按 created_at 降序排序
$query->orderBy('created_at', 'desc');