Files
ccdi/assets/implementation/scripts/test_intermediary_getinfo.sh
2026-03-03 16:14:16 +08:00

115 lines
3.7 KiB
Bash

#!/bin/bash
# 中介黑名单详细信息接口测试脚本
# 用于测试点击修改按钮时,后端接口是否正确返回中介类型信息
BASE_URL="http://localhost:8080"
# 颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
echo "========================================"
echo "中介黑名单详细信息接口测试"
echo "========================================"
echo ""
# 1. 登录获取token
echo -e "${YELLOW}1. 登录系统获取token...${NC}"
LOGIN_RESPONSE=$(curl -s -X POST "${BASE_URL}/login/test" \
-H "Content-Type: application/json" \
-d '{"username":"admin","password":"admin123"}')
TOKEN=$(echo $LOGIN_RESPONSE | grep -o '"token":"[^"]*"' | sed 's/"token":"//' | sed 's/"//')
if [ -z "$TOKEN" ]; then
echo -e "${RED}登录失败,无法获取token${NC}"
exit 1
fi
echo -e "${GREEN}登录成功,获取到token${NC}"
echo ""
# 2. 查询列表获取一个中介ID
echo -e "${YELLOW}2. 查询中介列表,获取测试数据...${NC}"
LIST_RESPONSE=$(curl -s -X GET "${BASE_URL}/dpc/intermediary/list?pageNum=1&pageSize=10" \
-H "Authorization: Bearer ${TOKEN}")
# 提取第一个中介ID
INTERMEDIARY_ID=$(echo $LIST_RESPONSE | grep -o '"intermediaryId":[0-9]*' | head -1 | sed 's/"intermediaryId"://')
if [ -z "$INTERMEDIARY_ID" ]; then
echo -e "${RED}未找到中介数据${NC}"
exit 1
fi
echo -e "${GREEN}找到中介ID: ${INTERMEDIARY_ID}${NC}"
echo ""
# 3. 测试获取详细信息
echo -e "${YELLOW}3. 获取中介详细信息 (ID: ${INTERMEDIARY_ID})...${NC}"
DETAIL_RESPONSE=$(curl -s -X GET "${BASE_URL}/dpc/intermediary/${INTERMEDIARY_ID}" \
-H "Authorization: Bearer ${TOKEN}")
echo "响应内容:"
echo "$DETAIL_RESPONSE" | python -m json.tool 2>/dev/null || echo "$DETAIL_RESPONSE"
echo ""
# 4. 检查是否包含intermediaryType字段
echo -e "${YELLOW}4. 验证返回数据是否包含中介类型字段...${NC}"
if echo "$DETAIL_RESPONSE" | grep -q '"intermediaryType"'; then
INTERMEDIARY_TYPE=$(echo $DETAIL_RESPONSE | grep -o '"intermediaryType":"[^"]*"' | sed 's/"intermediaryType":"//' | sed 's/"//')
if [ "$INTERMEDIARY_TYPE" = "1" ]; then
echo -e "${GREEN}✓ 包含中介类型字段,类型为: 个人 (1)${NC}"
elif [ "$INTERMEDIARY_TYPE" = "2" ]; then
echo -e "${GREEN}✓ 包含中介类型字段,类型为: 机构 (2)${NC}"
else
echo -e "${YELLOW}⚠ 包含中介类型字段,但值为: ${INTERMEDIARY_TYPE}${NC}"
fi
else
echo -e "${RED}✗ 缺少中介类型字段 (intermediaryType)${NC}"
echo ""
echo "这是导致前端表单无法正确反显的根本原因!"
echo "前端EditDialog组件需要根据intermediaryType判断显示个人还是机构表单"
fi
echo ""
# 5. 检查其他关键字段
echo -e "${YELLOW}5. 验证其他关键字段...${NC}"
check_field() {
FIELD_NAME=$1
if echo "$DETAIL_RESPONSE" | grep -q "\"${FIELD_NAME}\""; then
echo -e "${GREEN}${FIELD_NAME}: 存在${NC}"
else
echo -e "${RED}${FIELD_NAME}: 缺失${NC}"
fi
}
check_field "intermediaryId"
check_field "name"
check_field "certificateNo"
check_field "status"
check_field "remark"
echo ""
# 6. 根据中介类型检查特定字段
if [ "$INTERMEDIARY_TYPE" = "1" ]; then
echo -e "${YELLOW}6. 验证个人类型专属字段...${NC}"
check_field "indivType"
check_field "indivGender"
check_field "indivCertType"
elif [ "$INTERMEDIARY_TYPE" = "2" ]; then
echo -e "${YELLOW}6. 验证机构类型专属字段...${NC}"
check_field "corpCreditCode"
check_field "corpType"
check_field "corpNature"
fi
echo ""
echo "========================================"
echo "测试完成"
echo "========================================"