Commit Graph

4 Commits

Author SHA1 Message Date
5580941ffb feat(dict): 新增字典项排序接口
- 实现了 PUT /api/dict/sort 接口,用于批量排序和移动字典项。
- 添加了 SortDictSchema 用于请求验证。
- 添加了 SortDictResponsesSchema 用于 API 文档。
- 使用原生 SQL 和 CASE 语句实现了 sortDict 服务层方法,进行高效的批量更新,解决了之前遇到的 ORM 类型问题。
- 在字典模块的控制器中添加了新路由。
- 在 dict.test.md 中为排序接口添加了全面的测试用例。
2025-07-07 21:56:18 +08:00
10ee246b7d feat(dict): 添加更新字典项内容接口
- **新增接口**
  - 添加 `PUT /api/dict/:id` 接口,用于更新指定ID的字典项。
  - 支持部分更新,只修改传入的字段。

- **Service层**
  - 在 `DictService` 中实现 `updateDict` 方法。
  - 包含了对字典项存在性的检查,以及对 `code` 和 `name` 唯一性冲突的校验。
  - 修复了若干 linter 错误。

- **Schema和Response**
  - 在 `dict.schema.ts` 中将 `UpdateDictSchema` 拆分为 `Params` 和 `Body` 两部分,以适应 Elysia 的路由定义。
  - 在 `dict.response.ts` 中添加了 `UpdateDictResponsesSchema`,覆盖了成功、未找到和冲突等场景。

- **文档**
  - 在 `dict.test.md` 中为新接口添加了详细的测试用例。
2025-07-07 21:36:51 +08:00
b11dfa522b feat(dict): 添加获取完整字典树接口
- **新增接口**
  - 添加 `GET /api/dict/tree` 接口,用于获取完整的字典树结构。
  - 支持通过 `status` 和 `is_system` 查询参数进行过滤。

- **Service层**
  - 在 `DictService` 中实现 `getDictTree` 方法,包含从数据库查询数据并将列表转换为树形结构的逻辑。
  - 优化了日志记录,修复了linter错误。

- **Schema和Response**
  - 在 `dict.schema.ts` 中定义了 `GetDictTreeQuerySchema` 用于验证查询参数。
  - 在 `dict.response.ts` 中使用 `t.Recursive` 定义了递归的 `DictTreeNodeSchema` 来描述树形响应结构。

- **文档**
  - 更新了 `dict.docs.md`,添加了获取完整字典树的业务逻辑描述。
  - 在 `dict.test.md` 中为新接口添加了详细的测试用例。
2025-07-07 21:25:27 +08:00
HeXiaoLong:Suanier
f9f75c9d2d feat(dict): 完成字典模块创建字典项接口的Schema、响应、Service、Controller及相关文档,实现参数校验、唯一性校验、层级处理、数据库写入和统一响应。修复drizzle-orm类型兼容问题,调整Schema与Service参数处理逻辑,支持雪花ID生成。 2025-07-07 18:32:31 +08:00