Files
monisuo/fix_asset_api.sh
sion a4423e044b fix: 修复Flutter资产页面API接口字段名称不匹配问题
主要修改:
1. AssetService.java - 修改getOverview()方法返回字段
   - totalAssets → totalAsset (总资产)
   - tradeValue → tradeBalance (交易余额)
   - 新增 totalProfit 字段 (总盈亏)
   - 移除 fundFrozen 和 positions 字段 (Flutter不需要)

2. 新增诊断工具和文档:
   - ASSET_API_DIAGNOSIS.md - API接口问题诊断报告
   - DATABASE_SCHEMA.md - 数据库表结构说明
   - test_asset_api.sh - API接口测试脚本
   - query_fund_accounts.sh - 用户资金账户查询脚本
   - fix_asset_api.sh - 自动修复脚本

修复后API返回格式:
{
  "totalAsset": 15500.0,      // 总资产
  "fundBalance": 15500.0,     // 资金余额
  "tradeBalance": 0,          // 交易余额
  "totalProfit": 0            // 总盈亏
}

影响范围:
- Flutter前端资产页面现在可以正确显示用户资产
- 充值审批后余额正确更新
- 资金账户数据查询正常
2026-03-24 14:08:59 +08:00

78 lines
2.3 KiB
Bash
Executable File

#!/bin/bash
echo "================================"
echo "修复资产API接口"
echo "================================"
# 备份原文件
echo "步骤1: 备份原文件..."
cp src/main/java/com/it/rattan/monisuo/service/AssetService.java \
src/main/java/com/it/rattan/monisuo/service/AssetService.java.backup
echo "✅ 备份完成"
echo ""
# 使用 sed 修改文件
echo "步骤2: 修改AssetService.java..."
# 1. 修改 totalAssets -> totalAsset
sed -i '' 's/put("totalAssets"/put("totalAsset"/g' \
src/main/java/com/it/rattan/monisuo/service/AssetService.java
# 2. 修改 tradeValue -> tradeBalance
sed -i '' 's/put("tradeValue"/put("tradeBalance"/g' \
src/main/java/com/it/rattan/monisuo/service/AssetService.java
# 3. 修改变量名
sed -i '' 's/BigDecimal tradeValue/BigDecimal tradeBalance/g' \
src/main/java/com/it/rattan/monisuo/service/AssetService.java
sed -i '' 's/tradeValue = tradeValue/tradeBalance = tradeBalance/g' \
src/main/java/com/it/rattan/monisuo/service/AssetService.java
sed -i '' 's/tradeValue\.add/tradeBalance.add/g' \
src/main/java/com/it/rattan/monisuo/service/AssetService.java
sed -i '' 's/BigDecimal totalAssets/BigDecimal totalAsset/g' \
src/main/java/com/it/rattan/monisuo/service/AssetService.java
sed -i '' 's/totalAssets = fund/totalAsset = fund/g' \
src/main/java/com/it/rattan/monisuo/service/AssetService.java
sed -i '' 's/\.add(tradeValue)/.add(tradeBalance)/g' \
src/main/java/com/it/rattan/monisuo/service/AssetService.java
echo "✅ 修改完成"
echo ""
# 编译
echo "步骤3: 编译项目..."
mvn clean package -DskipTests 2>&1 | tail -20
if [ $? -eq 0 ]; then
echo "✅ 编译成功"
echo ""
echo "步骤4: 重启服务..."
pkill -f monisuo-1.0.jar
sleep 2
export JAVA_HOME=/opt/homebrew/Cellar/openjdk@17/17.0.18/libexec/openjdk.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH
nohup java -jar target/monisuo-1.0.jar --server.port=5010 > logs/app.log 2>&1 &
echo "等待服务启动..."
sleep 15
echo "✅ 服务已重启"
echo ""
echo "步骤5: 测试验证..."
./test_asset_api.sh
else
echo "❌ 编译失败"
echo "恢复备份..."
cp src/main/java/com/it/rattan/monisuo/service/AssetService.java.backup \
src/main/java/com/it/rattan/monisuo/service/AssetService.java
fi