mirror of
http://git.pig4cloud.com/pig/pigx.git
synced 2026-11-08 20:49:00 +08:00
docs: 删除过期的分支合并设计文档
- 移除 2026-03-08-merge-aiflow-branch-design.md 文件 - 移除 2026-03-08-merge-aiflow-non-ai-plan.md 文件 - 清理不再使用的分支合并计划和实施方案
This commit is contained in:
1 parent
40977fbc56
commit
e646321d15
2 files changed
-953
No files matched your search
@@ -1,179 +0,0 @@
|
||||
# aiflow-params-refactor-backend 分支合并到 dev 分支设计方案
|
||||
|
||||
## 背景
|
||||
|
||||
将 `aiflow-params-refactor-backend` 分支自 2026-01-01 至 2026-03-08 的非 AI 功能合并到 `dev` 分支。
|
||||
|
||||
## 核心约束
|
||||
|
||||
**排除所有 AI 相关代码**,具体排除路径:
|
||||
- `pigx-aigc/` (AI 模块)
|
||||
- `pigx-knowledge/` (旧 AI 模块)
|
||||
- `pigx-common/pigx-common-milvus/` (Milvus 向量库)
|
||||
- `pigx-common/pigx-common-seekdb/` (SeekDB 向量库)
|
||||
- `pigx-common/pigx-common-mcp/` (MCP 协议)
|
||||
- `pigx-common/pigx-common-neo4j/` (Neo4j 图库)
|
||||
- `db/9pigxx_ai.sql` (AI 专属 SQL)
|
||||
- `db/ai_skills.sql` (AI 技能 SQL)
|
||||
|
||||
**保留合并**的模块:`pigx-common-sse` (通用 SSE 模块)
|
||||
|
||||
## 提交分类汇总
|
||||
|
||||
| 类别 | 数量 | 处理方式 |
|
||||
|------|------|---------|
|
||||
| 可直接 cherry-pick | 45 | 按时间顺序逐个合并 |
|
||||
| 跨模块需部分合并 | 22 | cherry-pick --no-commit + 排除 AI 文件 |
|
||||
| 完全排除 | 45 | 不合并 |
|
||||
|
||||
## 合并策略:三阶段 Cherry-pick
|
||||
|
||||
### 阶段一:直接 cherry-pick 纯非 AI 提交 (45 个)
|
||||
|
||||
按时间从旧到新依次 cherry-pick:
|
||||
|
||||
```
|
||||
7b7aab886 fix(ai-prompt): 跳过外部 AI 注册短信验证 (注意:虽然涉及 ai 但文件在 upms)
|
||||
dce71af84 fix(ai-register-user): 跳过外部 AI 注册短信验证
|
||||
462335246 feat(i18n): set default locale to China for message sources
|
||||
de04594c4 feat(pigx-upms-biz): 增强区域树查询功能
|
||||
9db9ff1d1 feat(pigx-upms-api): 为 SysDictItem 添加 listClass 字段
|
||||
2f112a4a3 fix: 修复 sys_dict_item 表数据中新增的 NULL 字段
|
||||
339062b24 fix(pigx-common-datasource): 修正动态数据源查询中的 del_flag 参数值
|
||||
7711b26b9 fix(pigx-common-datasource): 修正动态数据源查询中的 del_flag 参数值
|
||||
eed66c0aa fix(pigx-common-security): 修复用户密码修改时间处理逻辑
|
||||
f6abe9852 feat(upms): 重构连接器导入功能,支持钉钉和企业微信Excel导入
|
||||
b3b392a05 fix(pigx-common-security): 添加token过期错误提示
|
||||
27895cb73 fix(pigx-common-bom): 更新MyBatis-Plus版本至3.5.16
|
||||
e2ccea22b fix(pigx-common-core): #7229 登录时租户上下文菜单查询错误
|
||||
7b4f672c4 fix(pigx-common-bom): 更新依赖版本
|
||||
a5f2a28fd fix: 修复当不同租户appid重复时导致的mpservice初始化失败
|
||||
792bd6c44 feat(pigx-mp-platform): 重构 WxMpInitConfigRunner 类
|
||||
ae6e80d55 fix: 更新 spring-boot 版本至 3.5.10,修正 spring-boot-admin 版本至 3.5.7
|
||||
cca898141 feat(pigx-knowledge): 移除知识库路由配置 (仅改 db/2pigxx.sql)
|
||||
63a1bc0fd fix(pigx-upms-biz): 修复租户用户移除时的租户切换问题
|
||||
553a5fd9d feat(pigx-boot): 在 Dockerfile 中添加中文字体支持
|
||||
45eeadf0d feat(pigx-upms-api): 新增站内消息/公告发送功能
|
||||
d95348df5 feat(pigx-common-core): 增强Web配置支持异步任务处理
|
||||
c28670b68 feat(pigx-flow-biz): 条件表达式新增角色和岗位选择器条件处理功能
|
||||
2f8c6e37c feat(pigx-flow-api): 新增流程状态事件发布订阅机制
|
||||
7e55cdf39 feat(pigx-common-core): 优化WebCommonConfiguration配置类
|
||||
00494dd23 feat(pigx-flow-api): 新增流程状态事件注册与校验功能
|
||||
096b092c8 feat(WebCommonConfiguration): 更新异步任务执行器配置
|
||||
6947407d3 refactor(pigx-common-core): 重命名异步任务执行器方法
|
||||
d1a334aa3 fix(codegen): 修复生成模板导出参数的queryForm污染
|
||||
b2f8b60f0 refactor(pigx-upms-biz): 简化文件上传逻辑
|
||||
65c0842a4 refactor: 升级 Spring Boot 版本至 3.5.11
|
||||
babe57f1e feat(pigx-flow-api): 为 BizFlowBaseDto 添加 ExcelIgnore 注解
|
||||
9d9d3294e feat(pigx-boot): 添加可选模块依赖支持
|
||||
4f237a926 feat: 优化文件上传配置,统一使用 undertow 服务器设置
|
||||
0737e2943 feat(pigx-flow-biz): 扩展抄送任务支持角色和岗位类型
|
||||
f2903a89f feat(pigx-codegen): 优化数据源密码更新逻辑
|
||||
21c83813f feat(pigx-flow-biz): 优化流程创建逻辑
|
||||
628c50b2a feat(pigx-flow-api): 新增延时器节点支持
|
||||
8553a1f5c feat(pigx-flow-biz): 实现触发器节点功能
|
||||
07ad3ff51 feat(pigx-flow-biz): 实现触发器节点功能
|
||||
480ae63a8 feat(pigx-flow-biz): 新增流程打印模板功能
|
||||
29ea56eee feat(pigx-boot): 优化模块依赖配置 1.12.1
|
||||
7d1cac266 feat(pigx-flow-biz): 优化任务服务参数传递
|
||||
b61f13d61 feat(pigx-flow-biz): 增加触发器异常终止处理
|
||||
```
|
||||
|
||||
### 阶段二:处理跨模块提交 (22 个)
|
||||
|
||||
对每个提交执行:
|
||||
```bash
|
||||
git cherry-pick --no-commit <hash>
|
||||
git reset HEAD -- pigx-aigc/ pigx-knowledge/ \
|
||||
pigx-common/pigx-common-milvus/ pigx-common/pigx-common-seekdb/ \
|
||||
pigx-common/pigx-common-mcp/ pigx-common/pigx-common-neo4j/ \
|
||||
db/9pigxx_ai.sql db/ai_skills.sql
|
||||
git checkout -- pigx-aigc/ pigx-knowledge/ \
|
||||
pigx-common/pigx-common-milvus/ pigx-common/pigx-common-seekdb/ \
|
||||
pigx-common/pigx-common-mcp/ pigx-common/pigx-common-neo4j/ \
|
||||
db/9pigxx_ai.sql db/ai_skills.sql
|
||||
git commit -m "原始提交信息"
|
||||
```
|
||||
|
||||
#### 高风险提交 (手动处理)
|
||||
|
||||
以下提交非 AI 部分极少,建议手动 checkout 单文件而非 cherry-pick:
|
||||
|
||||
1. **`b63758c9f`** feat(aigc): 添加 AIGC 服务常量
|
||||
- 仅需: `pigx-common/pigx-common-core/.../ServiceNameConstants.java`
|
||||
|
||||
2. **`051f319ff`** refactor(aigc): rename pigx-knowledge to pigx-aigc
|
||||
- 仅需: `docs/plans/` 文档和少量构建配置
|
||||
|
||||
3. **`60b4aca0f`** feat: Enhance tenant context handling
|
||||
- 仅需: `db/0pigxx_boot.sql`, `pigx-boot/pom.xml`
|
||||
|
||||
4. **`799188b31`** chore: upgrade version to 5.12.0
|
||||
- 全量 pom.xml 版本升级,需手动排除 AI 模块 pom
|
||||
|
||||
#### 普通跨模块提交
|
||||
|
||||
以下提交大部分变更在 AI 模块中,非 AI 部分主要是 `db/0pigxx_boot.sql`:
|
||||
|
||||
| Commit | 描述 | 需保留的非 AI 文件 |
|
||||
|--------|------|-------------------|
|
||||
| `05486d814` | 重构MCP聊天规则 | `db/0pigxx_boot.sql` |
|
||||
| `19b3e3ba3` | PaddleOCR 异步解析 | `SysTenantServiceImpl.java` |
|
||||
| `021139e55` | AI Skills 数据库表 | `db/0pigxx_boot.sql` |
|
||||
| `a1225ed2c` | 调整AI菜单结构 | `db/0pigxx_boot.sql` |
|
||||
| `6d240904a` | embedding 调用记录 | `db/0pigxx_boot.sql` |
|
||||
| `eb3a334cb` | PgVector 依赖升级 | `pom.xml` (根) |
|
||||
| `4f45c986d` | 移除模型代码 | `db/0pigxx_boot.sql` |
|
||||
| `a25144a79` | AI代码评审功能 | `db/0pigxx_boot.sql` |
|
||||
| `2bb41b75f` | 向量库默认配置 | `.gitignore`, `db/0pigxx_boot.sql`, `application-dev.yml` |
|
||||
| `32544acd0` | SeekDB 重构 | `db/0pigxx_boot.sql`, `application-dev.yml` |
|
||||
| `2e965fd55` | seekdb 混合搜索 | `db/0pigxx_boot.sql`, `pigx-common-bom/pom.xml` |
|
||||
| `c9842d0c9` | AI海报默认模板 | `db/0pigxx_boot.sql` |
|
||||
| `01a501165` | 海报二维码上传 | `db/0pigxx_boot.sql` |
|
||||
| `8aaacc73b` | 信息图生成功能 | `db/0pigxx_boot.sql` |
|
||||
| `40b9e3df1` | 视觉分析更新 | `db/0pigxx_boot.sql` |
|
||||
| `d34cfbd1b` | knowledge 拆分 | 需确认非 AI 文件 |
|
||||
| `5647dc701` | 智能巡检 | 需确认非 AI 文件 |
|
||||
| `0a091418b` | 文档解析配置 | 需确认非 AI 文件 |
|
||||
|
||||
### 阶段三:验证和清理
|
||||
|
||||
1. **编译验证**
|
||||
```bash
|
||||
mvn -T 1C clean compile -DskipTests -pl '!pigx-aigc'
|
||||
```
|
||||
|
||||
2. **依赖检查**
|
||||
- 确认 pom.xml 无对 pigx-aigc 的引用
|
||||
- 确认无 import 引用 `com.pig4cloud.pigx.aigc` 包
|
||||
|
||||
3. **数据库脚本审查**
|
||||
- `db/0pigxx_boot.sql` 中 AI 相关菜单项需人工确认
|
||||
|
||||
## 涉及的模块和主要功能
|
||||
|
||||
### 非 AI 功能总览 (合并目标)
|
||||
|
||||
| 模块 | 主要功能 |
|
||||
|------|---------|
|
||||
| **pigx-flow** | 触发器节点、延时器节点、打印模板、流程状态事件、条件表达式增强 |
|
||||
| **pigx-upms** | 站内消息/公告、连接器导入(钉钉/企微)、区域树增强、SysDictItem listClass |
|
||||
| **pigx-common-core** | WebCommonConfiguration、异步任务执行器、MessageSource、SecurityConstants |
|
||||
| **pigx-common-bom** | MyBatis-Plus 3.5.16、Spring Boot 3.5.11 升级 |
|
||||
| **pigx-common-security** | token 过期提示、密码修改时间修复 |
|
||||
| **pigx-common-datasource** | del_flag 参数修复 |
|
||||
| **pigx-common-sse** | Redis 分发配置优化 |
|
||||
| **pigx-visual/codegen** | 数据源密码更新、模板导出修复、AI扩展Controller |
|
||||
| **pigx-boot** | Dockerfile 字体支持、模块依赖优化 |
|
||||
| **pigx-app-server** | App 功能增强 |
|
||||
| **pigx-mp-platform** | 微信公众号配置重构 |
|
||||
| **pigx-auth/gateway/register** | 认证和网关更新 |
|
||||
| **db/** | 非 AI 数据库表结构更新 |
|
||||
| **根 pom.xml** | Spring Boot 3.5.11、版本管理更新 |
|
||||
|
||||
## 风险和注意事项
|
||||
|
||||
1. **db/0pigxx_boot.sql 混合内容**: 该文件同时包含 AI 和非 AI 表的变更,需人工审查每次合并
|
||||
2. **版本升级提交 (799188b31)**: 涉及几乎所有 pom.xml,需逐一排除 AI 模块
|
||||
3. **编译依赖**: 某些非 AI 代码可能间接引用了 AI 模块的类型,需编译验证
|
||||
4. **pigx-boot 模块**: 作为单体模式入口,其 pom.xml 中可能引用了 AI 模块依赖
|
||||
@@ -1,774 +0,0 @@
|
||||
# 合并 aiflow-params-refactor-backend 非 AI 代码到 dev 分支 — 实施计划
|
||||
|
||||
> **For Claude:** REQUIRED SUB-SKILL: Use superpowers:executing-plans to implement this plan task-by-task.
|
||||
|
||||
**Goal:** 将 `aiflow-params-refactor-backend` 分支 2026-01-01 至 2026-03-08 期间的非 AI 功能代码合并到 `dev` 分支
|
||||
|
||||
**Architecture:** 三阶段 cherry-pick 策略。阶段一批量合并 45 个纯非 AI 提交;阶段二对 22 个跨模块提交进行选择性文件提取;阶段三编译验证和清理。
|
||||
|
||||
**Tech Stack:** Git, Maven, Spring Boot 3.5.11
|
||||
|
||||
---
|
||||
|
||||
## AI 排除路径清单 (全局引用)
|
||||
|
||||
以下路径在所有 cherry-pick 操作中必须排除:
|
||||
|
||||
```
|
||||
pigx-aigc/
|
||||
pigx-knowledge/
|
||||
pigx-common/pigx-common-milvus/
|
||||
pigx-common/pigx-common-seekdb/
|
||||
pigx-common/pigx-common-mcp/
|
||||
pigx-common/pigx-common-neo4j/
|
||||
db/9pigxx_ai.sql
|
||||
db/ai_skills.sql
|
||||
```
|
||||
|
||||
排除命令模板(后续简称 `EXCLUDE_PATHS`):
|
||||
```bash
|
||||
EXCLUDE_PATHS="pigx-aigc/ pigx-knowledge/ pigx-common/pigx-common-milvus/ pigx-common/pigx-common-seekdb/ pigx-common/pigx-common-mcp/ pigx-common/pigx-common-neo4j/ db/9pigxx_ai.sql db/ai_skills.sql"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Task 1: 创建工作分支并备份
|
||||
|
||||
**Files:**
|
||||
- 无文件修改,仅 Git 操作
|
||||
|
||||
**Step 1: 确认当前在 dev 分支**
|
||||
|
||||
```bash
|
||||
cd /Users/lengleng/work/dev1227/pigx
|
||||
git branch --show-current
|
||||
```
|
||||
Expected: `dev`
|
||||
|
||||
**Step 2: 确保工作区干净**
|
||||
|
||||
```bash
|
||||
git status
|
||||
```
|
||||
Expected: `working tree clean`
|
||||
|
||||
**Step 3: 创建备份分支**
|
||||
|
||||
```bash
|
||||
git branch dev-backup-before-merge
|
||||
```
|
||||
|
||||
**Step 4: 创建合并工作分支**
|
||||
|
||||
```bash
|
||||
git checkout -b merge/aiflow-non-ai-to-dev
|
||||
```
|
||||
|
||||
**Step 5: 验证**
|
||||
|
||||
```bash
|
||||
git branch --show-current
|
||||
```
|
||||
Expected: `merge/aiflow-non-ai-to-dev`
|
||||
|
||||
---
|
||||
|
||||
## Task 2: 阶段一 — 批量 Cherry-pick 纯非 AI 提交 (第 1 批: 最早期提交)
|
||||
|
||||
**Files:**
|
||||
- 涉及 pigx-upms, pigx-common-datasource, pigx-common-security, pigx-common-bom 等模块
|
||||
|
||||
按时间正序(从旧到新)执行 cherry-pick。如遇冲突,手动解决后 `git add` 并 `git cherry-pick --continue`。
|
||||
|
||||
**Step 1: Cherry-pick 第 1-15 个提交**
|
||||
|
||||
逐个执行,每个成功后继续下一个:
|
||||
|
||||
```bash
|
||||
# 1. fix(ai-prompt): 优化提示词模板保存报错 (文件在 upms,非 AI)
|
||||
git cherry-pick 7b7aab886
|
||||
|
||||
# 2. fix(ai-register-user): 跳过外部 AI 注册短信验证
|
||||
git cherry-pick dce71af84
|
||||
|
||||
# 3. feat(i18n): set default locale to China
|
||||
git cherry-pick 462335246
|
||||
|
||||
# 4. feat(pigx-upms-biz): 增强区域树查询功能
|
||||
git cherry-pick de04594c4
|
||||
|
||||
# 5. feat(pigx-upms-api): SysDictItem 添加 listClass 字段
|
||||
git cherry-pick 9db9ff1d1
|
||||
|
||||
# 6. fix: 修复 sys_dict_item 表数据中新增的 NULL 字段
|
||||
git cherry-pick 2f112a4a3
|
||||
|
||||
# 7. fix(pigx-common-datasource): 修正 del_flag 参数值
|
||||
git cherry-pick 339062b24
|
||||
|
||||
# 8. fix(pigx-common-datasource): 修正 del_flag 参数值 (第二个)
|
||||
git cherry-pick 7711b26b9
|
||||
|
||||
# 9. fix(pigx-common-security): 修复用户密码修改时间处理逻辑
|
||||
git cherry-pick eed66c0aa
|
||||
|
||||
# 10. feat(upms): 重构连接器导入功能,钉钉/企微
|
||||
git cherry-pick f6abe9852
|
||||
|
||||
# 11. fix(pigx-common-security): 添加token过期错误提示
|
||||
git cherry-pick b3b392a05
|
||||
|
||||
# 12. fix(pigx-common-bom): 更新MyBatis-Plus至3.5.16
|
||||
git cherry-pick 27895cb73
|
||||
|
||||
# 13. fix(pigx-common-core): #7229 租户上下文菜单查询错误
|
||||
git cherry-pick e2ccea22b
|
||||
|
||||
# 14. fix(pigx-common-bom): 更新依赖版本
|
||||
git cherry-pick 7b4f672c4
|
||||
|
||||
# 15. fix: 修复租户appid重复导致mpservice初始化失败
|
||||
git cherry-pick a5f2a28fd
|
||||
```
|
||||
|
||||
**Step 2: 验证 cherry-pick 状态**
|
||||
|
||||
```bash
|
||||
git log --oneline -15
|
||||
```
|
||||
Expected: 看到 15 个新提交
|
||||
|
||||
---
|
||||
|
||||
## Task 3: 阶段一 — 批量 Cherry-pick (第 2 批: 中期提交)
|
||||
|
||||
**Step 1: Cherry-pick 第 16-30 个提交**
|
||||
|
||||
```bash
|
||||
# 16. feat(pigx-mp-platform): 重构 WxMpInitConfigRunner
|
||||
git cherry-pick 792bd6c44
|
||||
|
||||
# 17. fix: 更新 spring-boot 版本至 3.5.10
|
||||
git cherry-pick ae6e80d55
|
||||
|
||||
# 18. feat(pigx-knowledge): 移除知识库路由配置 (仅改 db/2pigxx.sql)
|
||||
git cherry-pick cca898141
|
||||
|
||||
# 19. fix(pigx-upms-biz): 修复租户用户移除时的租户切换问题
|
||||
git cherry-pick 63a1bc0fd
|
||||
|
||||
# 20. feat(pigx-boot): Dockerfile 添加中文字体支持
|
||||
git cherry-pick 553a5fd9d
|
||||
|
||||
# 21. feat(pigx-upms-api): 新增站内消息/公告发送功能
|
||||
git cherry-pick 45eeadf0d
|
||||
|
||||
# 22. feat(pigx-common-core): 增强Web配置支持异步任务处理
|
||||
git cherry-pick d95348df5
|
||||
|
||||
# 23. feat(pigx-flow-biz): 条件表达式新增角色和岗位选择器
|
||||
git cherry-pick c28670b68
|
||||
|
||||
# 24. feat(pigx-flow-api): 新增流程状态事件发布订阅机制
|
||||
git cherry-pick 2f8c6e37c
|
||||
|
||||
# 25. feat(pigx-common-core): 优化WebCommonConfiguration配置类
|
||||
git cherry-pick 7e55cdf39
|
||||
|
||||
# 26. feat(pigx-flow-api): 新增流程状态事件注册与校验功能
|
||||
git cherry-pick 00494dd23
|
||||
|
||||
# 27. feat(WebCommonConfiguration): 更新异步任务执行器配置
|
||||
git cherry-pick 096b092c8
|
||||
|
||||
# 28. refactor(pigx-common-core): 重命名异步任务执行器方法
|
||||
git cherry-pick 6947407d3
|
||||
|
||||
# 29. fix(codegen): 修复生成模板导出参数的queryForm污染
|
||||
git cherry-pick d1a334aa3
|
||||
|
||||
# 30. refactor(pigx-upms-biz): 简化文件上传逻辑
|
||||
git cherry-pick b2f8b60f0
|
||||
```
|
||||
|
||||
**Step 2: 验证**
|
||||
|
||||
```bash
|
||||
git log --oneline -30
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Task 4: 阶段一 — 批量 Cherry-pick (第 3 批: 后期提交)
|
||||
|
||||
**Step 1: Cherry-pick 第 31-45 个提交**
|
||||
|
||||
```bash
|
||||
# 31. refactor: 升级 Spring Boot 版本至 3.5.11
|
||||
git cherry-pick 65c0842a4
|
||||
|
||||
# 32. feat(pigx-flow-api): BizFlowBaseDto 添加 ExcelIgnore 注解
|
||||
git cherry-pick babe57f1e
|
||||
|
||||
# 33. feat(pigx-boot): 添加可选模块依赖支持
|
||||
git cherry-pick 9d9d3294e
|
||||
|
||||
# 34. feat: 优化文件上传配置,统一使用 undertow
|
||||
git cherry-pick 4f237a926
|
||||
|
||||
# 35. feat(pigx-flow-biz): 扩展抄送任务支持角色和岗位
|
||||
git cherry-pick 0737e2943
|
||||
|
||||
# 36. feat(pigx-codegen): 优化数据源密码更新逻辑
|
||||
git cherry-pick f2903a89f
|
||||
|
||||
# 37. feat(pigx-flow-biz): 优化流程创建逻辑
|
||||
git cherry-pick 21c83813f
|
||||
|
||||
# 38. feat(pigx-flow-api): 新增延时器节点支持
|
||||
git cherry-pick 628c50b2a
|
||||
|
||||
# 39. feat(pigx-flow-biz): 实现触发器节点功能
|
||||
git cherry-pick 8553a1f5c
|
||||
|
||||
# 40. feat(pigx-flow-biz): 实现触发器节点功能 (续)
|
||||
git cherry-pick 07ad3ff51
|
||||
|
||||
# 41. feat(pigx-flow-biz): 新增流程打印模板功能
|
||||
git cherry-pick 480ae63a8
|
||||
|
||||
# 42. feat(pigx-boot): 优化模块依赖配置 1.12.1
|
||||
git cherry-pick 29ea56eee
|
||||
|
||||
# 43. feat(pigx-flow-biz): 优化任务服务参数传递
|
||||
git cherry-pick 7d1cac266
|
||||
|
||||
# 44. feat(pigx-flow-biz): 增加触发器异常终止处理
|
||||
git cherry-pick b61f13d61
|
||||
```
|
||||
|
||||
**Step 2: 验证阶段一完成**
|
||||
|
||||
```bash
|
||||
git log --oneline HEAD~45..HEAD
|
||||
```
|
||||
Expected: 约 44-45 个新提交(可能有一两个因冲突合并)
|
||||
|
||||
---
|
||||
|
||||
## Task 5: 阶段二 — 跨模块提交 · 版本升级 (799188b31)
|
||||
|
||||
这是最大的跨模块提交 — 全量版本升级到 5.12.0,涉及几乎所有模块的 pom.xml。
|
||||
|
||||
**Files:**
|
||||
- 修改: 约 50 个 pom.xml 文件
|
||||
- 修改: `docker-compose.yml`
|
||||
- 修改: `pigx-boot/src/main/resources/application-dev.yml`
|
||||
|
||||
**Step 1: Cherry-pick 但不提交**
|
||||
|
||||
```bash
|
||||
git cherry-pick --no-commit 799188b31
|
||||
```
|
||||
|
||||
**Step 2: 排除 AI 模块文件**
|
||||
|
||||
```bash
|
||||
# 撤销 AI 模块的 pom.xml 变更
|
||||
git restore --staged --worktree -- pigx-aigc/ || true
|
||||
git restore --staged --worktree -- pigx-common/pigx-common-milvus/pom.xml || true
|
||||
git restore --staged --worktree -- pigx-common/pigx-common-seekdb/pom.xml || true
|
||||
git restore --staged --worktree -- pigx-common/pigx-common-mcp/pom.xml || true
|
||||
git restore --staged --worktree -- pigx-common/pigx-common-neo4j/pom.xml || true
|
||||
git restore --staged --worktree -- db/9pigxx_ai.sql || true
|
||||
```
|
||||
|
||||
**Step 3: 检查暂存区,确认只剩非 AI 文件**
|
||||
|
||||
```bash
|
||||
git diff --cached --name-only | grep -E '(aigc|knowledge|milvus|seekdb|mcp|neo4j|9pigxx_ai)' || echo "OK: 无 AI 文件"
|
||||
```
|
||||
Expected: `OK: 无 AI 文件`
|
||||
|
||||
**Step 4: 提交**
|
||||
|
||||
```bash
|
||||
git commit -m "$(cat <<'EOF'
|
||||
chore: upgrade version to 5.12.0 (non-AI modules only)
|
||||
|
||||
Cherry-picked from 799188b31, excluding pigx-aigc and AI-related common modules.
|
||||
EOF
|
||||
)"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Task 6: 阶段二 — 跨模块提交 · ServiceNameConstants (b63758c9f)
|
||||
|
||||
这个提交改了约 200 个 AI 文件,但非 AI 部分仅 `ServiceNameConstants.java`。
|
||||
|
||||
**Files:**
|
||||
- 修改: `pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/constant/ServiceNameConstants.java`
|
||||
|
||||
**Step 1: 直接从源分支提取单个文件**
|
||||
|
||||
```bash
|
||||
git checkout aiflow-params-refactor-backend -- pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/constant/ServiceNameConstants.java
|
||||
```
|
||||
|
||||
**Step 2: 检查 diff 确认变更合理**
|
||||
|
||||
```bash
|
||||
git diff --cached -- pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/constant/ServiceNameConstants.java
|
||||
```
|
||||
|
||||
**Step 3: 确认没有引入对 aigc 包的依赖**
|
||||
|
||||
```bash
|
||||
git diff --cached | grep -i 'aigc\|knowledge' || echo "OK: 无 AI 引用"
|
||||
```
|
||||
|
||||
**Step 4: 提交**
|
||||
|
||||
```bash
|
||||
git commit -m "$(cat <<'EOF'
|
||||
feat(pigx-common-core): 更新 ServiceNameConstants 添加 AIGC 服务常量
|
||||
|
||||
从 b63758c9f 提取非 AI 文件部分。
|
||||
EOF
|
||||
)"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Task 7: 阶段二 — 跨模块提交 · 租户上下文增强 (60b4aca0f)
|
||||
|
||||
非 AI 部分仅 `db/0pigxx_boot.sql` 和 `pigx-boot/pom.xml`。
|
||||
|
||||
**Files:**
|
||||
- 修改: `pigx-boot/pom.xml`
|
||||
|
||||
**Step 1: Cherry-pick 但不提交**
|
||||
|
||||
```bash
|
||||
git cherry-pick --no-commit 60b4aca0f
|
||||
```
|
||||
|
||||
**Step 2: 排除 AI 文件**
|
||||
|
||||
```bash
|
||||
git restore --staged --worktree -- pigx-aigc/ || true
|
||||
git restore --staged --worktree -- db/9pigxx_ai.sql || true
|
||||
```
|
||||
|
||||
**Step 3: 审查 db/0pigxx_boot.sql 变更**
|
||||
|
||||
```bash
|
||||
git diff --cached -- db/0pigxx_boot.sql | head -100
|
||||
```
|
||||
|
||||
人工审查:确认 SQL 变更中不含纯 AI 功能表(如 `ai_flow`, `ai_model`, `ai_dataset` 等),仅保留通用业务表变更。如果 SQL 中混有 AI 表定义,需手动编辑移除。
|
||||
|
||||
**Step 4: 检查无 AI 残留**
|
||||
|
||||
```bash
|
||||
git diff --cached --name-only | grep -E '(aigc|knowledge|milvus|seekdb|mcp|neo4j|9pigxx_ai)' || echo "OK"
|
||||
```
|
||||
|
||||
**Step 5: 提交**
|
||||
|
||||
```bash
|
||||
git commit -m "$(cat <<'EOF'
|
||||
feat: 增强租户上下文处理 (非 AI 部分)
|
||||
|
||||
从 60b4aca0f 提取 db/0pigxx_boot.sql 和 pigx-boot/pom.xml 变更。
|
||||
EOF
|
||||
)"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Task 8: 阶段二 — 跨模块提交 · PgVector 依赖升级 (eb3a334cb)
|
||||
|
||||
非 AI 部分仅根 `pom.xml`。
|
||||
|
||||
**Files:**
|
||||
- 修改: `pom.xml`
|
||||
|
||||
**Step 1: 直接从源分支提取**
|
||||
|
||||
```bash
|
||||
git checkout aiflow-params-refactor-backend -- pom.xml
|
||||
```
|
||||
|
||||
**Step 2: 审查根 pom.xml 变更**
|
||||
|
||||
```bash
|
||||
git diff --cached -- pom.xml
|
||||
```
|
||||
|
||||
确认:是否有引入 AI 专属依赖(如 langchain4j, spring-ai 等),如有需手动移除。
|
||||
|
||||
**Step 3: 提交**
|
||||
|
||||
```bash
|
||||
git commit -m "$(cat <<'EOF'
|
||||
refactor: 更新根 pom.xml 依赖版本
|
||||
|
||||
从 eb3a334cb 提取根 pom.xml 变更。
|
||||
EOF
|
||||
)"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Task 9: 阶段二 — 跨模块提交 · PaddleOCR 中的 upms 变更 (19b3e3ba3)
|
||||
|
||||
非 AI 部分仅 `SysTenantServiceImpl.java`。
|
||||
|
||||
**Files:**
|
||||
- 修改: `pigx-upms/pigx-upms-biz/src/main/java/.../SysTenantServiceImpl.java`
|
||||
|
||||
**Step 1: 提取单文件**
|
||||
|
||||
```bash
|
||||
git checkout aiflow-params-refactor-backend -- pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysTenantServiceImpl.java
|
||||
```
|
||||
|
||||
**Step 2: 审查变更**
|
||||
|
||||
```bash
|
||||
git diff --cached -- pigx-upms/
|
||||
```
|
||||
|
||||
**Step 3: 提交**
|
||||
|
||||
```bash
|
||||
git commit -m "$(cat <<'EOF'
|
||||
feat(pigx-upms-biz): 优化 SysTenantServiceImpl 租户处理逻辑
|
||||
|
||||
从 19b3e3ba3 提取非 AI 部分。
|
||||
EOF
|
||||
)"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Task 10: 阶段二 — 跨模块提交 · seekdb 混合搜索中的 BOM 变更 (2e965fd55)
|
||||
|
||||
非 AI 部分:`pigx-common/pigx-common-bom/pom.xml` 和 `pigx-common/pom.xml`。
|
||||
|
||||
**Files:**
|
||||
- 修改: `pigx-common/pigx-common-bom/pom.xml`
|
||||
- 修改: `pigx-common/pom.xml`
|
||||
|
||||
**Step 1: 提取文件**
|
||||
|
||||
```bash
|
||||
git checkout aiflow-params-refactor-backend -- pigx-common/pigx-common-bom/pom.xml pigx-common/pom.xml
|
||||
```
|
||||
|
||||
**Step 2: 审查变更**
|
||||
|
||||
```bash
|
||||
git diff --cached -- pigx-common/pigx-common-bom/pom.xml pigx-common/pom.xml
|
||||
```
|
||||
|
||||
确认:`pigx-common/pom.xml` 中是否新增了 AI 相关子模块引用(如 `<module>pigx-common-milvus</module>` 等),如有需手动移除。
|
||||
|
||||
**Step 3: 提交**
|
||||
|
||||
```bash
|
||||
git commit -m "$(cat <<'EOF'
|
||||
refactor(pigx-common): 更新 BOM 依赖版本
|
||||
|
||||
从 2e965fd55 提取非 AI 部分。
|
||||
EOF
|
||||
)"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Task 11: 阶段二 — 跨模块提交 · 向量库默认配置中的通用文件 (2bb41b75f)
|
||||
|
||||
非 AI 部分:`.gitignore`、`pigx-boot/src/main/resources/application-dev.yml`。
|
||||
|
||||
**Files:**
|
||||
- 修改: `.gitignore`
|
||||
- 修改: `pigx-boot/src/main/resources/application-dev.yml`
|
||||
|
||||
**Step 1: 提取文件**
|
||||
|
||||
```bash
|
||||
git checkout aiflow-params-refactor-backend -- .gitignore
|
||||
git checkout aiflow-params-refactor-backend -- pigx-boot/src/main/resources/application-dev.yml
|
||||
```
|
||||
|
||||
**Step 2: 审查变更**
|
||||
|
||||
```bash
|
||||
git diff --cached -- .gitignore pigx-boot/src/main/resources/application-dev.yml
|
||||
```
|
||||
|
||||
确认 `application-dev.yml` 中无 AI 专属配置(如 `langchain4j`, `spring-ai`, `milvus` 配置项等),如有需移除。
|
||||
|
||||
**Step 3: 提交**
|
||||
|
||||
```bash
|
||||
git commit -m "$(cat <<'EOF'
|
||||
chore: 更新 .gitignore 和 boot 开发配置
|
||||
|
||||
从 2bb41b75f 提取非 AI 部分。
|
||||
EOF
|
||||
)"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Task 12: 阶段二 — 跨模块提交 · AI Skills 数据库表 (021139e55)
|
||||
|
||||
非 AI 部分仅 `db/0pigxx_boot.sql`(菜单/权限数据)。
|
||||
|
||||
**Files:**
|
||||
- 修改: `db/0pigxx_boot.sql`
|
||||
|
||||
**Step 1: Cherry-pick 但不提交**
|
||||
|
||||
```bash
|
||||
git cherry-pick --no-commit 021139e55
|
||||
```
|
||||
|
||||
**Step 2: 排除 AI 文件**
|
||||
|
||||
```bash
|
||||
git restore --staged --worktree -- db/9pigxx_ai.sql || true
|
||||
git restore --staged --worktree -- db/ai_skills.sql || true
|
||||
```
|
||||
|
||||
**Step 3: 审查 SQL 变更**
|
||||
|
||||
```bash
|
||||
git diff --cached -- db/0pigxx_boot.sql | head -60
|
||||
```
|
||||
|
||||
人工审查:确认是否只是菜单权限数据,是否需要保留。
|
||||
|
||||
**Step 4: 提交(或放弃)**
|
||||
|
||||
如果 SQL 变更合理:
|
||||
```bash
|
||||
git commit -m "$(cat <<'EOF'
|
||||
feat: 新增 AI Skills 菜单权限数据 (db/0pigxx_boot.sql)
|
||||
|
||||
从 021139e55 提取非 AI SQL 部分。
|
||||
EOF
|
||||
)"
|
||||
```
|
||||
|
||||
如果 SQL 变更全是 AI 相关的,放弃:
|
||||
```bash
|
||||
git restore --staged --worktree -- .
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Task 13: 阶段二 — 批量处理剩余 db/0pigxx_boot.sql 跨模块提交
|
||||
|
||||
以下提交的非 AI 部分都只有 `db/0pigxx_boot.sql`,逐一审查决定是否保留。
|
||||
|
||||
**提交列表:**
|
||||
- `05486d814` 重构MCP聊天规则
|
||||
- `a1225ed2c` 调整AI菜单结构
|
||||
- `6d240904a` embedding 调用记录
|
||||
- `4f45c986d` 移除模型代码
|
||||
- `a25144a79` AI代码评审功能
|
||||
- `c9842d0c9` AI海报默认模板
|
||||
- `01a501165` 海报二维码上传
|
||||
- `8aaacc73b` 信息图生成功能
|
||||
- `40b9e3df1` 视觉分析更新
|
||||
- `32544acd0` SeekDB 重构
|
||||
- `5647dc701` 智能巡检 (`db/0pigxx_boot.sql` + `db/6pigxx_config.sql`)
|
||||
- `0a091418b` 文档解析配置
|
||||
|
||||
**Step 1: 对每个提交执行统一流程**
|
||||
|
||||
对列表中的每个 `<HASH>`:
|
||||
|
||||
```bash
|
||||
# a) cherry-pick 不提交
|
||||
git cherry-pick --no-commit <HASH>
|
||||
|
||||
# b) 排除所有 AI 文件
|
||||
git restore --staged --worktree -- pigx-aigc/ pigx-knowledge/ \
|
||||
pigx-common/pigx-common-milvus/ pigx-common/pigx-common-seekdb/ \
|
||||
pigx-common/pigx-common-mcp/ pigx-common/pigx-common-neo4j/ \
|
||||
db/9pigxx_ai.sql db/ai_skills.sql 2>/dev/null || true
|
||||
|
||||
# c) 检查剩余变更
|
||||
git diff --cached --stat
|
||||
|
||||
# d) 如果有合理的非 AI 变更,提交
|
||||
git commit -m "从 <HASH> 提取非 AI 数据库变更"
|
||||
|
||||
# e) 如果无有效变更或全是 AI 相关
|
||||
git restore --staged --worktree -- .
|
||||
```
|
||||
|
||||
**Step 2: 审查决策原则**
|
||||
|
||||
- `db/0pigxx_boot.sql` 中的 `sys_menu` 插入如果是 AI 菜单项 → 排除
|
||||
- `db/0pigxx_boot.sql` 中的通用业务表变更 → 保留
|
||||
- `db/6pigxx_config.sql` 变更 → 保留
|
||||
|
||||
---
|
||||
|
||||
## Task 14: 阶段二 — 跨模块提交 · knowledge 拆分和重命名 (d34cfbd1b, 051f319ff)
|
||||
|
||||
这两个大型重构提交几乎全是 AI 文件,非 AI 部分极少。
|
||||
|
||||
**Step 1: d34cfbd1b — 仅提取 BOM pom.xml**
|
||||
|
||||
```bash
|
||||
git checkout aiflow-params-refactor-backend -- pigx-common/pigx-common-bom/pom.xml
|
||||
git diff --cached -- pigx-common/pigx-common-bom/pom.xml
|
||||
```
|
||||
|
||||
如果变更已在 Task 10 中包含(来自 2e965fd55),则跳过:
|
||||
```bash
|
||||
git restore --staged -- pigx-common/pigx-common-bom/pom.xml
|
||||
```
|
||||
|
||||
**Step 2: 051f319ff — 无需提取**
|
||||
|
||||
该提交的 `docs/plans/` 文件是旧的设计文档,可忽略。所有其他文件都是 pigx-aigc 重命名,全部排除。
|
||||
|
||||
---
|
||||
|
||||
## Task 15: 阶段三 — 编译验证
|
||||
|
||||
**Step 1: 执行编译(排除 pigx-aigc)**
|
||||
|
||||
```bash
|
||||
cd /Users/lengleng/work/dev1227/pigx
|
||||
mvn -T 1C clean compile -DskipTests -pl '!pigx-aigc/pigx-aigc-api,!pigx-aigc/pigx-aigc-biz'
|
||||
```
|
||||
|
||||
Expected: `BUILD SUCCESS`
|
||||
|
||||
如果编译失败,分析错误:
|
||||
- 如果是缺少 AI 模块依赖 → 检查 pom.xml 是否误引入了 pigx-aigc 依赖
|
||||
- 如果是 import 错误 → 移除对 `com.pig4cloud.pigx.aigc` 包的引用
|
||||
|
||||
**Step 2: 如果编译失败,修复后重新编译**
|
||||
|
||||
```bash
|
||||
# 查找是否有对 aigc 包的引用
|
||||
grep -r "com.pig4cloud.pigx.aigc" --include="*.java" \
|
||||
pigx-upms/ pigx-flow/ pigx-boot/ pigx-common/ pigx-visual/ pigx-app-server/ pigx-auth/ pigx-gateway/
|
||||
```
|
||||
|
||||
Expected: 无匹配(或仅在排除模块中)
|
||||
|
||||
---
|
||||
|
||||
## Task 16: 阶段三 — 依赖和配置检查
|
||||
|
||||
**Step 1: 检查根 pom.xml 模块列表**
|
||||
|
||||
```bash
|
||||
grep '<module>' pom.xml
|
||||
```
|
||||
|
||||
确认不会强制编译 pigx-aigc(`pigx-aigc` 应在 `<modules>` 列表中,但不影响排除编译)。
|
||||
|
||||
**Step 2: 检查 pigx-boot pom.xml 依赖**
|
||||
|
||||
```bash
|
||||
grep -A2 'pigx-aigc\|pigx-knowledge' pigx-boot/pom.xml
|
||||
```
|
||||
|
||||
如果存在对 pigx-aigc 的依赖且 `<optional>true</optional>` 或有 profile 控制 → OK
|
||||
如果是硬依赖 → 需确认 pigx-boot 是否能在不加载 AI 模块的情况下启动
|
||||
|
||||
**Step 3: 检查 pigx-common pom.xml 子模块列表**
|
||||
|
||||
```bash
|
||||
grep '<module>' pigx-common/pom.xml
|
||||
```
|
||||
|
||||
确认 AI 相关子模块(milvus, seekdb, mcp, neo4j)在列表中的存在不影响编译。
|
||||
|
||||
---
|
||||
|
||||
## Task 17: 阶段三 — 最终审查和合并到 dev
|
||||
|
||||
**Step 1: 查看完整变更统计**
|
||||
|
||||
```bash
|
||||
git log --oneline merge/aiflow-non-ai-to-dev ^dev | wc -l
|
||||
git diff dev...merge/aiflow-non-ai-to-dev --stat | tail -5
|
||||
```
|
||||
|
||||
**Step 2: 确认无 AI 模块文件被合并**
|
||||
|
||||
```bash
|
||||
git diff dev...merge/aiflow-non-ai-to-dev --name-only | grep -E '(pigx-aigc/|pigx-knowledge/|pigx-common-milvus/|pigx-common-seekdb/|pigx-common-mcp/|pigx-common-neo4j/|db/9pigxx_ai|db/ai_skills)' || echo "OK: 无 AI 文件被合并"
|
||||
```
|
||||
Expected: `OK: 无 AI 文件被合并`
|
||||
|
||||
**Step 3: 合并到 dev 分支**
|
||||
|
||||
```bash
|
||||
git checkout dev
|
||||
git merge merge/aiflow-non-ai-to-dev --no-ff -m "$(cat <<'EOF'
|
||||
merge: 合并 aiflow-params-refactor-backend 非 AI 功能到 dev
|
||||
|
||||
合并范围: 2026-01-01 至 2026-03-08
|
||||
排除模块: pigx-aigc, pigx-common-milvus/seekdb/mcp/neo4j
|
||||
包含功能:
|
||||
- pigx-flow: 触发器、延时器、打印模板、流程状态事件
|
||||
- pigx-upms: 站内消息、连接器导入、区域树增强
|
||||
- pigx-common: BOM升级、core优化、security修复
|
||||
- pigx-visual/codegen: 数据源密码、模板导出修复
|
||||
- pigx-boot: Dockerfile字体支持、模块依赖
|
||||
- pigx-app-server: App功能增强
|
||||
- 版本升级: Spring Boot 3.5.11, MyBatis-Plus 3.5.16
|
||||
EOF
|
||||
)"
|
||||
```
|
||||
|
||||
**Step 4: 最终编译验证**
|
||||
|
||||
```bash
|
||||
mvn -T 1C clean compile -DskipTests -pl '!pigx-aigc/pigx-aigc-api,!pigx-aigc/pigx-aigc-biz'
|
||||
```
|
||||
Expected: `BUILD SUCCESS`
|
||||
|
||||
**Step 5: 提交完成,保留备份分支**
|
||||
|
||||
```bash
|
||||
echo "合并完成。备份分支: dev-backup-before-merge"
|
||||
echo "如需回滚: git checkout dev && git reset --hard dev-backup-before-merge"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 冲突处理指南
|
||||
|
||||
cherry-pick 过程中遇到冲突时:
|
||||
|
||||
1. `git status` 查看冲突文件
|
||||
2. 如果冲突文件在 AI 排除路径中 → `git restore --staged --worktree -- <file>`
|
||||
3. 如果冲突文件在非 AI 模块中 → 手动编辑解决冲突,选择源分支(aiflow)的版本
|
||||
4. 解决后 `git add <file>` 然后 `git cherry-pick --continue`
|
||||
5. 如果某个提交冲突太多无法合理解决 → `git cherry-pick --abort` 并跳过
|
||||
|
||||
## 回滚方案
|
||||
|
||||
如果整个合并过程出现严重问题:
|
||||
|
||||
```bash
|
||||
git checkout dev
|
||||
git reset --hard dev-backup-before-merge
|
||||
git branch -D merge/aiflow-non-ai-to-dev
|
||||
```
|
||||
Reference in new issue
Block a user