diff --git a/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application.Contracts/Dtos/UsageStatistics/PremiumTokenUsageGetListOutput.cs b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application.Contracts/Dtos/UsageStatistics/PremiumTokenUsageGetListOutput.cs
new file mode 100644
index 00000000..09a41902
--- /dev/null
+++ b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application.Contracts/Dtos/UsageStatistics/PremiumTokenUsageGetListOutput.cs
@@ -0,0 +1,54 @@
+namespace Yi.Framework.AiHub.Application.Contracts.Dtos.UsageStatistics;
+
+public class PremiumTokenUsageGetListOutput
+{
+ ///
+ /// id
+ ///
+ public Guid Id { get; set; }
+
+ ///
+ /// 用户ID
+ ///
+ public Guid UserId { get; set; }
+
+ ///
+ /// 包名称
+ ///
+ public string PackageName { get; set; }
+
+ ///
+ /// 总用量(总token数)
+ ///
+ public long TotalTokens { get; set; }
+
+ ///
+ /// 剩余用量(剩余token数)
+ ///
+ public long RemainingTokens { get; set; }
+
+ ///
+ /// 已使用token数
+ ///
+ public long UsedTokens { get; set; }
+
+ ///
+ /// 到期时间
+ ///
+ public DateTime? ExpireDateTime { get; set; }
+
+ ///
+ /// 是否激活
+ ///
+ public bool IsActive { get; set; }
+
+ ///
+ /// 购买金额
+ ///
+ public decimal PurchaseAmount { get; set; }
+
+ ///
+ /// 备注
+ ///
+ public string? Remark { get; set; }
+}
\ No newline at end of file
diff --git a/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application/Services/AiChatService.cs b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application/Services/Chat/AiChatService.cs
similarity index 100%
rename from Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application/Services/AiChatService.cs
rename to Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application/Services/Chat/AiChatService.cs
diff --git a/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application/Services/MessageService.cs b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application/Services/Chat/MessageService.cs
similarity index 100%
rename from Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application/Services/MessageService.cs
rename to Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application/Services/Chat/MessageService.cs
diff --git a/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application/Services/SessionService.cs b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application/Services/Chat/SessionService.cs
similarity index 100%
rename from Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application/Services/SessionService.cs
rename to Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application/Services/Chat/SessionService.cs
diff --git a/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application/Services/TokenService.cs b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application/Services/Chat/TokenService.cs
similarity index 100%
rename from Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application/Services/TokenService.cs
rename to Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application/Services/Chat/TokenService.cs
diff --git a/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application/Services/UsageStatisticsService.cs b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application/Services/UsageStatisticsService.cs
index 05d6eaeb..72d549d8 100644
--- a/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application/Services/UsageStatisticsService.cs
+++ b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application/Services/UsageStatisticsService.cs
@@ -1,5 +1,8 @@
+using Mapster;
using Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Mvc;
using SqlSugar;
+using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
using Volo.Abp.Users;
using Yi.Framework.AiHub.Application.Contracts.Dtos.UsageStatistics;
@@ -7,6 +10,7 @@ using Yi.Framework.AiHub.Application.Contracts.IServices;
using Yi.Framework.AiHub.Domain.Entities;
using Yi.Framework.AiHub.Domain.Entities.Chat;
using Yi.Framework.AiHub.Domain.Extensions;
+using Yi.Framework.Ddd.Application.Contracts;
using Yi.Framework.SqlSugarCore.Abstractions;
namespace Yi.Framework.AiHub.Application.Services;
@@ -137,4 +141,20 @@ public class UsageStatisticsService : ApplicationService, IUsageStatisticsServic
return result;
}
+
+ ///
+ /// 获取当前用户尊享服务token用量统计列表
+ ///
+ ///
+ [HttpGet("usage-statistics/premium-token-usage/list")]
+ public async Task> GetPremiumTokenUsageListAsync(PagedAllResultRequestDto input)
+ {
+ var userId = CurrentUser.GetId();
+ RefAsync total = 0;
+ // 获取尊享包Token信息
+ var entities = await _premiumPackageRepository._DbQueryable
+ .Where(x => x.UserId == userId)
+ .ToPageListAsync(input.SkipCount, input.MaxResultCount, total);
+ return new PagedResultDto(total, entities.Adapt>());
+ }
}
\ No newline at end of file
diff --git a/Yi.Abp.Net8/src/Yi.Abp.Web/YiAbpWebModule.cs b/Yi.Abp.Net8/src/Yi.Abp.Web/YiAbpWebModule.cs
index 2149f1b5..922d0f61 100644
--- a/Yi.Abp.Net8/src/Yi.Abp.Web/YiAbpWebModule.cs
+++ b/Yi.Abp.Net8/src/Yi.Abp.Web/YiAbpWebModule.cs
@@ -355,7 +355,7 @@ namespace Yi.Abp.Web
var app = context.GetApplicationBuilder();
app.UseRouting();
- app.ApplicationServices.GetRequiredService().SqlSugarClient.CodeFirst.InitTables();
+ //app.ApplicationServices.GetRequiredService().SqlSugarClient.CodeFirst.InitTables();
// app.ApplicationServices.GetRequiredService().SqlSugarClient.CodeFirst.InitTables();
//跨域