Commit Graph

83 Commits

Author SHA1 Message Date
hewencai
cea886c9b2 update:调整数据同步用户-部门,用户-岗位同步顺序 2025-12-22 09:51:05 +08:00
chenbowen
2d5b71896e Merge remote-tracking branch 'base-version/main' into dev 2025-12-16 21:36:36 +08:00
chenbowen
12157d5dcb 1. 修复 databus 在多层嵌套的 json 报文,签名存在异常的 bug 2025-12-16 21:35:08 +08:00
hewencai
fcc32fa2d8 Merge remote-tracking branch 'ztcloud/main' into main-ztcloud 2025-12-16 16:36:56 +08:00
hewencai
72fe903447 update:数据同步分发机构岗位绑定关系 2025-12-16 16:36:34 +08:00
hewencai
8782631eaa update:数据同步分发机构岗位绑定关系 2025-12-16 16:36:30 +08:00
hewencai
a57d05ccd6 update:数据同步统一使用枚举类 2025-12-16 16:36:29 +08:00
hewencai
218c6aa3dc update:数据同步分发机构岗位绑定关系 2025-12-16 14:34:13 +08:00
hewencai
ba1bc1fb6f update:数据同步分发机构岗位绑定关系 2025-12-16 12:03:15 +08:00
hewencai
b7ec17694d update:数据同步统一使用枚举类 2025-12-15 20:04:43 +08:00
chenbowen
1706a70499 Merge remote-tracking branch 'base-version/main' into dev
# Conflicts:
#	zt-framework/zt-spring-boot-starter-test/src/main/java/com/zt/plat/framework/test/core/ut/BaseDbUnitTest.java
#	zt-module-system/zt-module-system-server/src/main/java/com/zt/plat/module/system/framework/sms/core/client/impl/SmsClientFactoryImpl.java
#	zt-module-system/zt-module-system-server/src/main/java/com/zt/plat/module/system/framework/sms/core/enums/SmsChannelEnum.java
2025-12-12 10:05:36 +08:00
chenbowen
cae0b9e4af 1. 新增 api 绑定客户凭证进行权限校验
2. 去除 api 定义的缓存策略
3. 新增短信渠道
4. 新增用户信息模糊查询
5. 修复全局的单元测试
2025-12-12 10:03:10 +08:00
hewencai
ffc7d0247d refactor(databus): 代码审查修复和TODO完成
修复硬编码配置:
- 修改日志路径为环境变量:${LOG_PATH:./logs}/${spring.application.name}.log
- 修改 RocketMQ 地址为环境变量:${ROCKETMQ_NAME_SERVER:172.16.46.63:30876}
- 还原 Nacos namespace 从 hwc 到 dev

完成 TODO 功能:
- TODO #1: 实现死信重试逻辑(重新投递消息到 MQ)
- TODO #2: 实现日志重试逻辑(根据事件记录重新推送)
- TODO #3: 实现全量同步触发(创建任务并异步执行)
- TODO #4: 实现事件 ID 查询(通过 eventType 查询事件定义)

涉及文件:
- pom.xml: 还原 Nacos namespace 到 dev
- DatabusSyncDeadLetterServiceImpl: 实现死信重试
- DatabusSyncLogServiceImpl: 实现日志重试
- DatabusSyncSubscriptionServiceImpl: 实现全量同步触发
- DatabusEventPublisherImpl: 实现事件 ID 查询
- application-*.yml/yaml: 修复硬编码配置

Ref: 代码审查报告
2025-12-04 15:49:46 +08:00
hewencai
6ac4a356cd fix(databus): 修复客户端消息处理和防止消息循环
1. 修复消息格式不匹配问题
   - 增量消息:兼容 SyncMessage 格式,从 dataSnapshot 字段反序列化数据
   - 批量消息:添加 getDataType() 方法获取泛型类型,正确转换 JSONObject

