using Mapster; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using SqlSugar; using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Services; using Yi.Framework.DigitalCollectibles.Application.Contracts.Dtos.Collectibles; using Yi.Framework.DigitalCollectibles.Application.Contracts.Dtos.Market; using Yi.Framework.DigitalCollectibles.Domain.Entities; using Yi.Framework.SqlSugarCore.Abstractions; namespace Yi.Framework.DigitalCollectibles.Application.Services; /// /// 藏品应用服务 /// public class CollectiblesService : ApplicationService { private readonly ISqlSugarRepository _collectiblesUserStoreRepository; public CollectiblesService(ISqlSugarRepository collectiblesUserStoreRepository) { _collectiblesUserStoreRepository = collectiblesUserStoreRepository; } /// /// 获取当前用户的藏品 /// /// /// /// [HttpGet("user")] [Authorize] public async Task> GetForAccountUserAsync( CollectiblesUserGetInput input) { RefAsync total = 0; var entities = await _collectiblesUserStoreRepository._DbQueryable.WhereIF( input.StartTime is not null && input.EndTime is not null, x => x.CreationTime >= input.StartTime && x.CreationTime <= input.EndTime) .OrderByDescending(x => x.CreationTime) .ToPageListAsync(input.SkipCount, input.MaxResultCount, total); var output = entities.Adapt>(); return new PagedResultDto(total, output); } }