Commit Graph

66 Commits

Author SHA1 Message Date
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
chenbowen
2eb09ff35d Merge remote-tracking branch 'base-version/main' into dev 2025-11-13 18:45:11 +08:00
chenbowen
c1f12dfe5e 1. 修复 userinfo 过多导致的用户登录失败错误 2025-11-13 18:44:28 +08:00
qianshijiang
d9fa921fda 添加异步任务工具类 2025-11-13 14:59:11 +08:00
chenbowen
8423775582 Merge remote-tracking branch 'base-version/main' into dev 2025-11-11 17:15:55 +08:00
chenbowen
aa159638b9 1. 只要标记了业务接口,就需要全量的拦截,不再区分 url 2025-11-11 17:14:31 +08:00
chenbowen
e6fe57533e Merge remote-tracking branch 'base-version/main' into dev 2025-11-03 14:21:25 +08:00
chenbowen
b98f605dfd 1. 优化 bpm 流程中所有关于用户选择,部门选择的组件
2. 优化 api 调试提示,优化 api 调用因为链接复用导致的链接被拒绝问题
3. 新增字典数据导入功能
2025-11-03 14:20:13 +08:00
chenbowen
005e119ffb Merge remote-tracking branch 'base-version/main' into dev 2025-10-31 09:29:56 +08:00
chenbowen
ddee4da72a 1. 新增 api 调用日志记录,历史版本回滚
2. 新增用户角色权限监督功能
2025-10-31 09:28:59 +08:00
qianshijiang
c05fd40a06 添加异步任务工具类 2025-10-29 17:29:23 +08:00
qianshijiang
6f62c54f7a 添加异步任务工具类 2025-10-29 16:42:06 +08:00
chenbowen
529f328dd7 Merge remote-tracking branch 'base-version/main' into dev 2025-10-29 09:00:57 +08:00
chenbowen
04597fad6c 1. 统一网关未命中缓存时,进行兜底查询
2. loginUser 新增 mobile username 作为 userInfo 扩展内容
2025-10-28 17:32:42 +08:00
chenbowen
f72835c608 Merge remote-tracking branch 'base-version/main' into dev
# Conflicts:
#	zt-module-system/zt-module-system-server/src/main/java/com/zt/plat/module/system/controller/admin/tenant/vo/tenant/TenantSaveReqVO.java
2025-10-24 17:05:16 +08:00
chenbowen
6e4cc4d55e 1. 修复界面bug
2. 新增 api 可配置匿名访问固定用户配置
3. 新增密码弱口令校验规则
4. e 办使用 loginName 确认唯一用户逻辑
2025-10-24 17:02:10 +08:00
chenbowen
fd5d44d413 Merge remote-tracking branch 'base-version/main' into dev 2025-10-17 17:45:33 +08:00
chenbowen
78bc88b7a6 1. 新增外部系统编码部门编码关联管理
2. 新增统一的 api 对外门户管理
3. 修正各个模块的 api 命名
2025-10-17 17:40:46 +08:00