diff --git a/src/main/java/com/cxx/food/controller/FoodController.java b/src/main/java/com/cxx/food/controller/FoodController.java index 55e65a8..3c3abcf 100644 --- a/src/main/java/com/cxx/food/controller/FoodController.java +++ b/src/main/java/com/cxx/food/controller/FoodController.java @@ -39,10 +39,16 @@ public class FoodController { return foodService.deleteRecipe(id); } + @Operation(summary = "查询用户美食菜谱") + @GetMapping("/recipe/user/{id}") + public List queryRecipeByUser(@PathVariable("id") long id) { + return foodService.queryRecipeByUser(id); + } + @Operation(summary = "查询美食菜谱") @GetMapping("/recipe") - public List querySummary(FoodQueryVo foodQueryVo) { - return foodService.querySummary(foodQueryVo); + public List queryRecipeSummary(FoodQueryVo foodQueryVo) { + return foodService.queryRecipeSummary(foodQueryVo); } @Operation(summary = "分页查询美食菜谱") @@ -53,10 +59,10 @@ public class FoodController { return foodService.querySummaryByPage(currentPage, pageSize, foodQueryVo); } - @Operation(summary = "查询美食") + @Operation(summary = "根据id查询美食") @GetMapping("/recipe/{id}") - public @JsonView(ReadView.class) RecipeDto queryRecipe(@PathVariable("id") long id) { - return foodService.queryRecipe(id); + public @JsonView(ReadView.class) RecipeDto queryRecipeById(@PathVariable("id") long id) { + return foodService.queryRecipeById(id); } @Operation(summary = "查询所有美食名称") diff --git a/src/main/java/com/cxx/food/dao/FoodDao.java b/src/main/java/com/cxx/food/dao/FoodDao.java index b6854e8..713e041 100644 --- a/src/main/java/com/cxx/food/dao/FoodDao.java +++ b/src/main/java/com/cxx/food/dao/FoodDao.java @@ -12,11 +12,13 @@ import java.util.List; public interface FoodDao { RecipeDto queryRecipe(@Param("id") Long id); + List queryRecipeByUser(@Param("id") Long id); + IPage querySummaryByPage(IPage page, @Param("query") FoodQueryVo foodQueryVo); - List querySummary(@Param("query") FoodQueryVo foodQueryVo, - @Param("user") String user); + List queryRecipeSummary(@Param("query") FoodQueryVo foodQueryVo, + @Param("user") String user); List queryRecordById(@Param("id") Long id); diff --git a/src/main/java/com/cxx/food/service/FoodService.java b/src/main/java/com/cxx/food/service/FoodService.java index 0f1dd8c..e425ce3 100644 --- a/src/main/java/com/cxx/food/service/FoodService.java +++ b/src/main/java/com/cxx/food/service/FoodService.java @@ -26,9 +26,11 @@ public interface FoodService { Boolean deleteLike(Long recipeId); - RecipeDto queryRecipe(Long id); + RecipeDto queryRecipeById(Long id); - List querySummary(FoodQueryVo foodQueryVo); + List queryRecipeByUser(Long id); + + List queryRecipeSummary(FoodQueryVo foodQueryVo); IPage querySummaryByPage(Integer currentPage, Integer pageSize, FoodQueryVo foodQueryVo); diff --git a/src/main/java/com/cxx/food/service/impl/FoodServiceImpl.java b/src/main/java/com/cxx/food/service/impl/FoodServiceImpl.java index db2cee5..1f0ddad 100644 --- a/src/main/java/com/cxx/food/service/impl/FoodServiceImpl.java +++ b/src/main/java/com/cxx/food/service/impl/FoodServiceImpl.java @@ -195,7 +195,7 @@ public class FoodServiceImpl implements FoodService { } @Override - public RecipeDto queryRecipe(Long id) { + public RecipeDto queryRecipeById(Long id) { if (recipeMapper.selectById(id) == null) { throw new CustomException("该美食不存在"); } @@ -204,8 +204,13 @@ public class FoodServiceImpl implements FoodService { } @Override - public List querySummary(FoodQueryVo foodQueryVo) { - return foodDao.querySummary(foodQueryVo, StpUtil.getLoginIdAsString()); + public List queryRecipeByUser(Long id) { + return foodDao.queryRecipeByUser(id); + } + + @Override + public List queryRecipeSummary(FoodQueryVo foodQueryVo) { + return foodDao.queryRecipeSummary(foodQueryVo, StpUtil.getLoginIdAsString()); } @Override diff --git a/src/main/resources/mapper/FoodMapper.xml b/src/main/resources/mapper/FoodMapper.xml index a49918e..b60be88 100644 --- a/src/main/resources/mapper/FoodMapper.xml +++ b/src/main/resources/mapper/FoodMapper.xml @@ -143,6 +143,30 @@ WHERE a.id = #{id} + + - SELECT a.id AS id, a.name AS name, a.category AS category, @@ -169,16 +193,16 @@ FROM recipe a LEFT JOIN record b ON a.id = b.food_id LEFT JOIN ( - SELECT subject_id, COUNT(id) AS like_count - FROM like_record - WHERE type = 'recipe' - GROUP BY subject_id + SELECT subject_id, COUNT(id) AS like_count + FROM like_record + WHERE type = 'recipe' + GROUP BY subject_id ) c ON a.id = c.subject_id LEFT JOIN ( - SELECT subject_id, COUNT(id) AS comment_count - FROM comment_record - WHERE type = 'recipe' - GROUP BY subject_id + SELECT subject_id, COUNT(id) AS comment_count + FROM comment_record + WHERE type = 'recipe' + GROUP BY subject_id ) d ON a.id = d.subject_id