test_new_features.sh 3.83 KB
#!/bin/bash

# 测试新功能的脚本
# 使用方法:./test_new_features.sh

BASE_URL="http://localhost:2011"
TOKEN=""

echo "=========================================="
echo "开始测试新功能接口"
echo "=========================================="
echo ""

# 1. 获取Token
echo "1. 获取Token..."
LOGIN_RESPONSE=$(curl -s -X POST "${BASE_URL}/api/oauth/Login" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "account=admin&password=e10adc3949ba59abbe56e057f20f883e")

TOKEN=$(echo $LOGIN_RESPONSE | python3 -c "import sys, json; print(json.load(sys.stdin)['data']['token'])" 2>/dev/null)

if [ -z "$TOKEN" ]; then
  echo "❌ 获取Token失败"
  echo "响应: $LOGIN_RESPONSE"
  exit 1
fi

echo "✅ Token获取成功"
echo ""

# 2. 测试开单品项明细接口 - 检查是否返回支付医院和合作机构的中文名称
echo "2. 测试开单品项明细接口(检查hgjgName和fkyyName字段)..."
BILLING_DETAIL_RESPONSE=$(curl -s -X GET "${BASE_URL}/api/Extend/lqkdkdjlb/billing-item-detail-list?currentPage=1&pageSize=5" \
  -H "Authorization: ${TOKEN}")

echo "响应示例(前500字符):"
echo $BILLING_DETAIL_RESPONSE | python3 -m json.tool 2>/dev/null | head -30

# 检查是否包含hgjgName和fkyyName字段
if echo $BILLING_DETAIL_RESPONSE | grep -q "hgjgName\|fkyyName"; then
  echo "✅ 开单品项明细接口包含hgjgName和fkyyName字段"
else
  echo "⚠️  开单品项明细接口可能未包含hgjgName和fkyyName字段"
fi
echo ""

# 3. 测试报销申请接口 - 检查是否返回completionTime字段
echo "3. 测试报销申请接口(检查completionTime字段)..."
REIMBURSEMENT_RESPONSE=$(curl -s -X GET "${BASE_URL}/api/Extend/LqReimbursementApplication?currentPage=1&pageSize=5" \
  -H "Authorization: ${TOKEN}")

echo "响应示例(前500字符):"
echo $REIMBURSEMENT_RESPONSE | python3 -m json.tool 2>/dev/null | head -30

# 检查是否包含completionTime字段
if echo $REIMBURSEMENT_RESPONSE | grep -q "completionTime"; then
  echo "✅ 报销申请接口包含completionTime字段"
else
  echo "⚠️  报销申请接口可能未包含completionTime字段"
fi
echo ""

# 4. 测试报销申请接口 - 测试完成时间筛选功能
echo "4. 测试报销申请接口(测试completionTime筛选)..."
# 测试筛选2025年11月的完成时间
REIMBURSEMENT_FILTER_RESPONSE=$(curl -s -X GET "${BASE_URL}/api/Extend/LqReimbursementApplication?currentPage=1&pageSize=5&completionTime=2025-11-01,2025-11-30" \
  -H "Authorization: ${TOKEN}")

echo "筛选响应示例(前500字符):"
echo $REIMBURSEMENT_FILTER_RESPONSE | python3 -m json.tool 2>/dev/null | head -30

if echo $REIMBURSEMENT_FILTER_RESPONSE | grep -q "code.*200\|list"; then
  echo "✅ 报销申请接口完成时间筛选功能正常"
else
  echo "⚠️  报销申请接口完成时间筛选可能有问题"
fi
echo ""

# 5. 测试店内支出导入 - 需要准备Excel文件,这里只测试接口是否存在
echo "5. 测试店内支出导入接口(检查接口是否存在)..."
# 注意:实际导入需要Excel文件,这里只检查接口
IMPORT_CHECK=$(curl -s -X POST "${BASE_URL}/api/Extend/LqStoreExpense/Actions/Import" \
  -H "Authorization: ${TOKEN}" \
  -F "file=@/dev/null" 2>&1)

if echo $IMPORT_CHECK | grep -q "请选择要上传的Excel文件\|文件格式错误"; then
  echo "✅ 店内支出导入接口存在(需要Excel文件才能完整测试)"
else
  echo "⚠️  店内支出导入接口可能有问题"
  echo "响应: $IMPORT_CHECK"
fi
echo ""

echo "=========================================="
echo "测试完成"
echo "=========================================="
echo ""
echo "注意:"
echo "1. 店内支出导入功能需要准备Excel文件才能完整测试"
echo "2. Excel格式:第0列应为门店名称(不再是门店ID)"
echo "3. 修改开单金额接口的品相备份功能需要确认具体需求"