2. 防止消息循环
   - 添加 zt.databus.change.producer.enabled 配置项
   - 客户端禁用变更消息发送,避免 客户端写入 → 发送变更 → 循环

3. 修复 Feign 客户端注入
   - 在 RpcConfiguration 中添加 DeptApi、PostApi
   - 确保客户端能通过 Feign 调用本地 system-server API

相关文件:
- DatabusClientConsumer.java: 修复消息解析逻辑
- BatchSyncEventHandler.java: 添加 getDataType() 方法
- DatabusChangeProducer.java: 添加 enabled 开关
- RpcConfiguration.java: 启用 DeptApi/PostApi Feign 客户端

Ref: 修复 ClassCastException 和消息循环问题
2025-12-04 15:49:45 +08:00
hewencai
adf3ec601a feat(databus-client): 完成核心组件及编译验证(任务 89-92)
新增核心组件(任务 89-90):
1. HandlerRegistry.java - Handler 策略注册表
   - 自动注册所有 SyncEventHandler 和 BatchSyncEventHandler
   - 根据 eventType 路由到对应 Handler
   - 提供 getIncrementalHandler/getBatchHandler 方法
   - 支持 hasIncrementalHandler/hasBatchHandler 检查

2. DatabusClientConsumer.java - 统一消费者
   - 监听 databus-sync-{clientCode} Topic(简化版)
   - 根据消息字段判断增量/批量消息
   - 调用 HandlerRegistry 路由到具体 Handler
   - 支持全量同步生命周期回调(onFullSyncStart/onFullSyncComplete)

已存在接口(任务 91-92):
1. SyncEventHandler.java - 增量同步 Handler 接口
2. BatchSyncEventHandler.java - 全量同步 Handler 接口

架构设计:
- 策略模式:通过 HandlerRegistry 动态路由
- Topic 简化:databus-sync-{clientCode}(所有事件共用)
- 消息路由:通过 eventType 字段区分事件类型
- 条件装配:@ConditionalOnProperty 灵活启用/禁用

编译结果: BUILD SUCCESS(30个源文件)

Ref: docs/databus/implementation-checklist.md 任务 89-92
2025-12-04 15:49:44 +08:00
hewencai
8329f9c834 feat(databus-client): 完成岗位 Handler 及编译验证(任务 75-88)
新增文件(任务 75-88):
- PostSyncService.java - 岗位同步服务接口
- PostSyncServiceImpl.java - 岗位同步服务实现(Feign调用)
- SystemPostCreateHandler.java - 岗位创建事件处理器
- SystemPostUpdateHandler.java - 岗位更新事件处理器
- SystemPostDeleteHandler.java - 岗位删除事件处理器
- SystemPostFullHandler.java - 岗位全量同步处理器(批量)

修复问题:
1. 修复 DTO 导入:DeptSaveReqVO → DeptSaveReqDTO, PostSaveReqVO → PostSaveReqDTO
2. 修复注解:@Resource(required=false) → @Autowired(required=false)
3. 修复 PostApi 包路径:com.zt.plat.module.system.api.post → com.zt.plat.module.system.api.dept
4. 修复 DeptSaveReqDTO 字段映射(移除不存在的字段:code, shortName, isCompany, isGroup, deptSource)
5. 修复 AdminUserSaveReqDTO 字段映射:
   - deptIds: List<Long> → Set<Long>
   - postIds: List<Long> → Set<Long>

编译结果: BUILD SUCCESS(28个源文件)

Ref: docs/databus/implementation-checklist.md 任务 75-88
2025-12-04 15:49:43 +08:00
hewencai
bd90ec9d70 feat(databus): 完成阶段四-DataBus Server完整功能
- 补充缺失的 API 类(DatabusMessage、DatabusBatchMessage、DatabusEventType)
- 新增变更消息消费者(3个:部门、用户、岗位)
- 新增数据提供者(3个:部门、用户、岗位)
- 确认分发器服务(核心定向推送逻辑)
- 确认全量同步与消息推送组件
- 确认管理后台 API(5个 Controller)
- 确认 Service ��(4个核心服务)
- 确认 DAL 层(7个 DO + Mapper)
- 添加 databus-server starter 依赖到 pom.xml
- 编译验证通过

