using Microsoft.AspNetCore.Mvc; using SqlSugar; using Volo.Abp.Application.Dtos; using Volo.Abp.Data; using Yi.Framework.Bbs.Application.Contracts.Dtos.MyType; using Yi.Framework.Bbs.Application.Contracts.IServices; using Yi.Framework.Bbs.Domain.Entities.Forum; using Yi.Framework.Ddd.Application; using Yi.Framework.SqlSugarCore.Abstractions; namespace Yi.Framework.Bbs.Application.Services.Forum { /// /// DiscussLable服务实现 /// public class DiscussLableService : YiCrudAppService, IDiscussLableService { private ISqlSugarRepository _repository; public DiscussLableService(ISqlSugarRepository repository) : base(repository) { _repository = repository; } [HttpGet("discuss-lable/all")] public async Task> GetAllListAsync(DiscussLableGetListInputVo input) { var order = input.Sorting ?? nameof(DiscussLableAggregateRoot.Name); var output = await _repository._DbQueryable .WhereIF(input.Name is not null, x => x.Name.Contains(input.Name)) .OrderBy(order) .Select(x => new DiscussLableGetListOutputDto(), true) .ToListAsync(); return new ListResultDto(output); } public override async Task> GetListAsync( DiscussLableGetListInputVo input) { RefAsync total = 0; var order = input.Sorting ?? nameof(DiscussLableAggregateRoot.Name); var output = await _repository._DbQueryable .WhereIF(input.Name is not null, x => x.Name.Contains(input.Name)) .OrderBy(order) .Select(x => new DiscussLableGetListOutputDto(), true) .ToPageListAsync(input.SkipCount, input.MaxResultCount, total); return new PagedResultDto(total, output); } } }