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');