From 518667e88eb1d0bab10729e0675262060bb8bca9 Mon Sep 17 00:00:00 2001 From: hailin Date: Fri, 12 Dec 2025 19:10:39 -0800 Subject: [PATCH] =?UTF-8?q?fix(reward-service):=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E4=B8=8E=20wallet-service=20=E7=9A=84=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E4=B8=8D=E5=8C=B9=E9=85=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修复 allocateFunds 接口: - targetType: 使用 USER/SYSTEM 而不是 rightType - targetId: 使用 accountSequence 而不是 userId - allocationType: 新增字段,存储 rightType - hashpowerPercent: 新增字段,传递算力百分比 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- .../services/reward-application.service.ts | 7 +++++-- .../external/wallet-service/wallet-service.client.ts | 12 ++++++++++-- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/backend/services/reward-service/src/application/services/reward-application.service.ts b/backend/services/reward-service/src/application/services/reward-application.service.ts index 85a45b14..63c84828 100644 --- a/backend/services/reward-service/src/application/services/reward-application.service.ts +++ b/backend/services/reward-service/src/application/services/reward-application.service.ts @@ -55,10 +55,13 @@ export class RewardApplicationService { const rewards = await this.rewardCalculationService.calculateRewards(params); // 2. 调用 wallet-service 执行真正的资金分配 + // 字段映射:targetType=USER/SYSTEM, targetId=accountSequence, allocationType=rightType const allocations = rewards.map(reward => ({ - targetType: reward.rewardSource.rightType, + targetType: reward.accountSequence.startsWith('S') ? 'SYSTEM' : 'USER', + targetId: reward.accountSequence, // 使用 accountSequence 而不是 userId + allocationType: reward.rewardSource.rightType, amount: reward.usdtAmount.amount, - targetAccountId: `USER:${reward.userId}`, + hashpowerPercent: reward.hashpowerAmount.value > 0 ? reward.hashpowerAmount.value : undefined, metadata: { rightType: reward.rewardSource.rightType, sourceOrderNo: params.sourceOrderNo, diff --git a/backend/services/reward-service/src/infrastructure/external/wallet-service/wallet-service.client.ts b/backend/services/reward-service/src/infrastructure/external/wallet-service/wallet-service.client.ts index ef60d9a6..48355d4f 100644 --- a/backend/services/reward-service/src/infrastructure/external/wallet-service/wallet-service.client.ts +++ b/backend/services/reward-service/src/infrastructure/external/wallet-service/wallet-service.client.ts @@ -10,9 +10,17 @@ export interface SwapResult { } export interface FundAllocationItem { - targetType: string; + // 目标类型: USER 或 SYSTEM + targetType: 'USER' | 'SYSTEM'; + // 目标ID: accountSequence (如 D2512120001 或 S0000000001) + targetId: string; + // 分配类型 (如 COST_FEE, SHARE_RIGHT 等) + allocationType: string; + // 金额 (USDT) amount: number; - targetAccountId: string; + // 算力百分比(可选) + hashpowerPercent?: number; + // 元数据 metadata?: Record; }