# 01 — BaseDTO 重构 + IBaseService 清理 **What to build:** BaseDTO 变为 abstract 类,只保留 `id`、`createTime`、`updateTime` 三个字段(均加 `@JsonInclude(NON_NULL)`),移除 `creatorId`、`updaterId`、`deleted` 及其默认值,移除泛型 `toEntity(Supplier)` 方法。IBaseService 上调用 `dto.toEntity()` 的 `saveDTO`/`updateDTO` 死代码随之删除。README §4 同步更新 BaseDTO 使用说明。这是 ADR-0017 落地的前置条件——当前 BaseDTO 仍是未改造版本,不先重构则 `creatorId`/`updaterId`/`deleted` 会在出参侧泄露给前端。 **Blocked by:** None — 可立即开始 **Status:** ready-for-agent - [ ] BaseDTO 改为 `abstract`,不可直接实例化 - [ ] 移除 `creatorId`、`updaterId`、`deleted` 字段及其默认值 - [ ] 移除泛型 `toEntity(Supplier)` 方法——转换方法下沉到各 DTO 类 - [ ] `id`、`createTime`、`updateTime` 三个字段加 `@JsonInclude(JsonInclude.Include.NON_NULL)` - [ ] IBaseService 中 `saveDTO`、`updateDTO` 两个 default 方法删除(因依赖已移除的 `toEntity`) - [ ] BeanCopyUtils 中引用 `BaseDTO.toEntity` 的注释同步更新 - [ ] README §4 BaseDTO 使用说明更新:abstract 类,仅适用于资源型出参,业务类继承、统计/登录类不继承 - [ ] 项目编译通过,无引用 `BaseDTO.toEntity` 或已删除字段的残留