# 拉取行内/金综流水来源选择实施记录

## 修改内容

- 后端拉取流水提交 DTO 增加 `dataChannelCode`。
- 后端 Controller 校验流水来源，仅允许 `ZJRCU` 与 `JZL`。
- 后端 Service 透传来源到流水平台请求。
- 行内流水继续传页面日期；金综流水固定传 `dataStartDateId=0`、`dataEndDateId=0`。
- 前端上传数据页入口改为“拉取流水”，弹窗增加行内/金综单选。
- 前端选择金综流水时隐藏时间跨度，提交 `dataChannelCode=JZL`。
- 行内和金综均支持多个证件号码批量提交，沿用原 `idCards` 列表。
- 类型备注调整为截图口径，金综备注不再出现“时间参数”。

## 影响范围

- 项目详情页上传数据模块。
- `/ccdi/file-upload/pull-bank-info` 接口。
- 流水平台拉取行内/金综流水请求参数组装。

## 验证情况

- 后端单测通过：
  - `mvn -pl ccdi-project -am test "-Dtest=CcdiFileUploadControllerTest,CcdiFileUploadServiceImplTest" "-Dsurefire.failIfNoSpecifiedTests=false"`
  - 结果：40 个测试通过。
- 前端构建通过：
  - `.nvmrc` 指向 `14.21.3`，本机 `nvm use` 未读取版本参数；按本机已验证环境使用 Node `v22.22.3`、npm `10.9.8`。
  - `npm run build:prod`
  - 结果：构建成功，仅存在既有资源体积告警。
- 真实页面验证通过：
  - 启动真实 `ruoyi-admin.jar` 后端并访问 `http://127.0.0.1:62318/swagger-ui.html`，返回 200。
  - 启动前端开发服务，实际访问地址为 `http://127.0.0.1:8089/`。
  - 在真实项目详情页 `90342` 打开“拉取流水”弹窗，默认选中“拉取行内流水”并显示时间跨度。
  - 切换“拉取金综流水”后，时间跨度隐藏。
  - 金综备注显示为“备注:自动获取最近30天内授权的流水文件”。
  - 复查行内备注显示为“备注:仅支持获取近一年流水”，金综备注未出现“时间参数”。
  - 未点击“确认拉取”，未提交真实拉取任务。
- 测试结束后已停止本轮启动的前端和后端进程，端口 `8088`、`8089`、`62318` 无本轮服务监听。

## 提交前复验

- 后端单测复验通过：`CcdiFileUploadControllerTest`、`CcdiFileUploadServiceImplTest` 共 40 个测试通过。
- 前端生产构建复验通过：继续使用 Node `v22.22.3`、npm `10.9.8`，构建成功，仅存在既有资源体积告警。
- 真实页面复验通过：访问 `http://127.0.0.1:8088/ccdiProject/detail/90342`，打开“拉取流水”弹窗后默认选中“拉取行内流水”；切换“拉取金综流水”后时间跨度隐藏；两条备注与截图一致，页面未出现“时间参数”。
- 复验未点击“确定”，未提交真实拉取任务；复验结束后已停止后端 `62318` 与前端 `8088` 监听进程。
