86 lines
3.5 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.

# Backend Validation: sw-business-bank 银行代扣文件传输配置能力
## 固定基线
- 分支:`develop`
- 提交:`b540f1f48bf2d6c28aa183749ca61231071c0942`
- 验证日期2026-03-24
## 验证命令
```bash
mvn -f /Volumes/Dpan/github/water-workspace/water-backend/sw-business-bank/pom.xml -pl sw-business-bank-server -am -DskipTests compile
mvn -f /Volumes/Dpan/github/water-workspace/water-backend/sw-business-bank/pom.xml -pl sw-business-bank-server -am -Dtest=BankTransferPathResolverTest,BankWithholdingTransferConfigTest -Dsurefire.failIfNoSpecifiedTests=false test
```
## 结果摘要
- 编译:通过
- 定向测试:通过
- 测试统计2 个测试类9 个测试用例全部通过
- Docker 文件通道 smoke通过
## 场景证据
### 默认规则
- `BankTransferPathResolverTest.resolve_usesDefaultRuleWhenNoOverrideMatches`
- 结论:未命中覆盖时,按默认 `SFTP` 与默认目录生成 `resolvedDir/resolvedPath`
### 租户覆盖
- `BankTransferPathResolverTest.resolve_prefersTenantChannelThenTenantThenChannel`
- 结论:存在租户与租户-通道覆盖时,租户相关覆盖能命中并参与最终结果
### 通道覆盖
- `BankTransferPathResolverTest.resolve_prefersTenantChannelThenTenantThenChannel`
- 结论:通道覆盖在默认规则之上生效,并在存在更具体作用域时被更高优先级覆盖
### 租户-通道覆盖
- `BankTransferPathResolverTest.resolve_prefersTenantChannelThenTenantThenChannel`
- 结论:`TENANT_CHANNEL` 优先级最高,可同时覆盖协议与目录
### 字段级回退
- `BankTransferPathResolverTest.resolve_fallsBackFieldByFieldWhenHigherScopeIsPartial`
- 结论:高优先级仅覆盖协议时,目录继续回退到下一级有效规则,不生成空路径
### 协议切换
- `BankTransferPathResolverTest.resolve_switchesProtocolWithoutChangingCallerLogic`
- 结论:同一路径解析入口可在 `SFTP/FTP` 间切换,无需调用方自行拼路径
### `ARCHIVE` / `LOCAL_TEMP`
- `BankTransferPathResolverTest.resolve_supportsArchiveAndLocalTempStages`
- 结论:归档目录与本地临时目录均纳入统一解析范围
### 非法模板变量失败
- `BankTransferPathResolverTest.resolve_rejectsUnknownTemplateVariable`
- 结论:命中未声明变量时立即抛出配置错误
### 配置缺失失败
- `BankTransferPathResolverTest.resolve_rejectsMissingConfig`
- 结论:协议连接信息不完整时立即阻断当前文件动作
### 已落库批次配置切换回归
- `BankWithholdingTransferConfigTest.resolveStoredOrCurrentBackLocation_reusesPersistedBatchConfigAfterConfigSwitch`
- 结论:已固化 `backProtocol/backDir` 的批次继续沿用原目录,不漂移到新配置
- `BankWithholdingTransferConfigTest.resolveStoredOrCurrentBackLocation_usesCurrentResolverWhenBatchHasNoSnapshot`
- 结论:未固化回盘目录的旧对象仍可回退到当前统一解析器
## 备注
- 已执行基于 Docker 容器的本地文件通道 smoke
- `BankTransferSftpSmokeCli` -> `bank-transfer-test-sftp (127.0.0.1:2222)` 上传/下载/哈希比对通过
- `BankTransferFtpSmokeCli` -> `bank-transfer-test-ftp (127.0.0.1:2121)` 上传/下载/哈希比对通过
- 当前样本 SHA256`2520ee11a48cb01c9372c91a012549a50a39de40441a4295309993727239653b`
- 本轮仍未执行真实银行 `SFTP/FTP` 网络连通性验证;相关联调继续作为 deferred 保留。
- H2 测试夹具本轮未新增数据库级用例,`application-unit-test.yaml``sql/create_tables.sql` 无需为当前两组定向测试额外扩展。