From 7747190fd974c19d5400946d99580b07962f9b2c Mon Sep 17 00:00:00 2001 From: slhaf Date: Sun, 15 Dec 2024 17:35:10 +0800 Subject: [PATCH] select dishes by categoryId --- .../controller/user/UserDishController.java | 28 +++++++++++++++++++ .../java/com/sky/service/DishService.java | 2 ++ .../com/sky/service/impl/DishServiceImpl.java | 15 ++++++++++ 3 files changed, 45 insertions(+) create mode 100644 sky-server/src/main/java/com/sky/controller/user/UserDishController.java diff --git a/sky-server/src/main/java/com/sky/controller/user/UserDishController.java b/sky-server/src/main/java/com/sky/controller/user/UserDishController.java new file mode 100644 index 0000000..2089a69 --- /dev/null +++ b/sky-server/src/main/java/com/sky/controller/user/UserDishController.java @@ -0,0 +1,28 @@ +package com.sky.controller.user; + +import com.sky.result.Result; +import com.sky.service.DishService; +import com.sky.vo.DishVO; +import io.swagger.annotations.Api; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@RestController +@RequestMapping("/user/dish") +@Api(tags = "UserDish") +@Slf4j +public class UserDishController { + @Autowired + private DishService dishService; + + @GetMapping("/list") + public Result> list(Long categoryId) { + log.info("select dishes by categoryId {}", categoryId); + return Result.success(dishService.getDishVoByCategoryId(categoryId)); + } +} diff --git a/sky-server/src/main/java/com/sky/service/DishService.java b/sky-server/src/main/java/com/sky/service/DishService.java index 895bedc..4d2d464 100644 --- a/sky-server/src/main/java/com/sky/service/DishService.java +++ b/sky-server/src/main/java/com/sky/service/DishService.java @@ -57,4 +57,6 @@ public interface DishService { * @param id */ void startOrStop(Integer status, Long id); + + List getDishVoByCategoryId(Long categoryId); } diff --git a/sky-server/src/main/java/com/sky/service/impl/DishServiceImpl.java b/sky-server/src/main/java/com/sky/service/impl/DishServiceImpl.java index d1ee093..54229a8 100644 --- a/sky-server/src/main/java/com/sky/service/impl/DishServiceImpl.java +++ b/sky-server/src/main/java/com/sky/service/impl/DishServiceImpl.java @@ -24,6 +24,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; +import java.util.Collections; import java.util.List; @Service @@ -196,4 +198,17 @@ public class DishServiceImpl implements DishService { } } } + + @Override + public List getDishVoByCategoryId(Long categoryId) { + List dishes = dishMapper.selectByCategoryId(categoryId); + List dishVOList = new ArrayList<>(); + for (Dish dish : dishes) { + DishVO dishVO = new DishVO(); + BeanUtils.copyProperties(dish, dishVO); + dishVO.setFlavors(dishFlavorMapper.getByDishId(dish.getId())); + dishVOList.add(dishVO); + } + return dishVOList; + } }