Commit Graph

654 Commits

Author SHA1 Message Date
chenbowen
b368a4e6d5 Merge branch 'dev' into test 2025-12-05 09:05:08 +08:00
chenbowen
a361dbaaba Merge remote-tracking branch 'base-version/main' into dev 2025-12-05 09:04:46 +08:00
chenbowen
52a0109960 临时关闭签名校验 2025-12-05 09:04:02 +08:00
chenbowen
4f8a2f2e2d Merge branch 'dev' into test 2025-12-04 19:24:06 +08:00
chenbowen
ce2119002c Merge remote-tracking branch 'base-version/main' into dev 2025-12-04 19:23:27 +08:00
chenbowen
a0b51edd9b 调整密码输入不校验长度 2025-12-04 19:22:41 +08:00
hewencai
25978ad4b9 fix:还原databus端口配置 2025-12-04 15:49:46 +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
e093157bb5 fix(databus): 修改变更消息开关默认值为 false,安全优先
- 修改 DatabusChangeProducer.enabled 默认值从 true 改为 false
- 避免未配置时导致消息循环,安全优先原则
- 集团侧(数据源)必须显式配置 enabled=true 才能发送变更消息
- 客户端(分公司)保持默认 false 或不配置,禁用变更消息

配置说明:
- 默认值:false(安全)
- 集团侧:application-dev.yaml 中显式设置 enabled=true
- 客户端:不配置或设置 enabled=false

Ref: 防止未配置导致项目异常
2025-12-04 15:49:45 +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
94ab320fa8 feat(system-server): 添加 DataBus MapStruct 数据转换器
- 新增 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
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
acdc73999a feat(databus): 完成阶段一+二-数据契约层与数据提供者
阶段一:数据契约层(任务 1-16)
- 新增 DatabusDeptData, DatabusAdminUserData, DatabusPostData 数据对象
- 新增 CursorPageReqDTO, CursorPageResult 游标分页 DTO
- 新增 DatabusDeptProviderApi, DatabusUserProviderApi, DatabusPostProviderApi Feign 接口
- 修改 system-api pom.xml 添加 databus-api 依赖

阶段二:数据提供者实现(任务 17-38)
- 新增 DatabusDeptProviderApiImpl, DatabusUserProviderApiImpl, DatabusPostProviderApiImpl Feign 接口实现
- 实现游标分页查询(基于 cursorTime + cursorId 复合游标)
- 新增 DatabusDeptChangeMessage, DatabusUserChangeMessage, DatabusPostChangeMessage MQ 消息类
- 新增 DatabusChangeProducer 消息生产者(支持部门、用户、岗位三实体)
- 修改 DeptServiceImpl, AdminUserServiceImpl, PostServiceImpl 添加事件发布

技术要点:
- 游标分页:cursorTime + cursorId 复合游标解决雪花ID乱序问题
- 事件发布:create/update/delete 操作后异步发送 MQ 消息
- 数据聚合:用户数据包含部门和岗位简要信息

Ref: docs/databus/implementation-checklist.md 任务 1-38
2025-12-04 15:49:41 +08:00
chenbowen
6f665a3681 Merge branch 'dev' into test 2025-12-04 15:08:36 +08:00
chenbowen
7694d38cd7 Merge remote-tracking branch 'base-version/main' into dev 2025-12-04 15:08:18 +08:00
chenbowen
50259f514f 限制部门与用户的全量查询 2025-12-04 15:07:53 +08:00
wencai he
35be7d03f9 Merge branch 'dev' into 'test'
fix:还原databus端口配置

See merge request jygk/dsc!5
2025-12-04 06:42:31 +00:00
hewencai
9cfe8c4dc7 fix:还原databus端口配置 2025-12-04 14:41:59 +08:00
wencai he
71c523bbe8 Merge branch 'dev' into 'test'
feat(databus): 完成阶段一+二-数据契约层与数据提供者

