115 lines
3.7 KiB
Bash
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 "========================================"
|