public async Task <ActionResult <IEnumerable <ArticleDTO> > > GetArticlesByPage([FromQuery] int limit, [FromQuery] int pageIndex) { List <Article> articles = await articleService.GetArticlesByPageAndIsShowAsync(limit, pageIndex, true); List <ArticleDTO> articleDTOs = await articleMapper.MapperToDTOsAsync(articles); return(Ok(articleDTOs)); }
public async Task <ActionResult> GetInitData() { IndexInitDataDTO obj = await RedisHelper.GetAsync <IndexInitDataDTO>("ZswBlog:Index:InitData"); if (obj != null) { return(Ok(obj)); } else { //首页的数据初始化数据 List <Article> articles = await articleService.GetArticlesByPageAndIsShowAsync(3, 1, true); List <ArticleDTO> articleDTOs = await articleMapper.MapperToDTOsAsync(articles); List <Message> messages = (await messageService.GetMessagesOnNotReplyAsyncByPageAsync(10, 1)).ToList(); List <MessageDTO> messageDTOs = new List <MessageDTO>(); foreach (var item in messages) { User user = await userService.GetUserByIdAsync(item.UserId); MessageDTO messageDTO = await messageMapper.MapperToSingleDTOAsync(item, user); messageDTOs.Add(messageDTO); } DateTime date1 = DateTime.Parse("2019-10-08 00:00:00"); DateTime date2 = DateTime.Now; TimeSpan sp = date2.Subtract(date1); int tagCount = (await tagService.GetAllTagsAsync()).Count(); int timeCount = sp.Days; int articleCount = (await articleService.GetAllArticlesAsync()).Count(); int visitCount = await GetVisit(); IndexInitDataDTO initDataDTO = new IndexInitDataDTO() { DataCount = new CountData() { VisitsCount = visitCount, TagsCount = tagCount, RunDays = timeCount, ArticleCount = articleCount }, Articles = articleDTOs.ToList(), Messages = messageDTOs }; await RedisHelper.SetAsync("ZswBlog:Index:InitData", initDataDTO, 3600); return(Ok(initDataDTO)); } }