From cf07712a8c08a9646be7333c141733de65c07921 Mon Sep 17 00:00:00 2001 From: hailin Date: Sun, 1 Mar 2026 03:11:13 -0800 Subject: [PATCH] =?UTF-8?q?fix(mobile):=20=E5=85=91=E6=8D=A2=E9=A1=B5?= =?UTF-8?q?=E5=8F=AF=E7=BB=93=E7=AE=97=E6=94=B6=E7=9B=8A=E8=81=9A=E5=90=88?= =?UTF-8?q?=E6=AD=A3=E5=B8=B8=E8=AE=A4=E7=A7=8D+=E9=A2=84=E7=A7=8D?= =?UTF-8?q?=E9=87=91=E9=A2=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 之前只显示正常认种的 settleableUsdt,未包含预种收益, 导致有预种收益但显示"暂无可结算收益"。 现在并行获取两者并累加,与"我"页面保持一致。 Co-Authored-By: Claude Opus 4.6 --- .../presentation/pages/trading_page.dart | 29 +++++++++++++------ 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/frontend/mobile-app/lib/features/trading/presentation/pages/trading_page.dart b/frontend/mobile-app/lib/features/trading/presentation/pages/trading_page.dart index 9a273a26..73116693 100644 --- a/frontend/mobile-app/lib/features/trading/presentation/pages/trading_page.dart +++ b/frontend/mobile-app/lib/features/trading/presentation/pages/trading_page.dart @@ -2,6 +2,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:go_router/go_router.dart'; import '../../../../core/di/injection_container.dart'; +import '../../../../core/services/pre_planting_service.dart'; import '../../../../routes/route_paths.dart'; /// 结算币种枚举 @@ -38,25 +39,35 @@ class _TradingPageState extends ConsumerState { try { debugPrint('[TradingPage] 开始加载数据...'); - // 从 reward-service 获取可结算收益(与 Profile 页面保持一致) + // 并行获取:正常认种可结算 + 预种可结算 + 钱包余额 final rewardService = ref.read(rewardServiceProvider); - final summary = await rewardService.getMyRewardSummary(); - - // 从 wallet-service 获取 DST 余额 + final prePlantingService = ref.read(prePlantingServiceProvider); final walletService = ref.read(walletServiceProvider); - final wallet = await walletService.getMyWallet(); + + final results = await Future.wait([ + rewardService.getMyRewardSummary(), + prePlantingService.getMyRewards(), + walletService.getMyWallet(), + ]); + + final summary = results[0] as dynamic; + final prePlantingRewards = results[1] as PrePlantingMyRewards; + final wallet = results[2] as dynamic; if (mounted) { setState(() { - _settleableAmount = summary.settleableUsdt; + // 聚合正常认种 + 预种的可结算收益 + _settleableAmount = summary.settleableUsdt + prePlantingRewards.settleableUsdt; _dstBalance = wallet.balances.dst.available; _usdtBalance = wallet.balances.usdt.available; _isLoading = false; }); debugPrint('[TradingPage] 数据加载成功:'); - debugPrint('[TradingPage] 可结算 USDT: $_settleableAmount (from reward-service)'); - debugPrint('[TradingPage] DST 余额: $_dstBalance (from wallet-service)'); - debugPrint('[TradingPage] USDT 余额: $_usdtBalance (from wallet-service)'); + debugPrint('[TradingPage] 正常认种可结算: ${summary.settleableUsdt}'); + debugPrint('[TradingPage] 预种可结算: ${prePlantingRewards.settleableUsdt}'); + debugPrint('[TradingPage] 合计可结算 USDT: $_settleableAmount'); + debugPrint('[TradingPage] DST 余额: $_dstBalance'); + debugPrint('[TradingPage] USDT 余额: $_usdtBalance'); } } catch (e, stackTrace) { debugPrint('[TradingPage] 加载数据失败: $e');