Files
loan-pricing/test-api.sh
2026-01-20 11:20:39 +08:00

133 lines
3.7 KiB
Bash
Raw Permalink 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.
#!/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 "===================================="