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.
 
 
 
 
 

1.9 KiB

01 — BaseDTO 重构 + IBaseService 清理

What to build: BaseDTO 变为 abstract 类,只保留 idcreateTimeupdateTime 三个字段(均加 @JsonInclude(NON_NULL)),移除 creatorIdupdaterIddeleted 及其默认值,移除泛型 toEntity(Supplier) 方法。IBaseService 上调用 dto.toEntity()saveDTO/updateDTO 死代码随之删除。README §4 同步更新 BaseDTO 使用说明。这是 ADR-0017 落地的前置条件——当前 BaseDTO 仍是未改造版本,不先重构则 creatorId/updaterId/deleted 会在出参侧泄露给前端。

Blocked by: None — 可立即开始

Status: resolved

Answer

Commit: ae103a1

改动文件:

  • BaseDTO.java — 改为 abstract,仅保留 id/createTime/updateTime(@JsonInclude NON_NULL),移除 creatorId/updaterId/deleted/toEntity(Supplier)
  • IBaseService.java — 删除 saveDTO/updateDTO 死代码及 BaseDTO/Supplier imports
  • BeanCopyUtils.java — javadoc 移除 BaseDTO.toEntity 引用
  • README.md — §3/§4/§10 同步更新
  • ResourceController.java / RoleController.java — 修复预存 UTF-8 BOM 问题

验证:mvn clean compile 全 6 模块 SUCCESS;mvn test 45 tests 0 failures 0 errors。

  • BaseDTO 改为 abstract,不可直接实例化
  • 移除 creatorIdupdaterIddeleted 字段及其默认值
  • 移除泛型 toEntity(Supplier) 方法——转换方法下沉到各 DTO 类
  • idcreateTimeupdateTime 三个字段加 @JsonInclude(JsonInclude.Include.NON_NULL)
  • IBaseService 中 saveDTOupdateDTO 两个 default 方法删除(因依赖已移除的 toEntity
  • BeanCopyUtils 中引用 BaseDTO.toEntity 的注释同步更新
  • README §4 BaseDTO 使用说明更新:abstract 类,仅适用于资源型出参,业务类继承、统计/登录类不继承
  • 项目编译通过,无引用 BaseDTO.toEntity 或已删除字段的残留