Compare commits

...

98 Commits

Author SHA1 Message Date
chenbowen
d8b2c4d7b1 Merge branch 'dev' into test 2025-12-08 19:01:17 +08:00
chenbowen
7a1cbabcad Merge remote-tracking branch 'base-version/main' into dev 2025-12-08 19:00:52 +08:00
chenbowen
91c0cbc5d7 1. 新增 OA Token 获取与校验接口,更新相关配置
2. 设置组织可以设置为顶层组织
2025-12-08 18:56:06 +08:00
chenbowen
30b5db0617 发布时,网关不在同步进行发布 2025-12-08 09:34:46 +08:00
chenbowen
efd1e8a19e Merge branch 'dev' into test 2025-12-08 09:17:24 +08:00
chenbowen
d053d1396a Merge remote-tracking branch 'base-version/main' into dev 2025-12-08 09:17:11 +08:00
chenbowen
8ea3757105 定时调度请求 databus 的时间调整为 25 分钟一次 2025-12-08 09:16:31 +08:00
chenbowen
7bef916e95 Merge branch 'dev' into test 2025-12-05 18:18:21 +08:00
chenbowen
35bb96b701 Merge remote-tracking branch 'base-version/main' into dev 2025-12-05 18:18:06 +08:00
chenbowen
66a43c74f2 1. 精简 iwork 相关的集成配置与接口 2025-12-05 18:16:23 +08:00
chenbowen
7d8e4f2e67 Merge branch 'dev' into test 2025-12-05 18:13:19 +08:00
chenbowen
89ceac450e Merge remote-tracking branch 'base-version/main' into dev 2025-12-05 18:12:54 +08:00
hewencai
8b7e7da6c2 update:增加门户管理允许匿名访问 2025-12-05 18:12:13 +08:00
wencai he
1c17c6539b Merge branch 'dev' into 'test'
update:增加门户管理允许匿名访问

See merge request jygk/dsc!7
2025-12-05 07:48:18 +00:00
hewencai
2715799922 update:增加门户管理允许匿名访问 2025-12-05 15:46:38 +08:00
chenbowen
d1a85c7653 新增定时调度携带具体 IP 2025-12-05 15:33:29 +08:00
wencai he
ee7b974c1a Merge branch 'dev' into 'test'
update:增加门户管理允许匿名访问

See merge request jygk/dsc!6
2025-12-05 07:25:06 +00:00
hewencai
9199e6e5aa update:增加门户管理允许匿名访问
(cherry picked from commit ba737a6a28)
2025-12-05 15:23:10 +08:00
hewencai
ba737a6a28 update:增加门户管理允许匿名访问 2025-12-05 15:19:40 +08:00
hewencai
774734033c Merge remote-tracking branch 'ztcloud/main' into main-ztcloud 2025-12-05 12:20:54 +08:00
hewencai
b11ffb4782 修改门户管理图片显示逻辑 2025-12-05 12:20:25 +08:00
hewencai
5e24c5a509 feat:新增门户管理功能 2025-12-05 12:20:24 +08:00
hewencai
427c0bd6b1 add:增加seata和doc4j依赖 2025-12-05 12:20:21 +08:00
chenbowen
5915f652ed Merge branch 'dev' into test 2025-12-05 11:54:06 +08:00
chenbowen
5ce3724798 Merge remote-tracking branch 'base-version/main' into dev 2025-12-05 11:53:50 +08:00
chenbowen
d2e4c593c8 新增公司部门切换菜单权限 2025-12-05 11:53:11 +08:00
chenbowen
f4211f0011 新增公司部门切换菜单权限 2025-12-05 11:52:58 +08:00
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
chenbowen
e2c3702ae5 Merge remote-tracking branch 'base-version/main' into dev 2025-12-02 11:16:34 +08:00
chenbowen
a689a3ffe4 1. 修复用户信息未同步人力资源编号的问题 2025-12-02 11:13:33 +08:00
chenbowen
22403592cc Merge branch 'dev' into test 2025-12-02 09:04:22 +08:00
chenbowen
d07ff36ace Merge remote-tracking branch 'base-version/main' into dev 2025-12-02 09:04:08 +08:00
chenbowen
55dd8df69c 1. 修复 iwork 请求错误未记录具体的错误信息问题 2025-12-02 09:03:26 +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
01c4aa4301 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-02 00:23:09 +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
hewencai
f5ba493f95 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-01 22:25:28 +08:00
chenbowen
aa2fda8f62 Merge branch 'dev' into test 2025-12-01 17:52:33 +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
fc0428e7b5 Merge branch 'dev' into test 2025-12-01 10:21:55 +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
e9542acd27 不限制租户用户数量 2025-12-01 10:20:21 +08:00
chenbowen
6ab387cba0 新增 iwork 附件回调接口 2025-11-28 18:47:21 +08:00
chenbowen
0c22975df0 1. 剔除掉多余的文档以及标记 2025-11-28 18:12:00 +08:00
chenbowen
e26bf8f11d Merge branch 'dev' into test 2025-11-28 16:17:50 +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
680 changed files with 14729 additions and 1651423 deletions

View File

