121 lines
3.6 KiB
Markdown
121 lines
3.6 KiB
Markdown
# RuoYi-Vue springboot2 基线迁移设计
|
||
|
||
## 1. 目标
|
||
|
||
本次迁移以上游 `https://gitee.com/y_project/RuoYi-Vue/tree/springboot2` 为唯一框架基线,先将当前仓库整体回退并重对齐到该基线,再迁回现有业务模块与业务页面,最终形成一个“框架层跟随上游、业务层保留现状”的项目结构。
|
||
|
||
本次迁移不采用兼容层、补丁层或双栈并存方案,不保留 Spring Boot 3 / Java 17 的框架实现。
|
||
|
||
## 2. 现状与目标差异
|
||
|
||
当前仓库已经是 RuoYi 多模块工程,但后端已升级到 `Spring Boot 3.5.x`、`Java 17`,并引入了以下业务定制:
|
||
|
||
- 后端业务模块:`ruoyi-loan-pricing`
|
||
- 前端业务页面:`ruoyi-ui/src/views/loanPricing`
|
||
- 前端业务接口:`ruoyi-ui/src/api/loanPricing`
|
||
- 管理端业务接入:`ruoyi-admin` 中的业务依赖与配置
|
||
- 业务 SQL:`sql/loan_pricing_*`、`sql/model_*`、`sql/loan_pricing_menu.sql`
|
||
|
||
目标上游 `springboot2` 分支采用:
|
||
|
||
- `RuoYi-Vue 3.9.2`
|
||
- `Spring Boot 2.5.15`
|
||
- `Java 8`
|
||
- `Vue 2 + Element UI`
|
||
|
||
因此本次迁移的本质是:先将框架层彻底切回 Spring Boot 2 基线,再把利率定价业务重新挂载到新的基线上。
|
||
|
||
## 3. 迁移范围
|
||
|
||
### 3.1 框架层
|
||
|
||
以下内容以上游 `springboot2` 版本为准:
|
||
|
||
- 根目录框架文件与脚本
|
||
- 根 `pom.xml`
|
||
- `ruoyi-admin`
|
||
- `ruoyi-common`
|
||
- `ruoyi-framework`
|
||
- `ruoyi-generator`
|
||
- `ruoyi-quartz`
|
||
- `ruoyi-system`
|
||
- `ruoyi-ui`
|
||
- 上游自带 `sql` 基础脚本
|
||
|
||
### 3.2 业务层
|
||
|
||
以下内容需要从当前仓库迁回到新基线:
|
||
|
||
- `ruoyi-loan-pricing` 全模块
|
||
- `ruoyi-admin` 中与 `loan-pricing` 相关的业务配置、业务依赖
|
||
- `ruoyi-ui/src/views/loanPricing` 页面
|
||
- `ruoyi-ui/src/api/loanPricing` 接口文件
|
||
- `ruoyi-ui/src/router/index.js` 中的业务路由
|
||
- 业务 SQL、部署脚本、项目文档
|
||
|
||
## 4. 实施策略
|
||
|
||
### 4.1 基线覆盖策略
|
||
|
||
采用“上游覆盖 + 业务回贴”模式:
|
||
|
||
1. 先备份当前业务目录与业务配置
|
||
2. 将上游 `springboot2` 内容覆盖到当前仓库
|
||
3. 恢复业务模块、业务页面、业务配置和业务 SQL
|
||
4. 处理 Spring Boot 2 下的编译和运行差异
|
||
|
||
### 4.2 后端回贴策略
|
||
|
||
后端只保留一套 Spring Boot 2 实现,不额外保留 Spring Boot 3 兼容写法。若 `ruoyi-loan-pricing` 内存在 Boot 3 / Jakarta / SpringDoc 相关依赖或 API,则直接改回 Boot 2 可运行写法。
|
||
|
||
### 4.3 前端回贴策略
|
||
|
||
前端以 `springboot2` 上游 `ruoyi-ui` 为基础,回贴 `loanPricing` 页面、接口调用、路由和必要依赖;不保留与当前业务无关的历史定制。
|
||
|
||
## 5. 风险点与处理原则
|
||
|
||
### 5.1 框架依赖回退风险
|
||
|
||
风险:
|
||
|
||
- `springdoc`、`jakarta.*`、Boot 3 专用依赖不兼容 Boot 2
|
||
- 测试依赖、插件版本、JDK 版本需要一并回退
|
||
|
||
处理原则:
|
||
|
||
- 以 Boot 2 上游依赖为准
|
||
- 业务模块仅保留完成业务所必需的依赖
|
||
|
||
### 5.2 业务接入点遗漏风险
|
||
|
||
风险:
|
||
|
||
- `ruoyi-admin` 配置遗漏
|
||
- 前端路由、菜单、接口路径遗漏
|
||
- SQL 脚本与权限菜单脚本遗漏
|
||
|
||
处理原则:
|
||
|
||
- 逐类枚举迁移对象
|
||
- 迁移后通过编译、页面访问、接口调用进行闭环验证
|
||
|
||
## 6. 验证标准
|
||
|
||
迁移完成后至少满足以下条件:
|
||
|
||
- Maven 多模块在 Spring Boot 2 / Java 8 环境下可编译
|
||
- `ruoyi-admin` 可启动
|
||
- `ruoyi-ui` 在指定 Node 版本下可安装并构建
|
||
- `loanPricing` 页面路由可访问
|
||
- 利率定价相关接口类与 Mapper 可通过编译
|
||
- 业务 SQL 与菜单脚本仍保留在仓库内
|
||
|
||
## 7. 产出物
|
||
|
||
本次任务最终需产出:
|
||
|
||
- 本设计文档
|
||
- 后端实施计划文档
|
||
- 前端实施计划文档
|
||
- 迁移实施记录文档
|