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);
}
}