refactor(system): 重构系统模块中的部门、字典、菜单等服务方法命名和实现

- 统一将修改方法名从 modify* 改为 update*
- 统一将删除方法名从 remove* 改为 delete*
- 统一将查询方法名从 query* 改为 search* 或 list*
- 重构部门服务中的树形结构构建逻辑
- 优化部门上级数据查询方法实现
- 调整数据权限查询方法命名
- 删除未使用的导入和方法
- 修复部门关联验证中的用户查询服务依赖
This commit is contained in:
2025-12-28 10:54:19 +08:00
parent 3a48388dec
commit 765b993101
28 changed files with 311 additions and 355 deletions
+42
View File
@@ -32,6 +32,7 @@
- 搜索(分页)功能:search + 名词
- 统计计数:count + By + 条件
- 存在检查:exists + By + 条件
- 增删改:save/delete/update
- 例子: 查询分页、查询列表的方法
- 分页:searchUser(args, page)
- 列表:listUser + (args)
@@ -44,6 +45,47 @@
- 单个:getUser + by + (args)
- 统计计数:count + By + (args)
#### 编码规范:举例说明
1. getUser - 简单查询
核心: 获取单个特定实体。
- 输入: 通常是一个唯一标识符(如ID 123)。
- 筛选: 非常精确,只匹配一个。
- 返回: 单个对象或文档,包含该用户的完整/详细信息。
- 示例: getUser(123) -> 返回 {id: 123, name: “Alice”, email: “...”}
2. listUsers - 列表查询
核心: 获取一个符合简单条件的实体集合,通常是有限的、预定义的。
- 输入: 可能没有参数,或只有非常简单的过滤条件(如 status=‘active’)。
- 筛选: 简单、常规。
- 返回: 一个数组/列表,包含多个用户的基本信息(通常是摘要字段,非完整详情)。
- 通常不分页,或隐式返回所有符合条件的(数据量预期不大)。
- 示例: listUsers() -> 返回 [{id: 1, name: “Alice”}, {id: 2, name: “Bob”}]
- 示例: listUsers({role: ‘admin’}) -> 返回所有管理员用户的列表。
3. queryUsersByCondition - 复杂查询
核心: 基于多个、可能较复杂的条件进行筛选。
- 输入: 一个组合条件对象,可能涉及多个字段的比较(如 age > 18 AND department = ‘Sales’ AND joinDate < ‘2023-01-01’)。
- 筛选: 复杂、灵活,类似数据库的WHERE子句。
- 返回: 一个匹配条件的数组/列表。
- 分页: 可能分页,也可能不分页。关键是它的侧重点在于复杂的“筛选”能力,而非分页机制。(这是标准,但是对于此项目来说,定为不分页的,复杂条件的,列表查询服务)
- 示例: queryUsersByCondition({minAge: 18, department: ‘Sales’, hasCertification: true})
4. searchUsers - 搜索(分页)功能
核心: 针对大量数据进行模糊匹配、全文检索,并强制包含分页机制以管理性能。
- 输入:
- 搜索关键词(可能对多个字段进行模糊匹配)。
- 分页参数(pageNumber, pageSize 或 limit, offset)。
- 可能附加的其他过滤条件。
- 筛选: 通常包含文本搜索(如 name LIKE ‘%Al%’),结果可能按相关性排序。
- 返回: 一个分页响应对象,而不仅仅是数组。
- 包含:data(当前页的数据列表)、total(总匹配数)、page(当前页)、pageSize(每页大小)等元数据。
- 示例: searchUsers({keyword: ‘Al’, page: 1, pageSize: 20}) -> 返回 {data: […], total: 45, page: 1, pageSize: 20}
#### 主要特性
- 使用最新技术栈,社区资源丰富。