Ref: docs/databus/implementation-checklist.md 任务 39-70
2025-12-04 15:49:42 +08:00
hewencai
7067170201 Merge remote-tracking branch 'origin/dev' into dev 2025-12-04 14:07:00 +08:00
hewencai
15580ace8f refactor(databus): 代码审查修复和TODO完成
修复硬编码配置:
- 修改日志路径为环境变量:${LOG_PATH:./logs}/${spring.application.name}.log
- 修改 RocketMQ 地址为环境变量:${ROCKETMQ_NAME_SERVER:172.16.46.63:30876}
- 还原 Nacos namespace 从 hwc 到 dev

完成 TODO 功能:
- TODO #1: 实现死信重试逻辑(重新投递消息到 MQ)
- TODO #2: 实现日志重试逻辑(根据事件记录重新推送)
- TODO #3: 实现全量同步触发(创建任务并异步执行)
- TODO #4: 实现事件 ID 查询(通过 eventType 查询事件定义)

涉及文件:
- pom.xml: 还原 Nacos namespace 到 dev
- DatabusSyncDeadLetterServiceImpl: 实现死信重试
- DatabusSyncLogServiceImpl: 实现日志重试
- DatabusSyncSubscriptionServiceImpl: 实现全量同步触发
- DatabusEventPublisherImpl: 实现事件 ID 查询
- application-*.yml/yaml: 修复硬编码配置

Ref: 代码审查报告
2025-12-03 15:59:59 +08:00
hewencai
62494ced45 fix(databus): 修复客户端消息处理和防止消息循环
1. 修复消息格式不匹配问题
   - 增量消息:兼容 SyncMessage 格式,从 dataSnapshot 字段反序列化数据
   - 批量消息:添加 getDataType() 方法获取泛型类型,正确转换 JSONObject

2. 防止消息循环
   - 添加 zt.databus.change.producer.enabled 配置项
   - 客户端禁用变更消息发送,避免 客户端写入 → 发送变更 → 循环

3. 修复 Feign 客户端注入
   - 在 RpcConfiguration 中添加 DeptApi、PostApi
   - 确保客户端能通过 Feign 调用本地 system-server API

相关文件:
- DatabusClientConsumer.java: 修复消息解析逻辑
- BatchSyncEventHandler.java: 添加 getDataType() 方法
- DatabusChangeProducer.java: 添加 enabled 开关
- RpcConfiguration.java: 启用 DeptApi/PostApi Feign 客户端

Ref: 修复 ClassCastException 和消息循环问题
2025-12-03 11:10:57 +08:00
chenbowen
bef2fc21f9 Merge remote-tracking branch 'base-version/main' into dev 2025-12-02 17:47:36 +08:00
chenbowen
e11065a596 1. 启动默认调度,定时请求 databus api
2. 修复 databus 单元测试
3. 调整 iwork 回调业务编号
2025-12-02 17:45:58 +08:00
chenbowen
4f95272ca8 Merge remote-tracking branch 'base-version/main' into dev
# Conflicts:
#	sql/mysql/ruoyi-vue-pro.sql
2025-12-02 15:10:24 +08:00
chenbowen
ee9bc438b5 1. 剔除外域 url 2025-12-02 14:10:47 +08:00
hewencai
dfca38feb7 feat(databus-client): 完成核心组件及编译验证(任务 89-92)
新增核心组件(任务 89-90):
1. HandlerRegistry.java - Handler 策略注册表
   - 自动注册所有 SyncEventHandler 和 BatchSyncEventHandler
   - 根据 eventType 路由到对应 Handler
   - 提供 getIncrementalHandler/getBatchHandler 方法
   - 支持 hasIncrementalHandler/hasBatchHandler 检查

