#!/bin/bash # 利率定价流程 API 测试脚本 # 使用前请先登录获取 token BASE_URL="http://localhost:8080" TOKEN="" echo "====================================" echo "利率定价流程 API 测试" echo "====================================" echo "" # 颜色定义 GREEN='\033[0;32m' RED='\033[0;31m' YELLOW='\033[1;33m' NC='\033[0m' # No Color # 如果没有提供 token,提示用户登录 if [ -z "$TOKEN" ]; then echo "${YELLOW}请先使用以下步骤获取 token:${NC}" echo "1. 访问 http://localhost:8080" echo "2. 使用 admin/admin123 登录" echo "3. 打开浏览器开发者工具 (F12)" echo "4. 在 Network 标签中找到登录请求" echo "5. 从响应中复制 token 值" echo "" echo "然后设置 TOKEN 变量后运行此脚本" echo "" echo "或者使用以下方式登录 (需要手动输入验证码):" echo "" fi # 测试函数 test_api() { local method=$1 local url=$2 local data=$3 local description=$4 echo -n "测试: $description ... " if [ "$method" = "GET" ]; then response=$(curl -s -X GET "$BASE_URL$url" \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json") else response=$(curl -s -X "$method" "$BASE_URL$url" \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d "$data") fi # 检查响应 if echo "$response" | grep -q '"code":200'; then echo -e "${GREEN}✓ 通过${NC}" echo " 响应: $(echo "$response" | head -c 200)..." else echo -e "${RED}✗ 失败${NC}" echo " 响应: $response" fi echo "" } # 测试用例 echo "====================================" echo "测试用例" echo "====================================" echo "" # 测试 1: 发起利率定价流程 test_api "POST" "/loanPricing/workflow/create" '{ "orgCode": "931000", "runType": "1", "custIsn": "CUST001", "custType": "个人", "guarType": "信用", "midPerQuickPay": "true", "midPerEleDdc": "false", "midEntEleDdc": "false", "midEntWaterDdc": "false", "applyAmt": "50000", "isCleanEnt": "false", "hasSettleAcct": "true", "isManufacturing": "false", "isAgriGuar": "false", "isTaxA": "false", "isAgriLeading": "false", "loanPurpose": "consumer", "bizProof": "true", "collType": "一类", "collThirdParty": "false", "loanRate": "4.35", "custName": "张三", "idType": "身份证", "isInclusiveFinance": "true" }' "发起利率定价流程 (个人客户-信用贷款)" # 测试 2: 发起利率定价流程 (企业客户) test_api "POST" "/loanPricing/workflow/create" '{ "orgCode": "931000", "runType": "1", "custIsn": "CUST002", "custType": "企业", "guarType": "抵押", "applyAmt": "500000", "isCleanEnt": "true", "hasSettleAcct": "true", "isManufacturing": "true", "isTaxA": "true", "loanPurpose": "business", "collType": "一线", "collThirdParty": "false", "loanRate": "3.85", "custName": "测试科技有限公司", "idType": "统一社会信用代码", "isInclusiveFinance": "true" }' "发起利率定价流程 (企业客户-抵押贷款)" # 测试 3: 查询流程列表 test_api "GET" "/loanPricing/workflow/list?pageNum=1&pageSize=10" "" "查询流程列表 (第1页)" # 测试 4: 查询流程列表 (筛选条件) test_api "GET" "/loanPricing/workflow/list?pageNum=1&pageSize=10&custType=个人" "" "查询流程列表 (筛选:个人客户)" # 测试 5: 查询流程列表 (按客户名称搜索) test_api "GET" "/loanPricing/workflow/list?pageNum=1&pageSize=10&custName=张三" "" "查询流程列表 (搜索:张三)" echo "====================================" echo "测试完成" echo "===================================="