Files
monisuo/test_approve_order.sh
sion 4f17e7ea8a fix: 修复订单审批状态不更新的问题
主要修复:
1. 添加 MetaObjectHandler 自动填充时间字段
2. 启用 @EnableTransactionManagement 显式事务管理
3. 使用 LambdaUpdateWrapper 强制更新订单状态
4. 完善 MyBatis Plus 配置和字段更新策略
5. 添加详细的调试日志配置
6. 前端集成 vconsole 调试工具

关键修改文件:
- SpcCloudApplication.java: 添加 @EnableTransactionManagement
- FundService.java: 使用 LambdaUpdateWrapper 显式更新
- MyBatisPlusMetaObjectHandler.java: 自动填充时间字段
- application-dev.yml: 完善配置和日志
- monisuo-admin: 添加 vconsole 调试工具
2026-03-24 09:41:23 +08:00

130 lines
3.7 KiB
Bash
Executable File
Raw 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
# 审批订单测试脚本
# 用于测试管理员审批充值订单的完整流程
BASE_URL="http://localhost:5010"
ADMIN_TOKEN=""
echo "=========================================="
echo "审批订单测试脚本"
echo "=========================================="
echo ""
# 1. 管理员登录
echo "步骤1: 管理员登录..."
LOGIN_RESPONSE=$(curl -s -X POST "${BASE_URL}/admin/login" \
-H "Content-Type: application/json" \
-d '{
"username": "admin",
"password": "admin123"
}')
echo "登录响应: ${LOGIN_RESPONSE}"
echo ""
# 提取token
ADMIN_TOKEN=$(echo ${LOGIN_RESPONSE} | grep -o '"token":"[^"]*"' | cut -d'"' -f4)
echo "Token: ${ADMIN_TOKEN}"
echo ""
if [ -z "$ADMIN_TOKEN" ]; then
echo "❌ 登录失败无法获取token"
exit 1
fi
echo "✅ 登录成功"
echo ""
# 2. 查询待审批订单
echo "步骤2: 查询待审批订单..."
PENDING_RESPONSE=$(curl -s -X GET "${BASE_URL}/admin/order/pending?pageNum=1&pageSize=10" \
-H "Authorization: Bearer ${ADMIN_TOKEN}")
echo "待审批订单响应:"
echo "${PENDING_RESPONSE}" | python3 -m json.tool 2>/dev/null || echo "${PENDING_RESPONSE}"
echo ""
# 提取第一个订单号
ORDER_NO=$(echo ${PENDING_RESPONSE} | grep -o '"orderNo":"[^"]*"' | head -1 | cut -d'"' -f4)
echo "第一个待审批订单号: ${ORDER_NO}"
echo ""
if [ -z "$ORDER_NO" ]; then
echo "⚠️ 没有待审批订单,无法继续测试"
exit 0
fi
# 3. 查询订单详情(审批前)
echo "步骤3: 查询订单详情(审批前)..."
ORDER_LIST_RESPONSE=$(curl -s -X GET "${BASE_URL}/admin/order/list?pageNum=1&pageSize=1" \
-H "Authorization: Bearer ${ADMIN_TOKEN}")
echo "订单列表响应:"
echo "${ORDER_LIST_RESPONSE}" | python3 -m json.tool 2>/dev/null || echo "${ORDER_LIST_RESPONSE}"
echo ""
# 4. 执行审批操作
echo "=========================================="
echo "步骤4: 执行审批操作(通过)"
echo "=========================================="
echo "订单号: ${ORDER_NO}"
echo "审批状态: 2 (通过)"
echo ""
APPROVE_RESPONSE=$(curl -s -X POST "${BASE_URL}/admin/order/approve" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${ADMIN_TOKEN}" \
-d "{
\"orderNo\": \"${ORDER_NO}\",
\"status\": 2,
\"adminRemark\": \"测试审批通过\"
}")
echo "审批响应: ${APPROVE_RESPONSE}"
echo ""
# 检查审批结果
if echo "${APPROVE_RESPONSE}" | grep -q '"code":"0"'; then
echo "✅ 审批接口调用成功"
else
echo "❌ 审批接口调用失败"
fi
echo ""
# 5. 等待几秒后查询订单状态
echo "步骤5: 等待2秒后查询订单状态..."
sleep 2
echo "查询订单详情(审批后)..."
VERIFY_RESPONSE=$(curl -s -X GET "${BASE_URL}/admin/order/list?pageNum=1&pageSize=10" \
-H "Authorization: Bearer ${ADMIN_TOKEN}")
echo "订单列表响应:"
echo "${VERIFY_RESPONSE}" | python3 -m json.tool 2>/dev/null || echo "${VERIFY_RESPONSE}"
echo ""
# 查找刚才审批的订单
echo "验证订单 ${ORDER_NO} 的状态..."
ORDER_STATUS=$(echo ${VERIFY_RESPONSE} | grep -A 20 "\"orderNo\":\"${ORDER_NO}\"" | grep -o '"status":[0-9]*' | head -1 | cut -d':' -f2)
echo "订单状态: ${ORDER_STATUS}"
echo ""
if [ "$ORDER_STATUS" = "3" ]; then
echo "✅✅✅ 测试成功!订单状态已更新为 3 (已完成)"
elif [ "$ORDER_STATUS" = "2" ]; then
echo "⚠️ 警告:订单状态仍为 2 (待确认),审批可能未生效"
else
echo "❌ 测试失败!订单状态异常: ${ORDER_STATUS}"
fi
echo ""
echo "=========================================="
echo "测试完成"
echo "=========================================="
echo ""
echo "请检查后端日志输出,查看详细的审批流程日志:"
echo " - [AdminController] 开头的日志"
echo " - [FundService.approve] 开头的日志"
echo ""