2. DatabusClientConsumer.java - 统一消费者
   - 监听 databus-sync-{clientCode} Topic(简化版)
   - 根据消息字段判断增量/批量消息
   - 调用 HandlerRegistry 路由到具体 Handler
   - 支持全量同步生命周期回调(onFullSyncStart/onFullSyncComplete)

已存在接口(任务 91-92):
1. SyncEventHandler.java - 增量同步 Handler 接口
2. BatchSyncEventHandler.java - 全量同步 Handler 接口

架构设计:
- 策略模式:通过 HandlerRegistry 动态路由
- Topic 简化:databus-sync-{clientCode}(所有事件共用)
- 消息路由:通过 eventType 字段区分事件类型
- 条件装配:@ConditionalOnProperty 灵活启用/禁用

编译结果: BUILD SUCCESS(30个源文件)

Ref: docs/databus/implementation-checklist.md 任务 89-92
2025-12-02 01:18:46 +08:00
hewencai
63400e0075 feat(databus-client): 完成岗位 Handler 及编译验证(任务 75-88)
新增文件(任务 75-88):
- PostSyncService.java - 岗位同步服务接口
- PostSyncServiceImpl.java - 岗位同步服务实现(Feign调用)
- SystemPostCreateHandler.java - 岗位创建事件处理器
- SystemPostUpdateHandler.java - 岗位更新事件处理器
- SystemPostDeleteHandler.java - 岗位删除事件处理器
- SystemPostFullHandler.java - 岗位全量同步处理器(批量)

修复问题:
1. 修复 DTO 导入:DeptSaveReqVO → DeptSaveReqDTO, PostSaveReqVO → PostSaveReqDTO
2. 修复注解:@Resource(required=false) → @Autowired(required=false)
3. 修复 PostApi 包路径:com.zt.plat.module.system.api.post → com.zt.plat.module.system.api.dept
4. 修复 DeptSaveReqDTO 字段映射(移除不存在的字段:code, shortName, isCompany, isGroup, deptSource)
5. 修复 AdminUserSaveReqDTO 字段映射:
   - deptIds: List<Long> → Set<Long>
   - postIds: List<Long> → Set<Long>

编译结果: BUILD SUCCESS(28个源文件)

Ref: docs/databus/implementation-checklist.md 任务 75-88
2025-12-02 01:07:30 +08:00
hewencai
db13036cea feat(databus): 完成阶段四-DataBus Server完整功能
- 补充缺失的 API 类(DatabusMessage、DatabusBatchMessage、DatabusEventType)
- 新增变更消息消费者(3个:部门、用户、岗位)
- 新增数据提供者(3个:部门、用户、岗位)
- 确认分发器服务(核心定向推送逻辑)
- 确认全量同步与消息推送组件
- 确认管理后台 API(5个 Controller)
- 确认 Service ��(4个核心服务)
- 确认 DAL 层(7个 DO + Mapper)
- 添加 databus-server starter 依赖到 pom.xml
- 编译验证通过