See merge request jygk/dsc!4
2025-12-04 06:13:11 +00:00
hewencai
7067170201 Merge remote-tracking branch 'origin/dev' into dev 2025-12-04 14:07:00 +08:00
chenbowen
2b8e036c1b 新增 databus 配置 2025-12-04 10:18:36 +08:00
chenbowen
d657f80839 Merge branch 'dev' into test 2025-12-04 09:42:57 +08:00
chenbowen
ea569a66ab Merge remote-tracking branch 'base-version/main' into dev 2025-12-04 09:42:29 +08:00
chenbowen
a7a2de77d8 1. 修复空删除下的 sql 语法错误提示 2025-12-04 09:40:33 +08:00
chenbowen
106f3b48b3 Merge branch 'dev' into test 2025-12-03 18:49:52 +08:00
chenbowen
d4ade11b44 新增 template 模块的部署 2025-12-03 18:49:36 +08:00
chenbowen
54b195f284 Merge branch 'dev' into test
# Conflicts:
#	zt-module-template/zt-module-template-server/Dockerfile
2025-12-03 18:02:24 +08:00
chenbowen
d9f0ef83c7 Merge remote-tracking branch 'base-version/main' into dev
# Conflicts:
#	zt-gateway/Dockerfile
#	zt-module-ai/zt-module-ai-server/Dockerfile
#	zt-module-bpm/zt-module-bpm-server/Dockerfile
#	zt-module-infra/zt-module-infra-server/Dockerfile
#	zt-module-mp/zt-module-mp-server/Dockerfile
#	zt-module-report/zt-module-report-server/Dockerfile
#	zt-module-system/zt-module-system-server/Dockerfile
#	zt-module-template/zt-module-template-server/Dockerfile
#	zt-server/Dockerfile
2025-12-03 18:01:51 +08:00
chenbowen
69bcd6697b 提升相关服务的 xmx 至 1024mb 2025-12-03 17:59:56 +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
aef63f0055 fix(databus): 修改变更消息开关默认值为 false,安全优先
- 修改 DatabusChangeProducer.enabled 默认值从 true 改为 false
- 避免未配置时导致消息循环,安全优先原则
- 集团侧(数据源)必须显式配置 enabled=true 才能发送变更消息
- 客户端(分公司)保持默认 false 或不配置,禁用变更消息

配置说明:
- 默认值:false(安全)
- 集团侧:application-dev.yaml 中显式设置 enabled=true
- 客户端:不配置或设置 enabled=false

Ref: 防止未配置导致项目异常
2025-12-03 14:15:46 +08:00
chenbowen
842155bfbd 1. iwork 回调接口不带租户与认证限制,支持通过业务编号查询业务附件信息 2025-12-03 12:09:14 +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
45140c7f5a 1. 调整 databus 模块写入日志的时机,解决获取不到租户的问题 2025-12-03 09:51:43 +08:00
chenbowen
91fdea9526 恢复 template 模块的部署 2025-12-02 18:53:46 +08:00
chenbowen
3f4a8eada8 恢复 template 模块的部署 2025-12-02 18:41:25 +08:00
chenbowen
6eda833c55 Merge branch 'dev' into test 2025-12-02 17:49:15 +08:00
chenbowen
0846e4a56a 新增 template 模块的部署 2025-12-02 17:48:59 +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
8d1a6ed045 Merge branch 'dev' into test 2025-12-02 16:21:50 +08:00
chenbowen
39dcf82ea2 Merge remote-tracking branch 'base-version/main' into dev 2025-12-02 16:21:34 +08:00
chenbowen
2e0b0a5e83 1. 默认关闭 databus 模块线程池 2025-12-02 16:19:40 +08:00
chenbowen
97abbd1db2 Merge branch 'dev' into test 2025-12-02 15:11:41 +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
b7ad25e91c 1. 清理 iwork 同步的旧逻辑 2025-12-02 15:08:47 +08:00
chenbowen
ee9bc438b5 1. 剔除外域 url 2025-12-02 14:10:47 +08:00
chenbowen
ecf1b5f1e7 Merge branch 'dev' into test 2025-12-02 11:16:57 +08:00