# Bank Transfer Test Compose 用于本地快速拉起一组最小化 SFTP / FTP 测试容器。 ## 服务 - `sftp` - 镜像:`atmoz/sftp` - 用户:`demo` - 密码:`demo123` - 目录:`/home/demo/upload` - 主机端口:`2222` - `ftp` - 镜像:`fauria/vsftpd` - 用户:`demo` - 密码:`demo123` - 目录:`/home/vsftpd/demo` - 主机端口:`2121` - `tester` - 镜像:`alpine:3.20` - 内置 `openssh-client` 与 `lftp` ## 启动 ```bash docker compose -f infra/docker/bank-transfer-test/compose.yaml up -d ``` ## Java Smoke ### SFTP 先编译 `sw-business-bank-server`: ```bash mvn -f ../water-backend/sw-business-bank/pom.xml -pl sw-business-bank-server -am -DskipTests compile ``` 执行 SFTP smoke CLI: ```bash mvn -f ../water-backend/sw-business-bank/sw-business-bank-server/pom.xml \ -DincludeScope=runtime dependency:build-classpath \ -Dmdep.outputFile=/tmp/sw-business-bank-server.cp java -cp "$(cat /tmp/sw-business-bank-server.cp):../water-backend/sw-business-bank/sw-business-bank-server/target/classes" \ cn.com.emsoft.sw.bankbusiness.tools.BankTransferSftpSmokeCli \ --local-file infra/docker/bank-transfer-test/tmp/sample.txt \ --host 127.0.0.1 \ --port 2222 \ --username demo \ --password demo123 \ --send-dir /upload/{companyId} \ --company-id C001 \ --channel-code 00001 \ --batch-no SMOKE010 \ --business-date 2026-03-24 \ --remote-file-name smoke-cli-sample.txt \ --download-target infra/docker/bank-transfer-test/tmp/sftp-smoke-download-smoke-cli-sample.txt ``` ### FTP 执行 FTP smoke CLI: ```bash java -cp "$(cat /tmp/sw-business-bank-server.cp):../water-backend/sw-business-bank/sw-business-bank-server/target/classes" \ cn.com.emsoft.sw.bankbusiness.tools.BankTransferFtpSmokeCli \ --local-file infra/docker/bank-transfer-test/tmp/sample.txt \ --host 127.0.0.1 \ --port 2121 \ --username demo \ --password demo123 \ --send-dir {companyId} \ --company-id C001 \ --channel-code 00001 \ --batch-no SMOKE010FTP \ --business-date 2026-03-24 \ --remote-file-name smoke-cli-ftp-sample.txt \ --download-target infra/docker/bank-transfer-test/tmp/ftp-smoke-download-smoke-cli-ftp-sample.txt ``` ### 当前已验证结果 - SFTP:通过 - FTP:通过 - 样本文件 SHA256: ```text 2520ee11a48cb01c9372c91a012549a50a39de40441a4295309993727239653b ``` ## 停止 ```bash docker compose -f infra/docker/bank-transfer-test/compose.yaml down ```