178 lines
4.7 KiB
Bash
178 lines
4.7 KiB
Bash
|
|
#!/bin/bash
|
||
|
|
|
||
|
|
################################################################################
|
||
|
|
# 中介黑名单管理测试数据清理脚本
|
||
|
|
# 功能: 清理测试脚本创建的测试数据
|
||
|
|
# 作者: Claude Code
|
||
|
|
# 日期: 2026-02-04
|
||
|
|
################################################################################
|
||
|
|
|
||
|
|
# 颜色定义
|
||
|
|
RED='\033[0;31m'
|
||
|
|
GREEN='\033[0;32m'
|
||
|
|
YELLOW='\033[1;33m'
|
||
|
|
NC='\033[0m' # No Color
|
||
|
|
|
||
|
|
# 配置
|
||
|
|
BASE_URL="http://localhost:8080"
|
||
|
|
TEST_USERNAME="admin"
|
||
|
|
TEST_PASSWORD="admin123"
|
||
|
|
|
||
|
|
# 输出函数
|
||
|
|
print_header() {
|
||
|
|
echo ""
|
||
|
|
echo "========================================"
|
||
|
|
echo "$1"
|
||
|
|
echo "========================================"
|
||
|
|
}
|
||
|
|
|
||
|
|
print_section() {
|
||
|
|
echo ""
|
||
|
|
echo -e "${YELLOW}=== $1 ===${NC}"
|
||
|
|
}
|
||
|
|
|
||
|
|
print_success() {
|
||
|
|
echo -e "${GREEN}✓ $1${NC}"
|
||
|
|
}
|
||
|
|
|
||
|
|
print_error() {
|
||
|
|
echo -e "${RED}✗ $1${NC}"
|
||
|
|
}
|
||
|
|
|
||
|
|
# 获取Token
|
||
|
|
get_token() {
|
||
|
|
print_section "获取Token"
|
||
|
|
|
||
|
|
TOKEN=$(curl -s -X POST "${BASE_URL}/login/test" \
|
||
|
|
-H "Content-Type: application/json" \
|
||
|
|
-d "{\"username\":\"${TEST_USERNAME}\",\"password\":\"${TEST_PASSWORD}\"}" | jq -r '.data.token')
|
||
|
|
|
||
|
|
if [ "$TOKEN" != "null" ] && [ -n "$TOKEN" ]; then
|
||
|
|
print_success "Token获取成功"
|
||
|
|
else
|
||
|
|
print_error "Token获取失败"
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
}
|
||
|
|
|
||
|
|
# 查询测试数据
|
||
|
|
query_test_data() {
|
||
|
|
print_section "查询测试数据"
|
||
|
|
|
||
|
|
echo "查询测试个人中介:"
|
||
|
|
PERSON_RESPONSE=$(curl -s -X GET "${BASE_URL}/ccdi/intermediary/list?name=测试中介个人&intermediaryType=1" \
|
||
|
|
-H "Authorization: Bearer $TOKEN")
|
||
|
|
|
||
|
|
echo "$PERSON_RESPONSE" | jq '.'
|
||
|
|
|
||
|
|
PERSON_IDS=$(echo "$PERSON_RESPONSE" | jq -r '.rows[].bizId // empty')
|
||
|
|
|
||
|
|
echo ""
|
||
|
|
echo "查询测试实体中介:"
|
||
|
|
ENTITY_RESPONSE=$(curl -s -X GET "${BASE_URL}/ccdi/intermediary/list?name=测试中介公司&intermediaryType=2" \
|
||
|
|
-H "Authorization: Bearer $TOKEN")
|
||
|
|
|
||
|
|
echo "$ENTITY_RESPONSE" | jq '.'
|
||
|
|
|
||
|
|
ENTITY_IDS=$(echo "$ENTITY_RESPONSE" | jq -r '.rows[].bizId // empty')
|
||
|
|
}
|
||
|
|
|
||
|
|
# 删除测试数据
|
||
|
|
delete_test_data() {
|
||
|
|
print_section "删除测试数据"
|
||
|
|
|
||
|
|
# 删除测试个人中介
|
||
|
|
if [ -n "$PERSON_IDS" ]; then
|
||
|
|
echo "删除测试个人中介: $PERSON_IDS"
|
||
|
|
DELETE_RESPONSE=$(curl -s -X DELETE "${BASE_URL}/ccdi/intermediary/${PERSON_IDS}" \
|
||
|
|
-H "Authorization: Bearer $TOKEN")
|
||
|
|
|
||
|
|
echo "$DELETE_RESPONSE" | jq '.'
|
||
|
|
|
||
|
|
code=$(echo "$DELETE_RESPONSE" | jq -r '.code')
|
||
|
|
if [ "$code" == "200" ]; then
|
||
|
|
print_success "测试个人中介删除成功"
|
||
|
|
else
|
||
|
|
print_error "测试个人中介删除失败"
|
||
|
|
fi
|
||
|
|
else
|
||
|
|
echo "没有找到测试个人中介数据"
|
||
|
|
fi
|
||
|
|
|
||
|
|
# 删除测试实体中介
|
||
|
|
if [ -n "$ENTITY_IDS" ]; then
|
||
|
|
echo ""
|
||
|
|
echo "删除测试实体中介: $ENTITY_IDS"
|
||
|
|
DELETE_RESPONSE=$(curl -s -X DELETE "${BASE_URL}/ccdi/intermediary/${ENTITY_IDS}" \
|
||
|
|
-H "Authorization: Bearer $TOKEN")
|
||
|
|
|
||
|
|
echo "$DELETE_RESPONSE" | jq '.'
|
||
|
|
|
||
|
|
code=$(echo "$DELETE_RESPONSE" | jq -r '.code')
|
||
|
|
if [ "$code" == "200" ]; then
|
||
|
|
print_success "测试实体中介删除成功"
|
||
|
|
else
|
||
|
|
print_error "测试实体中介删除失败"
|
||
|
|
fi
|
||
|
|
else
|
||
|
|
echo ""
|
||
|
|
echo "没有找到测试实体中介数据"
|
||
|
|
fi
|
||
|
|
}
|
||
|
|
|
||
|
|
# 验证删除结果
|
||
|
|
verify_deletion() {
|
||
|
|
print_section "验证删除结果"
|
||
|
|
|
||
|
|
echo "验证测试个人中介是否已删除:"
|
||
|
|
VERIFY_PERSON=$(curl -s -X GET "${BASE_URL}/ccdi/intermediary/list?name=测试中介个人&intermediaryType=1" \
|
||
|
|
-H "Authorization: Bearer $TOKEN")
|
||
|
|
|
||
|
|
TOTAL=$(echo "$VERIFY_PERSON" | jq -r '.total')
|
||
|
|
if [ "$TOTAL" == "0" ]; then
|
||
|
|
print_success "测试个人中介已全部删除"
|
||
|
|
else
|
||
|
|
print_error "仍有 $TOTAL 条测试个人中介数据未删除"
|
||
|
|
fi
|
||
|
|
|
||
|
|
echo ""
|
||
|
|
echo "验证测试实体中介是否已删除:"
|
||
|
|
VERIFY_ENTITY=$(curl -s -X GET "${BASE_URL}/ccdi/intermediary/list?name=测试中介公司&intermediaryType=2" \
|
||
|
|
-H "Authorization: Bearer $TOKEN")
|
||
|
|
|
||
|
|
TOTAL=$(echo "$VERIFY_ENTITY" | jq -r '.total')
|
||
|
|
if [ "$TOTAL" == "0" ]; then
|
||
|
|
print_success "测试实体中介已全部删除"
|
||
|
|
else
|
||
|
|
print_error "仍有 $TOTAL 条测试实体中介数据未删除"
|
||
|
|
fi
|
||
|
|
}
|
||
|
|
|
||
|
|
# 主函数
|
||
|
|
main() {
|
||
|
|
print_header "中介黑名单测试数据清理开始"
|
||
|
|
|
||
|
|
# 检查jq命令
|
||
|
|
if ! command -v jq &> /dev/null; then
|
||
|
|
print_error "jq命令未安装,请先安装: apt-get install jq 或 yum install jq"
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
|
||
|
|
# 获取Token
|
||
|
|
get_token
|
||
|
|
|
||
|
|
# 查询测试数据
|
||
|
|
query_test_data
|
||
|
|
|
||
|
|
# 删除测试数据
|
||
|
|
delete_test_data
|
||
|
|
|
||
|
|
# 验证删除结果
|
||
|
|
verify_deletion
|
||
|
|
|
||
|
|
print_header "清理完成"
|
||
|
|
}
|
||
|
|
|
||
|
|
# 执行主函数
|
||
|
|
main
|