From d223671db7578b550216b26873e547d2b2df084f Mon Sep 17 00:00:00 2001 From: hailin Date: Sun, 1 Mar 2026 11:02:08 -0800 Subject: [PATCH] =?UTF-8?q?fix(ledger):=20=E5=88=86=E4=BA=AB=E6=94=B6?= =?UTF-8?q?=E7=9B=8A=E7=AD=9B=E9=80=89=E6=94=AF=E6=8C=81=E5=A4=9A=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=EF=BC=88REWARD=5FTO=5FSETTLEABLE=20+=20REWARD=5FPENDI?= =?UTF-8?q?NG=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 后端 entryType 筛选支持逗号分隔多值,前端"分享收益"同时查询两种类型, 解决未认种时收到的 REWARD_PENDING 分享权益在筛选中丢失的问题。 Co-Authored-By: Claude Opus 4.6 --- .../repositories/ledger-entry.repository.impl.ts | 10 ++++++---- .../trading/presentation/pages/ledger_detail_page.dart | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/backend/services/wallet-service/src/infrastructure/persistence/repositories/ledger-entry.repository.impl.ts b/backend/services/wallet-service/src/infrastructure/persistence/repositories/ledger-entry.repository.impl.ts index 1f5bd811..e069fa36 100644 --- a/backend/services/wallet-service/src/infrastructure/persistence/repositories/ledger-entry.repository.impl.ts +++ b/backend/services/wallet-service/src/infrastructure/persistence/repositories/ledger-entry.repository.impl.ts @@ -73,8 +73,9 @@ export class LedgerEntryRepositoryImpl implements ILedgerEntryRepository { }; if (filters?.entryType) { - // 如果用户指定了类型筛选,则使用用户指定的类型 - where.entryType = filters.entryType; + // 支持逗号分隔的多类型筛选(如 REWARD_TO_SETTLEABLE,REWARD_PENDING) + const types = filters.entryType.split(',').map(t => t.trim()).filter(Boolean); + where.entryType = types.length === 1 ? types[0] : { in: types }; } if (filters?.assetType) { where.assetType = filters.assetType; @@ -140,8 +141,9 @@ export class LedgerEntryRepositoryImpl implements ILedgerEntryRepository { }; if (filters?.entryType) { - // 如果用户指定了类型筛选,则使用用户指定的类型 - where.entryType = filters.entryType; + // 支持逗号分隔的多类型筛选(如 REWARD_TO_SETTLEABLE,REWARD_PENDING) + const types = filters.entryType.split(',').map(t => t.trim()).filter(Boolean); + where.entryType = types.length === 1 ? types[0] : { in: types }; } if (filters?.assetType) { where.assetType = filters.assetType; diff --git a/frontend/mobile-app/lib/features/trading/presentation/pages/ledger_detail_page.dart b/frontend/mobile-app/lib/features/trading/presentation/pages/ledger_detail_page.dart index 2cd881c1..d0d72a1d 100644 --- a/frontend/mobile-app/lib/features/trading/presentation/pages/ledger_detail_page.dart +++ b/frontend/mobile-app/lib/features/trading/presentation/pages/ledger_detail_page.dart @@ -46,7 +46,7 @@ class _LedgerDetailPageState extends ConsumerState {'value': 'TRANSFER_IN', 'label': '转入'}, {'value': 'TRANSFER_OUT', 'label': '转出'}, {'value': 'PLANT_PAYMENT', 'label': '认种支付'}, - {'value': 'REWARD_TO_SETTLEABLE', 'label': '分享收益'}, + {'value': 'REWARD_TO_SETTLEABLE,REWARD_PENDING', 'label': '分享收益'}, {'value': 'SYSTEM_ALLOCATION', 'label': '权益收入'}, {'value': 'REWARD_EXPIRED', 'label': '奖励过期'}, {'value': 'WITHDRAWAL', 'label': '提现'},