Example #1
0
        public ResultJson <GetRestaurantListResponse> UserPreferenceRest(GetUserPreferenceRestRequest request)
        {
            ResultJson <GetRestaurantListResponse> result = new ResultJson <GetRestaurantListResponse>();
            var List_Customer = CacheForModelCustomerLike.Instance.GetCustomLike(request.UserId);

            List_Customer = List_Customer.Where(p => p.type == UserLikeTypeVariable.RestLike).ToList();
            var List_Rest = CacheForModelRestaurant.Instance.RestaurantList();

            foreach (var item in List_Customer)
            {
                var rest = List_Rest.Where(p => p.id == item.lid).FirstOrDefault();
                if (rest != null)
                {
                    GetRestaurantListResponse response = new GetRestaurantListResponse(rest, request.CoordX, request.CoordY, SeachRange2);
                    result.ListData.Add(response);
                }
            }
            result.ListData = Paging.Instance.PageData(result.ListData, request.PageNo);
            if (result.ListData.Count != 0)
            {
                result.HttpCode = 200;
                result.Message  = Enum_Message.SuccessMessage.Enum_GetString();
            }
            else
            {
                result.HttpCode = 300;
                result.Message  = Enum_Message.NoMoreDataMessage.Enum_GetString();
            }
            return(result);
        }
        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);
        }
Example #3
0
        /// <summary>
        /// 菜谱列表
        /// </summary>
        /// <param name="list_recipe">菜谱列表</param>
        /// <param name="request">请求</param>
        /// <returns></returns>
        public ResultJson <GetRecipeListByGPSResponse> RecipeListForGPS(List <Recipe> list_recipe, GetRestaurantListByNameRequest request)
        {
            ResultJson <GetRecipeListByGPSResponse> result = new ResultJson <GetRecipeListByGPSResponse>();
            var list_restaurant = CacheForModelRestaurant.Instance.RestaurantList();
            List <GetRestaurantListResponse> list_restaurant_response = new List <GetRestaurantListResponse>();
            var list_tag          = CacheForModelTag.Instance.GetTagList();
            var list_tag_relation = CacheForModel_TagRelation.Instance.GetTagRelationList();

            list_tag_relation = list_tag_relation.Where(p => Enum_SearchType.Recipe.Enum_GetString().EqualString(p.typename)).ToList();
            var User_Model = CacheForModelUser.Instance.GetUserInfo(request.UserId);

            if (User_Model == null)
            {
                result.HttpCode = 301;
                result.Message  = Enum_Message.UserNotExitMessage.Enum_GetString();
                return(result);
            }
            List <GetRecipeListByGPSResponse> List_Response_Option = new List <GetRecipeListByGPSResponse>();

            foreach (var item in list_restaurant)
            {
                var restaurant = new GetRestaurantListResponse(item, request.CoordX, request.CoordY, SeachRange);
                list_restaurant_response.Add(restaurant);
            }
            foreach (var item in list_recipe)
            {
                var recipe = new GetRecipeListByGPSResponse(item, list_restaurant_response, list_tag, User_Model, list_tag_relation);
                List_Response_Option.Add(recipe);
            }

            if (List_Response_Option.Count == 0)
            {
                result.HttpCode = 300;
                result.Message  = Enum_Message.NoMoreDataMessage.Enum_GetString();
            }
            else
            {
                result.HttpCode = 200;
                result.ListData = List_Response_Option;
            }

            return(result);
        }
        public ResultJson <GetRestaurantListResponse, GetArticleListResponse, GetRecipeListByGPSResponse> SearchVagueRestaurant(GetRestaurantListByNameRequest request)
        {
            ResultJson <GetRestaurantListResponse, GetArticleListResponse, GetRecipeListByGPSResponse> result  = new ResultJson <GetRestaurantListResponse, GetArticleListResponse, GetRecipeListByGPSResponse>();
            ResultJson <GetRestaurantListResponse, GetArticleListResponse, GetRecipeListByGPSResponse> result1 = new ResultJson <GetRestaurantListResponse, GetArticleListResponse, GetRecipeListByGPSResponse>();
            ResultJson <GetRestaurantListResponse, GetArticleListResponse, GetRecipeListByGPSResponse> result2 = new ResultJson <GetRestaurantListResponse, GetArticleListResponse, GetRecipeListByGPSResponse>();

            request.Name = Regex.Replace(request.Name.ToString(), @"\p{Cs}", "");
            if (request.SearchType.ToLower() == Enum_SearchType.Restaurant.Enum_GetString() || request.SearchType.ToLower() == Enum_SearchType.All.Enum_GetString())
            {
                List <GetRestaurantListResponse> List_Response_Option = new List <GetRestaurantListResponse>();
                List <GetRestaurantListResponse> List_Response_Result = new List <GetRestaurantListResponse>();
                var list = CacheForModelRestaurant.Instance.GetRestaurantByName(request.Name);
                foreach (var item in list)
                {
                    GetRestaurantListResponse response = new GetRestaurantListResponse(item, request.CoordX, request.CoordY, SeachRange);
                    if (response.distance != null)
                    {
                        List_Response_Option.Add(response);
                    }
                }

                List_Response_Result = Paging.Instance.PageData <GetRestaurantListResponse>(List_Response_Option, PageSize, request.PageNo);

                if (List_Response_Option.Count == 0)
                {
                    result1.HttpCode = 300;
                    result1.Message  = Enum_Message.NoMoreDataMessage.Enum_GetString();
                }

                else if (List_Response_Result.Count == 0)
                {
                    result1.HttpCode = 300;
                    result1.Message  = Enum_Message.NoMoreDataMessage.Enum_GetString();
                }
                else
                {
                    result1.HttpCode = 200;
                    result1.Message  = Enum_Message.SuccessMessage.Enum_GetString();
                    result1.ListData = List_Response_Result;
                }
            }
            if (request.SearchType.ToLower() == Enum_SearchType.Recipe.Enum_GetString() || request.SearchType.ToLower() == Enum_SearchType.All.Enum_GetString())
            {
                RecipeController recipeContr = new RecipeController();
                GetRestaurantListByNameRequest Recipe_List_Request = new GetRestaurantListByNameRequest
                {
                    CoordX = request.CoordX,
                    CoordY = request.CoordY,
                    PageNo = request.PageNo,
                    Token  = request.Token,
                    UserId = request.UserId,
                    Name   = request.Name,
                };
                var recipe_Result = recipeContr.SearchVagueRecipe(Recipe_List_Request);
                if (recipe_Result.HttpCode != 200)
                {
                    result2.HttpCode = recipe_Result.HttpCode;
                    result2.Message  = recipe_Result.Message;
                }
                else
                {
                    result2.HttpCode  = 200;
                    result2.Message   = Enum_Message.SuccessMessage.Enum_GetString();
                    result2.ListData3 = recipe_Result.ListData;
                }
                CacheForModelSearchRecord.Instance.InsertSearchRecord(request.Name);
            }
            var Searchresult = ArticleBiz.Instance.SearchArticleList(request.UserId, request.PageNo, request.Name);

            if (Searchresult.HttpCode != 200 & result1.HttpCode != 200 & result2.HttpCode != 200)
            {
                result.HttpCode = Searchresult.HttpCode;
                result.Message  = Searchresult.Message;
            }
            else
            {
                result.Message   = Enum_Message.SuccessMessage.Enum_GetString();
                result.HttpCode  = 200;
                result.ListData  = result1.ListData;
                result.ListData2 = Searchresult.ListData;
                result.ListData3 = result2.ListData3;
            }
            return(result);
        }