fujian_water_biz_doc/scripts/run-bank-transfer-smoke.sh

67 lines
2.0 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
BACKEND_DIR="${ROOT_DIR}/../water-backend/sw-business-bank"
SERVER_DIR="${BACKEND_DIR}/sw-business-bank-server"
CP_FILE="/tmp/sw-business-bank-server.cp"
MODE="${1:-}"
if [[ -z "${MODE}" ]]; then
echo "Usage: $0 <sftp|ftp> [sample-file]"
exit 1
fi
SAMPLE_FILE="${2:-${ROOT_DIR}/infra/docker/bank-transfer-test/tmp/sample.txt}"
if [[ ! -f "${SAMPLE_FILE}" ]]; then
echo "Sample file not found: ${SAMPLE_FILE}"
exit 1
fi
case "${MODE}" in
sftp)
MAIN_CLASS="cn.com.emsoft.sw.bankbusiness.tools.BankTransferSftpSmokeCli"
PORT="2222"
SEND_DIR="/upload/{companyId}"
REMOTE_FILE="smoke-cli-sample.txt"
DOWNLOAD_TARGET="${ROOT_DIR}/infra/docker/bank-transfer-test/tmp/sftp-smoke-download-smoke-cli-sample.txt"
BATCH_NO="SMOKE010"
;;
ftp)
MAIN_CLASS="cn.com.emsoft.sw.bankbusiness.tools.BankTransferFtpSmokeCli"
PORT="2121"
SEND_DIR="{companyId}"
REMOTE_FILE="smoke-cli-ftp-sample.txt"
DOWNLOAD_TARGET="${ROOT_DIR}/infra/docker/bank-transfer-test/tmp/ftp-smoke-download-smoke-cli-sample.txt"
BATCH_NO="SMOKE010FTP"
;;
*)
echo "Unsupported mode: ${MODE}"
echo "Usage: $0 <sftp|ftp> [sample-file]"
exit 1
;;
esac
echo "[1/3] Compile sw-business-bank-server"
mvn -f "${BACKEND_DIR}/pom.xml" -pl sw-business-bank-server -am -DskipTests compile
echo "[2/3] Build runtime classpath"
mvn -f "${SERVER_DIR}/pom.xml" -DincludeScope=runtime dependency:build-classpath -Dmdep.outputFile="${CP_FILE}"
echo "[3/3] Run ${MODE^^} smoke"
java -cp "$(cat "${CP_FILE}"):${SERVER_DIR}/target/classes" "${MAIN_CLASS}" \
--local-file "${SAMPLE_FILE}" \
--host 127.0.0.1 \
--port "${PORT}" \
--username demo \
--password demo123 \
--send-dir "${SEND_DIR}" \
--company-id C001 \
--channel-code 00001 \
--batch-no "${BATCH_NO}" \
--business-date 2026-03-24 \
--remote-file-name "${REMOTE_FILE}" \
--download-target "${DOWNLOAD_TARGET}"