From 108ba348f66456d3c291f06a3b9f60a1c0769501 Mon Sep 17 00:00:00 2001 From: chenchun Date: Tue, 28 Oct 2025 17:43:23 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=89=A3=E5=87=8F=E5=B0=8A=E4=BA=AB?= =?UTF-8?q?=E5=8C=85=E7=94=A8=E9=87=8F=E5=B9=B6=E8=B0=83=E6=95=B4=E6=97=A5?= =?UTF-8?q?=E5=B8=B8=E4=BB=BB=E5=8A=A1=E5=A5=96=E5=8A=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 AiGateWayManager 中新增:当请求使用尊享包模型时,按实际使用的 totalTokens 调用 PremiumPackageManager.TryConsumeTokensAsync 扣减用户尊享包用量(仅在 totalTokens > 0 时)。 - 调整 DailyTaskService 中两项日常任务的奖励配置:1000w 消耗奖励由 200w -> 100w,3000w 消耗奖励由 400w -> 200w。 - 兼顾少量格式化优化(if 条件空格调整)。 --- .../Services/DailyTaskService.cs | 4 ++-- .../Managers/AiGateWayManager.cs | 12 +++++++++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application/Services/DailyTaskService.cs b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application/Services/DailyTaskService.cs index 263197ff..6bf90d36 100644 --- a/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application/Services/DailyTaskService.cs +++ b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application/Services/DailyTaskService.cs @@ -28,8 +28,8 @@ public class DailyTaskService : ApplicationService private readonly Dictionary _taskConfigs = new() { - { 1, (10000000, 2000000, "尊享包1000w token任务", "累积使用尊享包 1000w token") }, // 1000w消耗 -> 200w奖励 - { 2, (30000000, 4000000, "尊享包3000w token任务", "累积使用尊享包 3000w token") } // 3000w消耗 -> 600w奖励 + { 1, (10000000, 1000000, "尊享包1000w token任务", "累积使用尊享包 1000w token") }, // 1000w消耗 -> 100w奖励 + { 2, (30000000, 2000000, "尊享包3000w token任务", "累积使用尊享包 3000w token") } // 3000w消耗 -> 200w奖励 }; public DailyTaskService( diff --git a/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Domain/Managers/AiGateWayManager.cs b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Domain/Managers/AiGateWayManager.cs index cabdd9a4..8cb263b2 100644 --- a/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Domain/Managers/AiGateWayManager.cs +++ b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Domain/Managers/AiGateWayManager.cs @@ -154,6 +154,16 @@ public class AiGateWayManager : DomainService }); await _usageStatisticsManager.SetUsageAsync(userId.Value, request.Model, data.Usage); + + // 扣减尊享token包用量 + if (PremiumPackageConst.ModeIds.Contains(request.Model)) + { + var totalTokens = data.Usage?.TotalTokens ?? 0; + if (totalTokens > 0) + { + await PremiumPackageManager.TryConsumeTokensAsync(userId.Value, totalTokens); + } + } } await response.WriteAsJsonAsync(data, cancellationToken); @@ -225,7 +235,7 @@ public class AiGateWayManager : DomainService { await foreach (var data in completeChatResponse) { - if (data.Usage is not null&&(data.Usage.CompletionTokens>0||data.Usage.OutputTokens>0)) + if (data.Usage is not null && (data.Usage.CompletionTokens > 0 || data.Usage.OutputTokens > 0)) { tokenUsage = data.Usage; }