Skip to content

refactor: 重构实体分层(dto/vo/bo/po)、数据表添加审计字段、迁移 Mapper 到 MyBatis-Plus #155

Description

@VLSMB

现在 dto 包里混着入参和出参、entity 既当持久化对象又直接往上层传,职责不清;审计字段(创建人/时间、修改人/时间、逻辑删除)也只能各处手写,容易漏。而且 MyBatis 的手写 XML 样板多,逻辑删除和审计无法统一。借这次重构把模型按 dto/vo/bo/po 分层,并让持久层统一走 MyBatis-Plus。

做法上,不一口气全部进行迁移,每次只处理一个PO对象以及它的引用链,旧 dto/entity 标为废弃、按引用链逐个迁移、确认 0 引用后再删除。

以 SysUser 链为试点:SysUserPo 作为 MP 实体并继承 BasePo,Service 内部用 SysUserBo,Controller 入参用 Dto、出参用 Vo(BaseVo 实现,由 BaseVoResponseAdvice 统一包装),对象转换放进 mapstruct 的 Converter。

审计字段靠 BasePo 定义的字段自动传递到其他PO类上,以及 MetaObjectHandler 自动填充,逻辑删除靠 MP 提供的 TableLogic 注解自动过滤与转换;

Mapper 则改为继承项目级 AuditableMapper (继承自MP的BaseMapper,约束实体为 BasePo 并补齐批量更新/删除的审计功能)。手写 XML 逐步收敛,仅复杂连表查询保留,并在其中显式写 is_deleted = 0。

参考 PR #156 的实现。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions