3.3 KiB
3.3 KiB
余额显示为0问题诊断
问题现象
APP中钱包页面显示余额为0,但后台管理系统中用户有余额。
可能原因
1. 后端未部署最新代码
检查方法:
# 查看后端日志
ssh root@1.15.149.240 "tail -f /www/server/project/zhibo-h/logs/crmeb-front.log"
解决方法:
# 重新部署后端
deploy-balance-system.bat
2. 数据库字段问题
检查方法:
-- 检查now_money字段是否存在
SHOW COLUMNS FROM eb_user LIKE 'now_money';
-- 查看测试用户的余额
SELECT uid, account, nickname, now_money
FROM eb_user
WHERE uid = 43;
解决方法:
-- 如果字段不存在,添加字段
ALTER TABLE eb_user ADD COLUMN now_money DECIMAL(10,2) DEFAULT 0.00 COMMENT '用户余额';
-- 如果余额为0,给测试用户添加余额
UPDATE eb_user SET now_money = 1000.00 WHERE uid = 43;
3. API调用失败
检查方法: 在Android Studio中查看logcat日志:
adb logcat -s WalletActivity:D
查看日志输出:
- Response code: 应该是200
- Is OK: 应该是true
- Balance: 应该显示实际余额
可能的错误:
- 401: 未登录或token过期
- 404: API路径错误
- 500: 服务器错误
4. APP未重新编译
解决方法: 在Android Studio中:
- Build -> Clean Project
- Build -> Rebuild Project
- 重新运行APP
完整诊断步骤
步骤1: 检查数据库
-- 执行 test_balance_api.sql
SELECT uid, account, nickname, now_money
FROM eb_user
WHERE uid = 43;
如果余额为0,执行:
UPDATE eb_user SET now_money = 1000.00 WHERE uid = 43;
步骤2: 检查后端API
使用curl测试(需要先获取token):
# 1. 登录获取token
curl -X POST http://1.15.149.240:8080/api/front/login \
-H "Content-Type: application/json" \
-d '{"account":"13800000043","password":"123456"}'
# 2. 使用token测试余额API
curl -H "Authorization: Bearer YOUR_TOKEN" \
http://1.15.149.240:8080/api/front/virtual-currency/balance
预期返回:
{
"success": true,
"code": 200,
"message": "操作成功",
"data": {
"balance": 1000.00,
"userId": 43
}
}
步骤3: 检查APP日志
# 清除旧日志
adb logcat -c
# 查看实时日志
adb logcat -s WalletActivity:D
# 然后在APP中打开钱包页面
查看日志输出,确认:
- API是否调用成功
- 返回的数据是否正确
- 是否有异常错误
步骤4: 重新部署
如果以上都正常但还是显示0,重新部署:
# 1. 部署后端
deploy-balance-system.bat
# 2. 重新编译APP
# 在Android Studio中 Build -> Rebuild Project
# 3. 重新安装APP到设备
快速修复
如果确认是数据库余额为0的问题:
-- 给所有测试用户添加余额
UPDATE eb_user
SET now_money = 1000.00
WHERE uid IN (43, 44, 45, 46) AND now_money = 0;
-- 验证
SELECT uid, account, nickname, now_money
FROM eb_user
WHERE uid IN (43, 44, 45, 46);
然后重启APP,刷新钱包页面。
验证修复
- 打开APP
- 登录账号(13800000043 / 123456)
- 进入"我的"页面
- 点击"钱包"
- 查看余额是否正确显示
如果显示正确,测试充值功能:
- 点击"充值"
- 选择充值套餐
- 选择支付方式
- 点击"确认充值"
- 返回钱包页面,查看余额是否增加