实现项目打标状态联动并执行前后端适配

This commit is contained in:
wkc
2026-03-18 15:55:55 +08:00
parent e9394939c9
commit c0ce5ca7f9
27 changed files with 651 additions and 14 deletions

View File

@@ -0,0 +1,38 @@
# 项目打标状态联动后端实施记录
## 本次改动
- 新增项目状态常量 `3-打标中`,并补齐初始化 SQL 与增量 SQL。
- 在项目服务中新增统一状态更新、打标准入校验、打标中写保护能力,并把状态统计扩展到 `status3`
- 在银行流水打标主链路中接入项目状态流转:
- 开始打标前置为 `3`
- 打标成功后置为 `1`
- 打标失败后回退为 `0`
- 在上传流水、拉取本行信息、参数保存链路中统一接入项目写保护,打标中直接拒绝写操作。
- 增补 SQL 基线测试、项目状态服务测试、打标状态流转测试、上传/参数写保护测试。
## 影响范围
- `sql/ccdi_project.sql`
- `sql/migration/2026-03-18-add-project-tagging-status.sql`
- `ccdi-project` 模块中的项目服务、打标服务、协调器、文件上传服务、模型参数服务及对应测试
## 验证结果
- 后端聚焦回归命令执行通过:
```bash
mvn -pl ccdi-project -Dtest=CcdiProjectServiceImplTest,CcdiBankTagServiceImplTest,ProjectBankTagRebuildCoordinatorTest,CcdiFileUploadServiceImplTest,CcdiModelParamServiceImplTest,CcdiProjectStatusSqlTest test
```
- 测试结果:`Tests run: 44, Failures: 0, Errors: 0, Skipped: 0`
## SQL 执行方式
- 联调或生产前执行状态增量脚本时,必须使用仓库脚本:
```bash
bin/mysql_utf8_exec.sh sql/migration/2026-03-18-add-project-tagging-status.sql
```
- 这样可以保证中文字典值“打标中”在 MySQL 会话中按 `utf8mb4` 正确写入,避免乱码。

View File

@@ -0,0 +1,46 @@
# 项目打标状态联动前端实施记录
## 本次改动
- 在项目列表、详情页和顶部状态统计中补充 `3-打标中` 展示。
- 在上传数据页增加统一受限态:
- “拉取本行信息”按钮禁用
- “上传流水”入口禁用
- 页面顶部展示受限提示文案
- 在参数模型页增加只读态:
- 参数输入框禁用
- “保存所有修改”按钮禁用
- 页面顶部展示只读提示文案
- 在项目详情页接入 `refresh-project` 事件,上传页在以下时机触发父组件刷新项目状态:
- 批量上传提交成功后
- 拉取本行信息提交成功后
- 文件轮询检测到状态变化后
- 手工刷新文件列表后
## 影响范围
- `ruoyi-ui/src/views/ccdiProject/detail.vue`
- `ruoyi-ui/src/views/ccdiProject/index.vue`
- `ruoyi-ui/src/views/ccdiProject/components/ProjectTable.vue`
- `ruoyi-ui/src/views/ccdiProject/components/SearchBar.vue`
- `ruoyi-ui/src/views/ccdiProject/components/detail/UploadData.vue`
- `ruoyi-ui/src/views/ccdiProject/components/detail/ParamConfig.vue`
- `docs/tests/records/2026-03-18-project-bank-tag-status-lock-frontend-verification.md`
## 验证结果
- 基线构建通过:
```bash
cd ruoyi-ui
npm run build:prod
```
- 改动后构建通过:
```bash
cd ruoyi-ui
npm run build:prod
```
- 当前已完成构建验证,尚未在本次记录中执行真实页面联调。

View File

@@ -0,0 +1,29 @@
# 项目打标状态联动后端验证记录
## 验证项
- [x] 状态 `3-打标中` SQL 已同步
- [x] 打标成功后状态为 `1`
- [x] 打标失败后状态回退为 `0`
- [x] 打标中拒绝上传/拉取本行信息
- [x] 打标中拒绝参数保存
## 自动化验证
- 执行时间2026-03-18 14:56:22 +08:00
- 执行命令:
```bash
mvn -pl ccdi-project -Dtest=CcdiProjectServiceImplTest,CcdiBankTagServiceImplTest,ProjectBankTagRebuildCoordinatorTest,CcdiFileUploadServiceImplTest,CcdiModelParamServiceImplTest,CcdiProjectStatusSqlTest test
```
- 结果:`PASS`
- 统计:`Tests run: 44, Failures: 0, Errors: 0, Skipped: 0`
## SQL 执行说明
- 联调环境执行增量脚本时,必须使用以下命令,确保中文内容以 `utf8mb4` 写入:
```bash
bin/mysql_utf8_exec.sh sql/migration/2026-03-18-add-project-tagging-status.sql
```

View File

@@ -0,0 +1,38 @@
# 项目打标状态联动前端验证记录
## 验证范围
- 列表页状态与统计显示
- 详情页状态标签
- 上传数据页禁用
- 参数模型页只读
## 验证结果
- [ ] 列表页出现“打标中”
- [ ] 顶部统计出现“打标中”
- [ ] 详情页出现“打标中”
- [ ] 打标中时“拉取本行信息”按钮禁用
- [ ] 打标中时“上传流水”按钮禁用
- [ ] 打标中时仍可查看上传记录列表
- [ ] 页面有明确提示文案
- [ ] 打标中时参数输入框禁用
- [ ] 打标中时“保存所有修改”按钮禁用
- [ ] 参数页有只读提示文案
- [ ] 提交上传或拉取任务后,详情页能重新获取项目状态
- [ ] 文件轮询期间如后端状态切为“打标中”,页面会同步受限
## 构建验证
- [x] `npm run build:prod` 基线构建通过2026-03-18 14:56 +08:00
- [x] `npm run build:prod` 改动后构建通过2026-03-18 15:00 +08:00
## 手工联调说明
- [ ] 已启动前后端与依赖服务进行联调
- [ ] 联调完成后已关闭测试过程中启动的进程
## 说明
- 本次已完成前端静态实现与两轮生产构建验证。
- 真实页面联调尚未在本记录中勾选,如需补齐,请按计划启动前后端与依赖服务后继续验证。