@@ -282,7 +282,7 @@
| [Spring MVC](https://github.com/spring-projects/spring-framework/tree/master/spring-webmvc) | MVC 框架 | 6.1.10 | [文档](http://www.iocoder.cn/SpringMVC/MVC/?zt) |
| [Spring Security](https://github.com/spring-projects/spring-security) | Spring 安全框架 | 6.3.1 | [文档](http://www.iocoder.cn/Spring-Boot/Spring-Security/?zt) |
| [Hibernate Validator](https://github.com/hibernate/hibernate-validator) | 参数校验组件 | 8.0.1 | [文档](http://www.iocoder.cn/Spring-Boot/Validation/?zt) |
| [Flowable](https://github.com/flowable/flowable-engine) | 工作流引擎 | 7.0.0 | [文档](https://doc.iocoder.cn/bpm/) |
| [Flowable](https://github.com/flowable/flowable-engine) | 工作流引擎 | 7.0.0 | [文档](http://172.16.46.63:30888/bpm/) |
| [Knife4j](https://gitee.com/xiaoym/knife4j) | Swagger 增强 UI 实现 | 4.5.0 | [文档](http://www.iocoder.cn/Spring-Boot/Swagger/?zt) |
| [SkyWalking](https://skywalking.apache.org/) | 分布式应用追踪系统 | 9.0.0 | [文档](http://www.iocoder.cn/Spring-Boot/SkyWalking/?zt) |
| [Spring Boot Admin](https://github.com/codecentric/spring-boot-admin) | Spring Boot 监控平台 | 3.6.1 | [文档](http://www.iocoder.cn/Spring-Boot/Admin/?zt) |

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -104,10 +104,15 @@ databus:
nonce-ttl-seconds: 600
require-body-encryption: true
encrypt-response: true
gateway:
web-client:
connection-pool-enabled: true # 默认启用 Reactor Netty 连接池,可在排查连接复用/长连接异常时设为 false
```
> `GatewaySecurityFilter` 会自动注册到最高优先级 +10确保该路径的请求先经过安全校验。
关闭连接池后,每次 HTTP Step 请求都会新建 TCP 连接,适合短期定位“连接被复用导致 Reset/超时”的场景,但会带来额外的握手开销;切换时可关注启动日志中的 `Databus gateway WebClient pooling` 提示。
## 8. 第三方调用流程详解
### 8.1 前置准备
@@ -135,7 +140,7 @@ databus:
#### 签名字段示例
```
```text
appId=demo-app
&body={"orderNo":"SO20251120001"}
&nonce=0c5e2df9a1

11
pom.xml
View File

@@ -20,7 +20,7 @@
<module>zt-module-report</module>
<!--<module>zt-module-mp</module>-->
<!-- <module>zt-module-ai</module>-->
<!-- <module>zt-module-template</module>-->
<module>zt-module-template</module>
<!-- <module>zt-module-iot</module>-->
<module>zt-module-databus</module>
<!-- <module>zt-module-rule</module>-->
@@ -28,7 +28,7 @@
</modules>
<name>${project.artifactId}</name>
<description>芋道项目基础脚手架</description>
<description>ZT项目基础脚手架</description>
<url>https://github.com/YunaiV/ruoyi-vue-pro</url>
<properties>
@@ -271,7 +271,14 @@
<profile>
<id>chenbowen</id>
<properties>
<env.name>local</env.name>
<!-- <config.server-addr>localhost:8848</config.server-addr>-->
<config.server-addr>172.16.46.63:30848</config.server-addr>
<config.namespace>chenbowen</config.namespace>
<config.group>DEFAULT_GROUP</config.group>
<config.username>nacos</config.username>
<config.password>P@ssword25</config.password>
<config.version>1.0.0</config.version>
</properties>
</profile>
<profile>

View File

@@ -1,3 +0,0 @@
暂未适配 IBM DB2 数据库,如果你有需要,可以微信联系 wangwenbin-server 一起建设。
你需要把表结构与数据导入到 DM 数据库,我来测试与适配代码。

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,18 @@
-- 达梦 8 增量脚本:工具栏公司/部门切换权限点
-- 请在执行前确认 system_menu 表中尚不存在相同 ID 或 permission 的记录
INSERT INTO system_menu (id, name, permission, type, sort, parent_id, path, icon, component, component_name, status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted)
SELECT 5013, '公司切换', 'system:company:visit', 3, 100, 103, '', '', '', '', 0, '1', '1', '1', '1', SYSDATE, '1', SYSDATE, '0'
FROM dual
WHERE NOT EXISTS (
SELECT 1 FROM system_menu
WHERE id = 5013 OR permission = 'system:company:visit'
);
INSERT INTO system_menu (id, name, permission, type, sort, parent_id, path, icon, component, component_name, status, visible, keep_alive, always_show, creator, create_time, updater, update_time, deleted)
SELECT 5014, '部门切换', 'system:dept:visit', 3, 101, 103, '', '', '', '', 0, '1', '1', '1', '1', SYSDATE, '1', SYSDATE, '0'
FROM dual
WHERE NOT EXISTS (
SELECT 1 FROM system_menu
WHERE id = 5014 OR permission = 'system:dept:visit'
);

View File

@@ -0,0 +1,8 @@
-- 达梦8数据库 DDL 脚本
-- 为 system_users 表添加 workcode 字段(工号)
-- 添加工号字段
ALTER TABLE system_users ADD COLUMN workcode VARCHAR(64);
-- 添加字段注释
COMMENT ON COLUMN system_users.workcode IS '工号';

Some files were not shown because too many files have changed in this diff Show More