# Project Upload Page Light Redesign Backend Implementation Plan

> **For agentic workers:** REQUIRED: Use superpowers:executing-plans to implement this plan. Steps use checkbox (`- [ ]`) syntax for tracking.

**Goal:** 对“上传数据”页轻改版完成后端影响面确认，明确本次需求仅涉及前端结构与样式调整，后端接口、服务实现和数据库均无需改动。

**Architecture:** 该需求只移动前端按钮入口并删除前端上传卡片展示，不改变 `/ccdi/file-upload/*` 相关接口调用方式。后端工作聚焦在现有上传链路能力确认、必要的定向测试复核以及实施记录沉淀，避免误改 Java 或 SQL。

**Tech Stack:** Spring Boot 3, Java 21, Maven, SQL/接口检视, 文档记录

---

## 文件结构与职责

**修改文件**

- `docs/reports/implementation/2026-03-25-project-upload-page-light-redesign-backend-record.md`
  记录本次后端影响评估、验证命令与“无需代码改动”的结论。

**参考文件**

- `docs/superpowers/specs/2026-03-25-project-upload-page-light-redesign-design.md`
- `ccdi-project/src/main/java/com/ruoyi/ccdi/project/controller/CcdiFileUploadController.java`
- `ccdi-project/src/main/java/com/ruoyi/ccdi/project/service/impl/CcdiFileUploadServiceImpl.java`
- `ccdi-project/src/test/java/com/ruoyi/ccdi/project/controller/CcdiFileUploadControllerTest.java`
- `ccdi-project/src/test/java/com/ruoyi/ccdi/project/service/impl/CcdiFileUploadServiceImplTest.java`

## Task 1: 确认本次需求不触达后端契约

**Files:**
- Review: `ccdi-project/src/main/java/com/ruoyi/ccdi/project/controller/CcdiFileUploadController.java`
- Review: `ccdi-project/src/main/java/com/ruoyi/ccdi/project/service/impl/CcdiFileUploadServiceImpl.java`

- [ ] **Step 1: 检查上传页依赖的后端接口已完整存在**

Run:

```bash
rg -n "/ccdi/file-upload|parse-id-card-file|pull-bank-info|statistics/\\{projectId\\}" \
  ccdi-project/src/main/java/com/ruoyi/ccdi/project/controller/CcdiFileUploadController.java
```

Expected:

- PASS，能看到批量上传、身份证解析、拉取本行信息、统计查询等接口均已存在。

- [ ] **Step 2: 检查服务层无需因 UI 轻改版而变更**

Run:

```bash
rg -n "batchUploadFiles|parseIdCardFile|submitPullBankInfo|countByStatus|deleteFileUploadRecord" \
  ccdi-project/src/main/java/com/ruoyi/ccdi/project/service/impl/CcdiFileUploadServiceImpl.java
```

Expected:

- PASS，现有服务方法已覆盖上传页所有动作，本次不需要新增 service、mapper 或 DTO。

- [ ] **Step 3: 明确后端无改造结论**

结论必须覆盖：

```text
1. “上传流水”只是前端入口从卡片移动到头部，不改变请求目标
2. “查看报告”“拉取本行信息”“征信导入”均复用现有链路
3. 本次无需新增或修改 controller、service、mapper、SQL、菜单数据
```

## Task 2: 做定向测试复核，确认现有上传链路稳定

**Files:**
- Test: `ccdi-project/src/test/java/com/ruoyi/ccdi/project/controller/CcdiFileUploadControllerTest.java`
- Test: `ccdi-project/src/test/java/com/ruoyi/ccdi/project/service/impl/CcdiFileUploadServiceImplTest.java`

- [ ] **Step 1: 运行上传链路相关后端测试**

Run:

```bash
mvn -pl ccdi-project -Dtest=CcdiFileUploadControllerTest,CcdiFileUploadServiceImplTest test
```

Expected:

- PASS，说明上传、解析、拉取和统计相关后端能力保持可用。

- [ ] **Step 2: 记录无源码改动的验证口径**

补充说明：

```text
1. 本次后端验证的目标是确认“无需改动”而不是产出新功能
2. 若测试失败，先确认是否为历史问题，不要为配合前端样式调整而擅自改后端
```

## Task 3: 补后端实施记录并提交

**Files:**
- Create: `docs/reports/implementation/2026-03-25-project-upload-page-light-redesign-backend-record.md`

- [ ] **Step 1: 新增后端实施记录**

记录以下内容：

```markdown
# 上传数据页轻改版后端实施记录

## 结论
- 本次需求仅调整前端页面结构与样式
- 上传相关后端接口、服务与数据库结构保持不变
- 后端仅完成影响面确认与定向测试复核

## 检查范围
- CcdiFileUploadController
- CcdiFileUploadServiceImpl
- 上传链路相关单元测试

## 验证
- rg -n "/ccdi/file-upload|parse-id-card-file|pull-bank-info|statistics/\\{projectId\\}" ccdi-project/src/main/java/com/ruoyi/ccdi/project/controller/CcdiFileUploadController.java
- rg -n "batchUploadFiles|parseIdCardFile|submitPullBankInfo|countByStatus|deleteFileUploadRecord" ccdi-project/src/main/java/com/ruoyi/ccdi/project/service/impl/CcdiFileUploadServiceImpl.java
- mvn -pl ccdi-project -Dtest=CcdiFileUploadControllerTest,CcdiFileUploadServiceImplTest test
```

- [ ] **Step 2: 复核暂存区仅包含后端记录文件**

Run:

```bash
git status --short
```

Expected:

- 后端计划执行阶段不应带入任何 Java、SQL 或无关文档改动。

- [ ] **Step 3: 提交后端记录**

Run:

```bash
git add docs/reports/implementation/2026-03-25-project-upload-page-light-redesign-backend-record.md
git commit -m "补充上传数据页轻改版后端记录"
```

Expected:

- PASS，提交仅包含后端影响确认记录，且提交信息为中文。
