/// <summary> /// 分页查询文章列表 /// </summary> /// <param name="input"></param> /// <returns></returns> public async Task <ServiceResult <PagedList <QueryPostDto> > > QueryPostAsync(PaginInput input) { return(await _blogCacheService.QueryPostAsync(input, async() => { var result = new ServiceResult <PagedList <QueryPostDto> >(); var count = await _postRepository.GetCountAsync(); var list = _postRepository.OrderByDescending(x => x.CreationTime) .PageByIndex(input.Page, input.Limit) .Select(x => new PostBriefDto { Title = x.Title, Url = x.Url, Year = x.CreationTime.Year, CreationTime = x.CreationTime.TryToDateTime() }).GroupBy(x => x.Year) .Select(x => new QueryPostDto { Year = x.Key, Posts = x.ToList() }).ToList(); result.IsSuccess(new PagedList <QueryPostDto>(count.TryToInt(), list)); return result; })); }
public async Task <ServiceResult <PagedList <QueryPostForAdminDto> > > QueryPostsForAdminAsync([FromQuery] PaginInput input) { return(await _blogService.QueryPostsForAdminAsync(input)); }
/// <summary> /// 分页查询文章列表 /// </summary> /// <param name="input"></param> /// <returns></returns> public async Task <ServiceResult <PagedList <QueryPostDto> > > QueryPostAsync(PaginInput input, Func <Task <ServiceResult <PagedList <QueryPostDto> > > > factory) { return(await Cache.GetOrAddAsync(KEY_QueryPosts.FormatWith(input.Page, input.Limit), factory, CacheStrategy.ONE_DAY)); }