Ref: docs/databus/implementation-checklist.md 任务 39-70
2025-12-01 23:44:32 +08:00
chenbowen
754803b3eb Merge remote-tracking branch 'base-version/main' into dev 2025-12-01 17:52:13 +08:00
chenbowen
95d905e76f 1. 限制记录 api 日志的字段长度
2. 完整记录所有的 databus api 的请求日志
3. 新增 iwork 同步可以按 id 维度进行
4. 新增自动扫描 BusinessBaseDO 的 公司部门数据权限模式
2025-12-01 17:46:42 +08:00
chenbowen
7fae3203bc Merge remote-tracking branch 'base-version/main' into dev
# Conflicts:
#	sql/mysql/ruoyi-vue-pro.sql
#	zt-module-infra/zt-module-infra-api/src/main/java/com/zt/plat/module/infra/api/websocket/WebSocketSenderApi.java
#	zt-module-infra/zt-module-infra-server/src/main/resources/application-dev.yaml
2025-12-01 10:21:34 +08:00
chenbowen
0c22975df0 1. 剔除掉多余的文档以及标记 2025-11-28 18:12:00 +08:00
chenbowen
9b911124e5 Merge remote-tracking branch 'base-version/main' into dev 2025-11-28 16:17:32 +08:00
chenbowen
30bd4810f5 1. 修复自定义 sql 中大写表名无法匹配到 mybatis 中的缓存表信息,导致表被忽略租户的问题 2025-11-28 16:16:49 +08:00
chenbowen
db3afb5b64 Merge remote-tracking branch 'base-version/main' into dev 2025-11-28 11:07:42 +08:00
chenbowen
542466270a 1. 修复自定义 sql 中大写表名无法匹配到 mybatis 中的缓存表信息,导致表被忽略租户的问题
2. 新增 iwork feign api 调用
2025-11-28 11:05:09 +08:00
chenbowen
240a531ee1 Merge remote-tracking branch 'base-version/main' into dev
# Conflicts:
#	zt-module-bpm/zt-module-bpm-server/src/main/java/liquibase/database/core/DmDatabase.java
2025-11-27 16:35:49 +08:00
chenbowen
446b5ca7a4 剔除掉 swagger 不能请求的 rpc-api 2025-11-27 13:48:55 +08:00
chenbowen
256bf22a10 Merge remote-tracking branch 'base-version/main' into dev 2025-11-26 20:12:46 +08:00
chenbowen
06909fafea 当前登录用户新增公司编码与部门编码属性 2025-11-26 20:01:34 +08:00
chenbowen
65f62fddd6 Merge remote-tracking branch 'base-version/main' into dev 2025-11-24 19:19:09 +08:00
chenbowen
65b99740c1 新增 long 集合类型的 string 转换 2025-11-24 19:18:23 +08:00
qianshijiang
6b266e3211 编译报错修改。 2025-11-24 09:49:44 +08:00
chenbowen
14c81350bd Merge remote-tracking branch 'base-version/main' into dev 2025-11-21 17:24:41 +08:00
chenbowen
7e3baeba46 修复 nacos 刷新配置后,ignoreurl 失效的bug 2025-11-21 17:23:36 +08:00
qianshijiang
5374b0567b 封装树形数据操作工具类 2025-11-20 15:09:08 +08:00
chenbowen
633e430f46 1. 新增分页接口聚合查询注解支持
2. 优化 databus api 日志记录的字段缺失问题
3. 新增 eplat sso 页面登录校验
4. 用户、部门编辑新增 seata 事务支持
5. 新增 iwork 流程发起接口
6. 新增 eban 同步用户时的岗位处理逻辑
7. 新增无 skywalking 时的 traceId 支持
2025-11-18 10:59:29 +08:00
chenbowen
266eb45e00 1. 新增分页接口聚合查询注解支持
2. 优化 databus api 日志记录的字段缺失问题
3. 新增 eplat sso 页面登录校验
4. 用户、部门编辑新增 seata 事务支持
5. 新增 iwork 流程发起接口
6. 新增 eban 同步用户时的岗位处理逻辑
7. 新增无 skywalking 时的 traceId 支持
2025-11-18 10:03:34 +08:00
chenbowen
53a0293b7c Merge remote-tracking branch 'base-version/main' into dev 2025-11-13 21:40:08 +08:00
chenbowen
af7f103a38 调整后台返回部门id与公司id类型为 string 2025-11-13 21:39:27 +08:00
chenbowen
71e63519ae 调整后台返回部门id与公司id类型为 string 2025-11-13 21:10:38 +08:00