From 94ab320fa8908c5d0162241c68c54c9c964dada9 Mon Sep 17 00:00:00 2001 From: hewencai <2357300448@qq.com> Date: Tue, 2 Dec 2025 00:23:09 +0800 Subject: [PATCH] =?UTF-8?q?feat(system-server):=20=E6=B7=BB=E5=8A=A0=20Dat?= =?UTF-8?q?aBus=20MapStruct=20=E6=95=B0=E6=8D=AE=E8=BD=AC=E6=8D=A2?= =?UTF-8?q?=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 DatabusDeptConvert (DeptDO → DatabusDeptData) - 新增 DatabusUserConvert (AdminUserDO → DatabusAdminUserData) - 新增 DatabusPostConvert (PostDO → DatabusPostData) 说明: - 转换器忽略了需要额外查询的复杂字段(如 deptType, leaderUserName, depts, posts) - PostDO 不包含 tenantId,已配置忽略该字段映射 - 验证 system-server 编译通过 Ref: docs/databus/implementation-checklist.md 任务 20-22 --- .../convert/databus/DatabusDeptConvert.java | 36 +++++++++++++++++++ .../convert/databus/DatabusPostConvert.java | 35 ++++++++++++++++++ .../convert/databus/DatabusUserConvert.java | 36 +++++++++++++++++++ 3 files changed, 107 insertions(+) create mode 100644 zt-module-system/zt-module-system-server/src/main/java/com/zt/plat/module/system/convert/databus/DatabusDeptConvert.java create mode 100644 zt-module-system/zt-module-system-server/src/main/java/com/zt/plat/module/system/convert/databus/DatabusPostConvert.java create mode 100644 zt-module-system/zt-module-system-server/src/main/java/com/zt/plat/module/system/convert/databus/DatabusUserConvert.java diff --git a/zt-module-system/zt-module-system-server/src/main/java/com/zt/plat/module/system/convert/databus/DatabusDeptConvert.java b/zt-module-system/zt-module-system-server/src/main/java/com/zt/plat/module/system/convert/databus/DatabusDeptConvert.java new file mode 100644 index 00000000..e601729b --- /dev/null +++ b/zt-module-system/zt-module-system-server/src/main/java/com/zt/plat/module/system/convert/databus/DatabusDeptConvert.java @@ -0,0 +1,36 @@ +package com.zt.plat.module.system.convert.databus; + +import com.zt.plat.module.databus.api.data.DatabusDeptData; +import com.zt.plat.module.system.dal.dataobject.dept.DeptDO; +import org.mapstruct.Mapper; +import org.mapstruct.Mapping; +import org.mapstruct.factory.Mappers; + +import java.util.List; + +/** + * 部门数据转换器 + *
+ * 用于将 DeptDO 转换为 DatabusDeptData + * + * @author ZT + */ +@Mapper +public interface DatabusDeptConvert { + + DatabusDeptConvert INSTANCE = Mappers.getMapper(DatabusDeptConvert.class); + + /** + * DeptDO → DatabusDeptData + *
+ * 注意:deptType 和 leaderUserName 字段需要额外处理,这里不做映射
+ */
+ @Mapping(target = "deptType", ignore = true)
+ @Mapping(target = "leaderUserName", ignore = true)
+ DatabusDeptData convert(DeptDO dept);
+
+ /**
+ * List
+ * 用于将 PostDO 转换为 DatabusPostData
+ *
+ * @author ZT
+ */
+@Mapper
+public interface DatabusPostConvert {
+
+ DatabusPostConvert INSTANCE = Mappers.getMapper(DatabusPostConvert.class);
+
+ /**
+ * PostDO → DatabusPostData
+ *
+ * 注意:tenantId 字段在 PostDO 中不存在,需要额外处理
+ */
+ @Mapping(target = "tenantId", ignore = true)
+ DatabusPostData convert(PostDO post);
+
+ /**
+ * List
+ * 用于将 AdminUserDO 转换为 DatabusAdminUserData
+ *
+ * @author ZT
+ */
+@Mapper
+public interface DatabusUserConvert {
+
+ DatabusUserConvert INSTANCE = Mappers.getMapper(DatabusUserConvert.class);
+
+ /**
+ * AdminUserDO → DatabusAdminUserData
+ *
+ * 注意:depts 和 posts 字段需要额外查询和处理,这里不做映射
+ */
+ @Mapping(target = "depts", ignore = true)
+ @Mapping(target = "posts", ignore = true)
+ DatabusAdminUserData convert(AdminUserDO user);
+
+ /**
+ * List