fix(mobile): 兑换页可结算收益聚合正常认种+预种金额
之前只显示正常认种的 settleableUsdt,未包含预种收益, 导致有预种收益但显示"暂无可结算收益"。 现在并行获取两者并累加,与"我"页面保持一致。 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
5392c47e47
commit
cf07712a8c
|
|
@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
import 'package:go_router/go_router.dart';
|
import 'package:go_router/go_router.dart';
|
||||||
import '../../../../core/di/injection_container.dart';
|
import '../../../../core/di/injection_container.dart';
|
||||||
|
import '../../../../core/services/pre_planting_service.dart';
|
||||||
import '../../../../routes/route_paths.dart';
|
import '../../../../routes/route_paths.dart';
|
||||||
|
|
||||||
/// 结算币种枚举
|
/// 结算币种枚举
|
||||||
|
|
@ -38,25 +39,35 @@ class _TradingPageState extends ConsumerState<TradingPage> {
|
||||||
try {
|
try {
|
||||||
debugPrint('[TradingPage] 开始加载数据...');
|
debugPrint('[TradingPage] 开始加载数据...');
|
||||||
|
|
||||||
// 从 reward-service 获取可结算收益(与 Profile 页面保持一致)
|
// 并行获取:正常认种可结算 + 预种可结算 + 钱包余额
|
||||||
final rewardService = ref.read(rewardServiceProvider);
|
final rewardService = ref.read(rewardServiceProvider);
|
||||||
final summary = await rewardService.getMyRewardSummary();
|
final prePlantingService = ref.read(prePlantingServiceProvider);
|
||||||
|
|
||||||
// 从 wallet-service 获取 DST 余额
|
|
||||||
final walletService = ref.read(walletServiceProvider);
|
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) {
|
if (mounted) {
|
||||||
setState(() {
|
setState(() {
|
||||||
_settleableAmount = summary.settleableUsdt;
|
// 聚合正常认种 + 预种的可结算收益
|
||||||
|
_settleableAmount = summary.settleableUsdt + prePlantingRewards.settleableUsdt;
|
||||||
_dstBalance = wallet.balances.dst.available;
|
_dstBalance = wallet.balances.dst.available;
|
||||||
_usdtBalance = wallet.balances.usdt.available;
|
_usdtBalance = wallet.balances.usdt.available;
|
||||||
_isLoading = false;
|
_isLoading = false;
|
||||||
});
|
});
|
||||||
debugPrint('[TradingPage] 数据加载成功:');
|
debugPrint('[TradingPage] 数据加载成功:');
|
||||||
debugPrint('[TradingPage] 可结算 USDT: $_settleableAmount (from reward-service)');
|
debugPrint('[TradingPage] 正常认种可结算: ${summary.settleableUsdt}');
|
||||||
debugPrint('[TradingPage] DST 余额: $_dstBalance (from wallet-service)');
|
debugPrint('[TradingPage] 预种可结算: ${prePlantingRewards.settleableUsdt}');
|
||||||
debugPrint('[TradingPage] USDT 余额: $_usdtBalance (from wallet-service)');
|
debugPrint('[TradingPage] 合计可结算 USDT: $_settleableAmount');
|
||||||
|
debugPrint('[TradingPage] DST 余额: $_dstBalance');
|
||||||
|
debugPrint('[TradingPage] USDT 余额: $_usdtBalance');
|
||||||
}
|
}
|
||||||
} catch (e, stackTrace) {
|
} catch (e, stackTrace) {
|
||||||
debugPrint('[TradingPage] 加载数据失败: $e');
|
debugPrint('[TradingPage] 加载数据失败: $e');
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue