Files
monisuo/test_fix.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

165 lines
4.7 KiB
Bash
Executable File
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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
# StackOverflowError 修复测试脚本
# 使用方法: ./test_fix.sh
echo "======================================"
echo " Monisuo StackOverflowError 修复测试"
echo "======================================"
echo ""
# 颜色定义
GREEN='\033[0;32m'
RED='\033[0;31m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
# 检查 Java 环境
echo "1⃣ 检查 Java 环境..."
if ! command -v java &> /dev/null; then
echo -e "${RED}❌ 未找到 Java 环境${NC}"
echo "请先安装 Java: https://www.java.com/download/"
exit 1
fi
JAVA_VERSION=$(java -version 2>&1 | head -n 1)
echo -e "${GREEN}✅ Java 环境: $JAVA_VERSION${NC}"
echo ""
# 编译项目
echo "2⃣ 编译项目..."
cd "$(dirname "$0")"
if [ ! -f "pom.xml" ]; then
echo -e "${RED}❌ 未找到 pom.xml${NC}"
exit 1
fi
mvn clean package -DskipTests
if [ $? -ne 0 ]; then
echo -e "${RED}❌ 编译失败${NC}"
exit 1
fi
echo -e "${GREEN}✅ 编译成功${NC}"
echo ""
# 检查是否有旧的进程在运行
echo "3⃣ 检查旧进程..."
OLD_PID=$(ps aux | grep 'monisuo-1.0.jar' | grep -v grep | awk '{print $2}')
if [ ! -z "$OLD_PID" ]; then
echo -e "${YELLOW}⚠️ 发现旧进程 (PID: $OLD_PID),正在停止...${NC}"
kill -9 $OLD_PID
sleep 2
fi
echo -e "${GREEN}✅ 没有旧进程${NC}"
echo ""
# 启动服务
echo "4⃣ 启动服务..."
nohup java -jar target/monisuo-1.0.jar > app.log 2>&1 &
APP_PID=$!
echo -e "${GREEN}✅ 服务已启动 (PID: $APP_PID)${NC}"
echo "⏳ 等待服务启动..."
sleep 10
echo ""
# 检查服务状态
echo "5⃣ 检查服务状态..."
if ps -p $APP_PID > /dev/null; then
echo -e "${GREEN}✅ 服务正在运行${NC}"
else
echo -e "${RED}❌ 服务启动失败${NC}"
echo "查看日志: tail -100 app.log"
exit 1
fi
echo ""
# 检查启动日志
echo "6⃣ 检查启动日志..."
if tail -50 app.log | grep -q "Started SpcCloudApplication"; then
echo -e "${GREEN}✅ 服务启动成功${NC}"
elif tail -50 app.log | grep -q "Error\|Exception"; then
echo -e "${RED}❌ 启动过程中发现错误${NC}"
echo "错误日志:"
tail -50 app.log | grep -A 5 "Error\|Exception"
exit 1
else
echo -e "${YELLOW}⚠️ 未找到启动成功标志,请手动检查${NC}"
fi
echo ""
# 测试接口
echo "7⃣ 测试核心接口(需要登录 Token..."
echo "注意: 以下测试需要有效的 Authorization Token"
echo ""
read -p "是否要测试接口?(y/n) " -n 1 -r
echo ""
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
echo "跳过接口测试"
echo ""
echo "======================================"
echo -e "${GREEN}✅ 修复验证完成${NC}"
echo "服务正在运行PID: $APP_PID"
echo "日志文件: app.log"
echo "======================================"
exit 0
fi
read -p "请输入 Authorization Token: " TOKEN
if [ -z "$TOKEN" ]; then
echo -e "${YELLOW}⚠️ 未提供 Token跳过接口测试${NC}"
else
echo ""
echo "测试 /api/asset/overview..."
RESPONSE=$(curl -s -w "\n%{http_code}" -H "Authorization: Bearer $TOKEN" http://localhost:8080/api/asset/overview)
HTTP_CODE=$(echo "$RESPONSE" | tail -n 1)
BODY=$(echo "$RESPONSE" | head -n -1)
if [ "$HTTP_CODE" = "200" ]; then
echo -e "${GREEN}✅ /api/asset/overview - 成功${NC}"
echo "响应: $BODY"
else
echo -e "${RED}❌ /api/asset/overview - 失败 (HTTP $HTTP_CODE)${NC}"
echo "响应: $BODY"
fi
echo ""
echo "测试 /api/asset/trade..."
RESPONSE=$(curl -s -w "\n%{http_code}" -H "Authorization: Bearer $TOKEN" http://localhost:8080/api/asset/trade)
HTTP_CODE=$(echo "$RESPONSE" | tail -n 1)
BODY=$(echo "$RESPONSE" | head -n -1)
if [ "$HTTP_CODE" = "200" ]; then
echo -e "${GREEN}✅ /api/asset/trade - 成功${NC}"
echo "响应: $BODY"
else
echo -e "${RED}❌ /api/asset/trade - 失败 (HTTP $HTTP_CODE)${NC}"
echo "响应: $BODY"
fi
echo ""
echo "测试 /api/asset/fund..."
RESPONSE=$(curl -s -w "\n%{http_code}" -H "Authorization: Bearer $TOKEN" http://localhost:8080/api/asset/fund)
HTTP_CODE=$(echo "$RESPONSE" | tail -n 1)
BODY=$(echo "$RESPONSE" | head -n -1)
if [ "$HTTP_CODE" = "200" ]; then
echo -e "${GREEN}✅ /api/asset/fund - 成功${NC}"
echo "响应: $BODY"
else
echo -e "${RED}❌ /api/asset/fund - 失败 (HTTP $HTTP_CODE)${NC}"
echo "响应: $BODY"
fi
echo ""
fi
echo "======================================"
echo -e "${GREEN}✅ 所有测试完成${NC}"
echo "服务正在运行PID: $APP_PID"
echo "停止服务: kill $APP_PID"
echo "查看日志: tail -f app.log"
echo "======================================"