# Pull Bank Info Upload Button Hit Area Backend Implementation Plan

> **For Claude:** REQUIRED SUB-SKILL: Use superpowers:executing-plans to implement this plan task-by-task.

**Goal:** Confirm this UI optimization does not require backend changes and document the verification boundary.

**Architecture:** The issue is caused by the frontend dialog structure and scoped styles in the upload page. Backend APIs, request payloads, and parsing logic remain unchanged, so this plan only records the no-op backend conclusion and the checks needed to avoid accidental interface regressions.

**Tech Stack:** Java 21, Spring Boot 3, Maven, existing `ccdi-project` upload APIs

---

### Task 1: Verify backend impact is zero

**Files:**
- Review: `docs/design/2026-03-12-pull-bank-info-upload-button-hit-area-design.md`
- Review: `ccdi-project/src/main/java/com/ruoyi/ccdi/project/controller/`
- Review: `ccdi-project/src/main/java/com/ruoyi/ccdi/project/service/`

**Step 1: Confirm the bug scope**

Check that the reported problem is limited to the frontend dialog button hit area and layout, not request construction or backend response handling.

**Step 2: Verify no API contract changes are needed**

Review the existing pull-bank-info request fields and confirm the dialog still submits the same `projectId`, `idCards`, `startDate`, and `endDate`.

**Step 3: Keep backend code unchanged**

Do not modify controller, service, mapper, or DTO classes for this task.

**Step 4: Run targeted regression verification if frontend payload changes are suspected**

Run only if implementation unexpectedly touches request assembly:

```bash
mvn test -Dtest=CcdiFileUploadServiceImplTest
```

Expected: related backend tests pass and no interface behavior changes are introduced.
