Esempio n. 1
0
        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));
            }
        }
Esempio n. 2
0
        public async Task <ActionResult> GetInitData()
        {
            //首页的数据初始化数据
            var initDataDto = await RedisHelper.GetAsync <IndexInitDataDTO>("ZswBlog:Common:InitData");

            if (initDataDto != null)
            {
                return(Ok(initDataDto));
            }
            var articles = await _articleService.GetArticlesByNearSaveAsync(3);

            var messages = await _messageService.GetMessageOnNearSaveAsync(10);

            var date1    = DateTime.Parse("2019-10-08 00:00:00");
            var date2    = DateTime.Now;
            var sp       = date2.Subtract(date1);
            var tagCount = await _tagService.GetAllSiteTagsCountAsync();

            var timeCount    = sp.Days;
            var articleCount = await _articleService.GetEntitiesCountAsync();

            var visitCount = await GetVisit();

            initDataDto = new IndexInitDataDTO()
            {
                DataCount = new CountData()
                {
                    VisitsCount  = visitCount,
                    TagsCount    = tagCount,
                    RunDays      = timeCount,
                    ArticleCount = articleCount
                },
                Articles = articles,
                Messages = messages
            };
            await RedisHelper.SetAsync("ZswBlog:Common:InitData", initDataDto, 60 * 60 * 3);

            return(Ok(initDataDto));
        }