Exemplo n.º 1
0
        public ResultJson <GetRestaurantListResponse> GetRestaurantListInfo(GetRestaurantListRequest request)
        {
            ResultJson <GetRestaurantListResponse> result = new ResultJson <GetRestaurantListResponse>();

            if (!request.GroupBy.IsNullOrEmpty() && request.GroupBy.Trim() == "Type" && (request.TypeValue.IsNullOrEmpty() || request.TypeValue.ParseInt() == null))
            {
                result.HttpCode = 400;
                result.Message  = "由于排序类型为Type,请上传TypeValue";
                return(result);
            }

            var List_Restaurant = CacheForModelRestaurant.Instance.RestaurantList();
            List <GetRestaurantListResponse> List_Response_Option = new List <GetRestaurantListResponse>();
            List <GetRestaurantListResponse> List_Response_Result = new List <GetRestaurantListResponse>();

            //计算当前位置与目的地的距离
            foreach (Restaurant item in List_Restaurant)
            {
                GetRestaurantListResponse response = new GetRestaurantListResponse(item, request.CoordX, request.CoordY, SeachRange);
                if (response.distance != null)
                {
                    List_Response_Option.Add(response);
                }
            }
            if (request.GroupBy.IsNullOrEmpty() || request.GroupBy.Trim().ToLower() == Enum_SearchType.Distance.Enum_GetString())
            {
                //根据距离排序
                List_Response_Option = List_Response_Option.OrderBy(p => p.distance).ToList();
            }
            else if (request.GroupBy.Trim().ToLower() == Enum_SearchType.SalesVolume.Enum_GetString())
            {
                //根据销售量排序
                List_Response_Option = List_Response_Option.OrderByDescending(p => p.sales).ToList();
            }
            else if (request.GroupBy.Trim().ToLower() == Enum_SearchType.SuitMe.Enum_GetString())
            {
                //ListRestaurantResponse.Sort((q, p) => q.sales.Value.CompareTo(p.sales));
            }
            else if (request.GroupBy.Trim().ToLower() == Enum_SearchType.Type.Enum_GetString())
            {
                //根据类型进行排序
                List_Response_Option = List_Response_Option.Where(p => p.category == request.TypeValue).ToList();
            }
            List_Response_Result = BLL.Function.Paging.Instance.PageData <GetRestaurantListResponse>(List_Response_Option, PageSize, request.PageNo);
            if (List_Response_Result.Count == 0)
            {
                result.HttpCode = 300;
                result.Message  = Enum_Message.NoMoreDataMessage.Enum_GetString();
            }
            else
            {
                result.HttpCode = 200;
                result.ListData = List_Response_Result;
            }
            return(result);
        }
Exemplo n.º 2
0
        public ResultJson <GetRestaurantListResponse, GetRecipeListByGPSResponse, GetArticleListResponse, GetOrderListResponse> TitlePage(GetTitlePageRequest request)
        {
            ResultJson <GetRestaurantListResponse, GetRecipeListByGPSResponse, GetArticleListResponse, GetOrderListResponse> result = new ResultJson <GetRestaurantListResponse, GetRecipeListByGPSResponse, GetArticleListResponse, GetOrderListResponse>();
            var user = CacheForModelUser.Instance.GetUserInfo(request.UserId);
            GetRestaurantListRequest Restaurant_List_Request = new GetRestaurantListRequest
            {
                CoordX = request.CoordX,
                CoordY = request.CoordY,
                PageNo = 1,
            };
            var result_Restaurant = GetRestaurantListInfo(Restaurant_List_Request);
            GetRecipeListByGPSRequest Recipe_List_Request = new GetRecipeListByGPSRequest
            {
                CoordX = request.CoordX,
                CoordY = request.CoordY,
                PageNo = 1,
                UserId = request.UserId
            };
            RecipeController recipeContro = new RecipeController();
            var result_Recipe             = recipeContro.RecipeListByGPS(Recipe_List_Request);
            GetInfoByIdPaggingRequest Article_List_Request = new GetInfoByIdPaggingRequest
            {
                PageNo = 1,
                Id     = request.UserId,
                Token  = request.Token
            };
            ArticleController ArticleContro = new ArticleController();
            var result_Article = ArticleContro.GetArticleListInfo(Article_List_Request);
            GetInfoByUserIdPageRequest Order_List_Request = new GetInfoByUserIdPageRequest
            {
                PageNo = 1,
                UserId = request.UserId,
                Token  = request.Token
            };
            var result_Order = OrdersBiz.Instance.OrderList(Order_List_Request);

            if (result_Recipe.HttpCode == 200 && result_Restaurant.HttpCode == 200 && result_Article.HttpCode == 200)
            {
                result.HttpCode  = 200;
                result.ListData  = Paging.Instance.PageData(result_Restaurant.ListData, 9, 1);
                result.ListData2 = Paging.Instance.PageData(result_Recipe.ListData, 5, 1);
                result.ListData3 = Paging.Instance.PageData(result_Article.ListData, 4, 1);
                result.ListData4 = Paging.Instance.PageData(result_Order.ListData, 3, 1);
            }
            else
            {
                result.HttpCode = 500;
                result.Message  = "数据筛选失败";
            }
            return(result);
        }