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

73 lines
2.2 KiB
Bash
Executable File

#!/bin/bash
# 数据库诊断脚本 - 检查订单审批状态
MYSQL_HOST="8.155.172.147"
MYSQL_USER="monisuo"
MYSQL_PASS="JPJ8wYicSGC8aRnk"
MYSQL_DB="monisuo"
echo "=========================================="
echo "订单审批数据库诊断"
echo "=========================================="
echo ""
echo "1. 检查 order_fund 表结构:"
echo "------------------------------------------"
mysql -h$MYSQL_HOST -u$MYSQL_USER -p$MYSQL_PASS $MYSQL_DB -e "DESCRIBE order_fund;" 2>/dev/null
echo ""
echo "2. 查询所有待审批订单:"
echo "------------------------------------------"
mysql -h$MYSQL_HOST -u$MYSQL_USER -p$MYSQL_PASS $MYSQL_DB -e "
SELECT id, order_no, type,
CASE type WHEN 1 THEN '充值' WHEN 2 THEN '提现' END as type_name,
status,
CASE
WHEN type = 1 THEN
CASE status
WHEN 1 THEN '待付款'
WHEN 2 THEN '待确认'
WHEN 3 THEN '已完成'
WHEN 4 THEN '已驳回'
WHEN 5 THEN '已取消'
END
WHEN type = 2 THEN
CASE status
WHEN 1 THEN '待审批'
WHEN 2 THEN '已完成'
WHEN 3 THEN '已驳回'
WHEN 4 THEN '已取消'
END
END as status_name,
amount, approve_admin_id, approve_time, update_time
FROM order_fund
ORDER BY create_time DESC
LIMIT 10;
" 2>/dev/null
echo ""
echo "3. 查询最近更新的订单:"
echo "------------------------------------------"
mysql -h$MYSQL_HOST -u$MYSQL_USER -p$MYSQL_PASS $MYSQL_DB -e "
SELECT id, order_no, status, approve_admin_id, approve_admin_name, approve_time, update_time
FROM order_fund
WHERE update_time IS NOT NULL
ORDER BY update_time DESC
LIMIT 5;
" 2>/dev/null
echo ""
echo "4. 检查 account_fund 表:"
echo "------------------------------------------"
mysql -h$MYSQL_HOST -u$MYSQL_USER -p$MYSQL_PASS $MYSQL_DB -e "
SELECT id, user_id, balance, frozen, total_deposit, total_withdraw, update_time
FROM account_fund
ORDER BY update_time DESC
LIMIT 5;
" 2>/dev/null
echo ""
echo "=========================================="
echo "诊断完成"
echo "=========================================="