Exemple #1
0
        /// <summary>
        /// 根据菜谱名称模糊查找菜谱信息
        /// </summary>
        /// <returns></returns>
        public ResultJson <GetRecipeListByGPSResponse> SearchVagueRecipe(GetRestaurantListByNameRequest request)
        {
            var list_recipe = CacheForModelRecipe.Instance.GetRecipeListByRecipeName(request.Name);
            var result      = RecipeListForGPS(list_recipe, request);

            result.ListData = Function.Paging.Instance.PageData(result.ListData, PageSize, request.PageNo);
            if (result.ListData.Count == 0)
            {
                result.HttpCode = 300;
                result.Message  = Enum_Message.NoMoreDataMessage.Enum_GetString();
            }
            else
            {
                result.HttpCode = 200;
            }
            return(result);
        }
Exemple #2
0
        /// <summary>
        /// 根据GPS获取列表
        /// </summary>
        public ResultJson <GetRecipeListByGPSResponse> RecipeListByGPS(GetRecipeListByGPSRequest request)
        {
            var list_recipe = CacheForModelRecipe.Instance.GetRecipeList();
            GetRestaurantListByNameRequest Recipe_Request = new GetRestaurantListByNameRequest
            {
                CoordX = request.CoordX,
                CoordY = request.CoordY,
                PageNo = request.PageNo,
                Token  = request.Token,
                UserId = request.UserId,
            };
            var result = RecipeListForGPS(list_recipe, Recipe_Request);

            if (request.GroupBy.IsNullOrEmpty() || request.GroupBy.Trim().ToLower() == Enum_SearchType.Distance.Enum_GetString())
            {
                //根据距离排序
                result.ListData = result.ListData.OrderBy(p => p.distance).ToList();
            }
            else if (request.GroupBy.Trim().ToLower() == Enum_SearchType.SalesVolume.Enum_GetString())
            {
                //根据销售量排序
                result.ListData = result.ListData.OrderByDescending(p => p.sales).ToList();
            }
            else if (request.GroupBy.Trim().ToLower() == Enum_SearchType.SuitMe.Enum_GetString())
            {
                result.ListData = result.ListData.OrderByDescending(p => p.ConstitutionPercentage).ToList();
            }
            else if (request.GroupBy.Trim().ToLower() == Enum_SearchType.Type.Enum_GetString())
            {
                //根据类型进行排序
                result.ListData = result.ListData.Where(p => p.category == request.TypeValue).ToList();
            }
            result.ListData = Function.Paging.Instance.PageData(result.ListData, PageSize, request.PageNo);
            if (result.ListData.Count == 0)
            {
                result.HttpCode = 300;
                result.Message  = Enum_Message.NoMoreDataMessage.Enum_GetString();
            }
            else
            {
                result.HttpCode = 200;
            }
            return(result);
        }
Exemple #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)
 {
     return(RecipeBiz.Instance.RecipeListForGPS(list_recipe, request));
 }
Exemple #4
0
 public ResultJson <GetRecipeListByGPSResponse> SearchVagueRecipe(GetRestaurantListByNameRequest request)
 {
     return(RecipeBiz.Instance.SearchVagueRecipe(request));
 }
        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);
        }
Exemple #6
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);
        }