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); }
/// <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); }