diff --git a/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application.Contracts/Dtos/UsageStatistics/PremiumTokenUsageGetListInput.cs b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application.Contracts/Dtos/UsageStatistics/PremiumTokenUsageGetListInput.cs
new file mode 100644
index 00000000..e3766e10
--- /dev/null
+++ b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application.Contracts/Dtos/UsageStatistics/PremiumTokenUsageGetListInput.cs
@@ -0,0 +1,12 @@
+using Volo.Abp.Application.Dtos;
+using Yi.Framework.Ddd.Application.Contracts;
+
+namespace Yi.Framework.AiHub.Application.Contracts.Dtos.UsageStatistics;
+
+public class PremiumTokenUsageGetListInput : PagedAllResultRequestDto
+{
+ ///
+ /// 是否免费
+ ///
+ public bool? IsFree { get; set; }
+}
\ No newline at end of file
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
index 0027df6f..d3b29ffc 100644
--- 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
@@ -1,56 +1,57 @@
using Volo.Abp.Application.Dtos;
+using Yi.Framework.Ddd.Application.Contracts;
namespace Yi.Framework.AiHub.Application.Contracts.Dtos.UsageStatistics;
public class PremiumTokenUsageGetListOutput : CreationAuditedEntityDto
{
- ///
- /// id
- ///
- public Guid Id { get; set; }
+ ///
+ /// id
+ ///
+ public Guid Id { get; set; }
- ///
- /// 用户ID
- ///
- public Guid UserId { get; set; }
+ ///
+ /// 用户ID
+ ///
+ public Guid UserId { get; set; }
- ///
- /// 包名称
- ///
- public string PackageName { get; set; }
+ ///
+ /// 包名称
+ ///
+ public string PackageName { get; set; }
- ///
- /// 总用量(总token数)
- ///
- public long TotalTokens { get; set; }
+ ///
+ /// 总用量(总token数)
+ ///
+ public long TotalTokens { get; set; }
- ///
- /// 剩余用量(剩余token数)
- ///
- public long RemainingTokens { get; set; }
+ ///
+ /// 剩余用量(剩余token数)
+ ///
+ public long RemainingTokens { get; set; }
- ///
- /// 已使用token数
- ///
- public long UsedTokens { get; set; }
+ ///
+ /// 已使用token数
+ ///
+ public long UsedTokens { get; set; }
- ///
- /// 到期时间
- ///
- public DateTime? ExpireDateTime { get; set; }
+ ///
+ /// 到期时间
+ ///
+ public DateTime? ExpireDateTime { get; set; }
- ///
- /// 是否激活
- ///
- public bool IsActive { get; set; }
+ ///
+ /// 是否激活
+ ///
+ public bool IsActive { get; set; }
- ///
- /// 购买金额
- ///
- public decimal PurchaseAmount { get; set; }
+ ///
+ /// 购买金额
+ ///
+ public decimal PurchaseAmount { get; set; }
- ///
- /// 备注
- ///
- public string? Remark { 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/UsageStatisticsService.cs b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application/Services/UsageStatisticsService.cs
index bd00a6de..ffb49bb9 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
@@ -147,15 +147,19 @@ public class UsageStatisticsService : ApplicationService, IUsageStatisticsServic
///
///
[HttpGet("usage-statistics/premium-token-usage/list")]
- public async Task> GetPremiumTokenUsageListAsync(PagedAllResultRequestDto input)
+ public async Task> GetPremiumTokenUsageListAsync(
+ PremiumTokenUsageGetListInput input)
{
var userId = CurrentUser.GetId();
RefAsync total = 0;
// 获取尊享包Token信息
var entities = await _premiumPackageRepository._DbQueryable
.Where(x => x.UserId == userId)
- .OrderByDescending(x=>x.CreationTime)
+ .WhereIF(input.IsFree == true, x => x.PurchaseAmount > 0)
+ .WhereIF(input.IsFree == false, x => x.PurchaseAmount == 0)
+ .OrderByDescending(x => x.CreationTime)
.ToPageListAsync(input.SkipCount, input.MaxResultCount, total);
- return new PagedResultDto(total, entities.Adapt>());
+ return new PagedResultDto(total,
+ entities.Adapt>());
}
}
\ No newline at end of file