/// <summary>
        /// 获取全部测试题
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        private async Task <PageModel <VoTest> > GetAllTests(InputOfIndexData input)
        {
            string sqlWhere = " 1 = 1";

            if (input.ClassifyId != (int)ClassifyIdEnum.全部测试)
            {
                sqlWhere += $" typeid = {input.ClassifyId}";
            }

            if (input.ScreenId != (int)ScreenIdEnum.全部)
            {
                sqlWhere += " testcount > 2000";
            }

            string orderField = null;

            switch (input.OrderId)
            {
            case (int)OrderIdEnum.全部:
                break;

            case (int)OrderIdEnum.最新:
                orderField = "createunixtime desc";
                break;

            case (int)OrderIdEnum.最热:
                orderField = "likecount desc";
                break;

            default:
                break;
            }

            var pageModel = await _testRepository.QueryPageModel(sqlWhere, input.PageIndex, input.PageSize, orderField);

            var data = pageModel.Data.ConvertAll(a =>
            {
                return(new VoTest()
                {
                    Id = a.Id,
                    Content = a.Content,
                    SmallImage = a.SmallImage,
                    Title = a.Title,
                    ViewCount = a.ViewCount
                });
            });

            return(new PageModel <VoTest>()
            {
                Data = data,
                DataCount = pageModel.DataCount,
                PageCount = pageModel.PageCount,
                PageIndex = pageModel.PageIndex,
                PageSize = pageModel.PageSize
            });
        }
示例#2
0
        public async Task <ApiResult <VoIndexData> > GetIndexDataAsync(InputOfIndexData input)
        {
            var data = await _maoDouService.GetIndexDataAsync(input);

            return(new ApiResult <VoIndexData>
            {
                Code = (int)ApiResultCode.Success,
                Data = data,
                Message = "获取成功"
            });
        }
        public async Task <VoIndexData> GetIndexDataAsync(InputOfIndexData input)
        {
            var carouselTests = await GetCarouselTests();

            var hotTests = await GetHotTests();

            var allTests = await GetAllTests(input);

            return(new VoIndexData()
            {
                CarouselTests = carouselTests,
                HotTests = hotTests,
                AllTests = allTests
            });
        }
 public async Task <ApiResult <VoIndexData> > GetIndexDataAsync([FromQuery] InputOfIndexData input)
 {
     return(await _maoDouApplication.GetIndexDataAsync(input));
 }