feat: 为尊享包 Token 列表新增按是否免费过滤并添加请求 DTO

- 新增 PremiumTokenUsageGetListInput,包含 IsFree 过滤项并继承分页 DTO
- 修改 UsageStatisticsService.GetPremiumTokenUsageListAsync 签名为使用新的输入 DTO,并根据 IsFree 添加 WhereIF 过滤
- 微调 DTO 导入与格式化(PremiumTokenUsageGetListOutput)
This commit is contained in:
chenchun
2025-11-14 18:00:49 +08:00
parent c1a6046107
commit da23d17af8
3 changed files with 60 additions and 43 deletions

View File

@@ -147,15 +147,19 @@ public class UsageStatisticsService : ApplicationService, IUsageStatisticsServic
/// </summary>
/// <returns></returns>
[HttpGet("usage-statistics/premium-token-usage/list")]
public async Task<PagedResultDto<PremiumTokenUsageGetListOutput>> GetPremiumTokenUsageListAsync(PagedAllResultRequestDto input)
public async Task<PagedResultDto<PremiumTokenUsageGetListOutput>> GetPremiumTokenUsageListAsync(
PremiumTokenUsageGetListInput input)
{
var userId = CurrentUser.GetId();
RefAsync<int> 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<PremiumTokenUsageGetListOutput>(total, entities.Adapt<List<PremiumTokenUsageGetListOutput>>());
return new PagedResultDto<PremiumTokenUsageGetListOutput>(total,
entities.Adapt<List<PremiumTokenUsageGetListOutput>>());
}
}