You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
# 05 — ResourceNode → ResourceNodeDTO 重命名 + BaseDTO 继承
|
|
|
|
|
|
|
|
|
|
**What to build:** ResourceNode 改名为 ResourceNodeDTO,跨 4 个文件(ResourceController、ResourceServiceImpl、ResourceServiceImplTest、import 声明)。继承 BaseDTO,本地 `id` 字段移除改为继承自 BaseDTO。已有 `fromEntity`/`toEntity` 转换方法保留不动。ResourceController.saveOrUpdate 的入参类型跟着改名,行为不变——这是 Route A(DTO 双向)的典型实现:同一个 ResourceNodeDTO 既是 saveOrUpdate 的写入参,又是 listAll/save 的出参。改名后继承 BaseDTO 会引入 `createTime`/`updateTime` 字段,依赖 02(InitBinder)在入参侧 strip 掉。
|
|
|
|
|
|
|
|
|
|
**Blocked by:** 01 (BaseDTO 重构), 02 (InitBinder — 引入 createTime/updateTime 后需 strip)
|
|
|
|
|
|
|
|
|
|
**Status:** resolved
|
|
|
|
|
|
|
|
|
|
- [x] `ResourceNode` 类改名为 `ResourceNodeDTO`,文件名同步改名
|
|
|
|
|
- [x] `ResourceNodeDTO` 继承 `BaseDTO`,加 `@EqualsAndHashCode(callSuper = true)`
|
|
|
|
|
- [x] 移除本地的 `id` 字段声明,改为继承自 `BaseDTO`
|
|
|
|
|
- [x] 已有的 `fromEntity`/`toEntity` 方法保留,确认字段映射正确
|
|
|
|
|
- [x] `ResourceController` 中 `ResourceNode` 引用全部改为 `ResourceNodeDTO`
|
|
|
|
|
- [x] `ResourceServiceImpl` 中 `ResourceNode` 引用全部改为 `ResourceNodeDTO`
|
|
|
|
|
- [x] `ResourceServiceImplTest` 中 `ResourceNode` 引用全部改为 `ResourceNodeDTO`
|
|
|
|
|
- [x] 其他引用 `ResourceNode` 的文件同步更新(`IResourceService`)
|
|
|
|
|
- [x] 测试:saveOrUpdate 入参为 ResourceNodeDTO,提交 `createTime` 被 strip
|
|
|
|
|
- [x] 测试:listAll 返回的 JSON 中不包含 `deleted`/`creatorId`/`updaterId`
|
|
|
|
|
- [x] 测试:现有 ResourceServiceImplTest 全绿
|
|
|
|
|
- [x] 前端对接文档 `docs/frontend-integration-menu-permission.md` 中类名引用同步更新
|