From 7320900289215dd4a5ce35e1683339a53f49bbc8 Mon Sep 17 00:00:00 2001 From: hailin Date: Thu, 11 Dec 2025 03:28:02 -0800 Subject: [PATCH] fix(mobile): sync trading page settleable data with profile page MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Trading page now fetches settleableUsdt from reward-service instead of wallet-service to ensure data consistency with profile page. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- .../presentation/pages/trading_page.dart | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 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 9a17c3dc..19cafc2b 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 @@ -33,22 +33,28 @@ class _TradingPageState extends ConsumerState { /// 加载钱包数据 Future _loadWalletData() async { try { - debugPrint('[TradingPage] 开始加载钱包数据...'); + debugPrint('[TradingPage] 开始加载数据...'); + + // 从 reward-service 获取可结算收益(与 Profile 页面保持一致) + final rewardService = ref.read(rewardServiceProvider); + final summary = await rewardService.getMyRewardSummary(); + + // 从 wallet-service 获取 DST 余额 final walletService = ref.read(walletServiceProvider); final wallet = await walletService.getMyWallet(); if (mounted) { setState(() { - _settleableAmount = wallet.rewards.settleableUsdt; + _settleableAmount = summary.settleableUsdt; _dstBalance = wallet.balances.dst.available; _isLoading = false; }); - debugPrint('[TradingPage] 钱包数据加载成功:'); - debugPrint('[TradingPage] 可结算 USDT: $_settleableAmount'); - debugPrint('[TradingPage] DST 余额: $_dstBalance'); + debugPrint('[TradingPage] 数据加载成功:'); + debugPrint('[TradingPage] 可结算 USDT: $_settleableAmount (from reward-service)'); + debugPrint('[TradingPage] DST 余额: $_dstBalance (from wallet-service)'); } } catch (e, stackTrace) { - debugPrint('[TradingPage] 加载钱包数据失败: $e'); + debugPrint('[TradingPage] 加载数据失败: $e'); debugPrint('[TradingPage] 堆栈: $stackTrace'); if (mounted) { setState(() {