Files
ccdi/docs/reports/implementation/2026-07-02-project-delete-restore-implementation.md

38 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 流程列表项目删除与恢复实施记录
## 修改内容
后端新增 `5-已删除` 项目状态,删除项目时仅更新 `ccdi_project.status='5'``del_flag='2'`,不删除任何项目关联数据;新增恢复接口,将已删除项目恢复为 `已完成(status=1)` 并清除删除标记。列表默认排除删除态,管理员通过 `includeDeleted=true` 查询删除列表并获取 `status5` 统计。
前端在流程列表中新增删除按钮和管理员“已删除”列表入口,删除列表只展示恢复按钮。删除、恢复都增加确认弹窗,并在成功后刷新列表和状态统计。
删除按钮已调整为红色文本按钮,悬停时使用浅红背景,便于和普通操作按钮区分。
## 影响范围
- 后端:项目 Controller、Service、权限服务、Mapper XML、项目状态常量、DTO/VO、项目初始化 SQL 与迁移 SQL。
- 前端:项目列表页、搜索条、项目表格、项目 API。
- 数据:新增项目状态字典 `5-已删除`,更新项目主表 `status` 字段注释,新增迁移脚本。
## 验证记录
1. `mvn -pl ccdi-project -am -Dtest=CcdiProjectServiceImplTest,CcdiProjectControllerTest,CcdiProjectMapperXmlTest,CcdiProjectStatusSqlTest -DfailIfNoTests=false -Dsurefire.failIfNoSpecifiedTests=false test`
- 结果通过26 个测试全部成功。
2. `source ~/.nvm/nvm.sh && cd ruoyi-ui && nvm use && node tests/unit/project-list-archive-flow.test.js && node tests/unit/project-list-reanalyze-flow.test.js`
- 结果:通过。
3. `source ~/.nvm/nvm.sh && cd ruoyi-ui && nvm use && node tests/unit/project-table-style.test.js && node tests/unit/project-list-archive-flow.test.js && node tests/unit/project-list-reanalyze-flow.test.js`
- 结果:通过,删除按钮红色样式断言通过。
4. `source ~/.nvm/nvm.sh && cd ruoyi-ui && nvm use && npm run build:prod`
- 结果:通过,仅存在既有资源体积警告。
5. 使用应用内浏览器打开真实页面 `http://localhost:1024/ccdiProject`,以 `admin` 登录验证项目 `删除恢复验证项目-20260702093910`
- 默认列表可搜索到项目并显示“删除”按钮。
- 删除确认弹窗提示“项目内数据不会删除”,确认后默认列表不再展示该项目。
- “已删除”列表展示该项目且仅有“恢复”按钮,不展示进入项目、查看结果、重新分析、归档。
- 恢复确认弹窗提示“项目将恢复为已完成状态”,确认后已删除列表不再展示该项目,接口复核默认列表中该项目状态为 `1`
- 验收结束后已删除本轮验证项目数据。
- 验收期间启动的后端进程已通过 `bin/restart_java_backend.sh stop` 关闭;前端 1024 服务为验收前已存在进程,未额外关闭。
## 后续验收
已完成本地真实页面验收。后续上线前需在目标环境执行迁移脚本并使用管理员账号复核删除、已删除列表与恢复链路。