diff --git a/sky-server/src/main/java/com/sky/controller/admin/DishController.java b/sky-server/src/main/java/com/sky/controller/admin/DishController.java index 1e89e81..570748e 100644 --- a/sky-server/src/main/java/com/sky/controller/admin/DishController.java +++ b/sky-server/src/main/java/com/sky/controller/admin/DishController.java @@ -5,6 +5,7 @@ import com.sky.dto.DishPageQueryDTO; import com.sky.result.PageResult; import com.sky.result.Result; import com.sky.service.DishService; +import com.sky.vo.DishVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; @@ -61,4 +62,17 @@ public class DishController { dishService.deleteBatch(ids); return Result.success(); } + + /** + * 根据id查询菜品 + * @param id Long + * @return Result + */ + @ApiOperation("根据id查询菜品") + @GetMapping("/{id}") + public Result getBydId(@PathVariable Long id) { + log.info("根据id查询菜品:{}",id); + DishVO dishVO = dishService.getByIdWithFlavor(id); + return Result.success(dishVO); + } } diff --git a/sky-server/src/main/java/com/sky/mapper/DishFlavorMapper.java b/sky-server/src/main/java/com/sky/mapper/DishFlavorMapper.java index a827787..f8896b9 100644 --- a/sky-server/src/main/java/com/sky/mapper/DishFlavorMapper.java +++ b/sky-server/src/main/java/com/sky/mapper/DishFlavorMapper.java @@ -23,4 +23,11 @@ public interface DishFlavorMapper { * @param dishIds List */ void deleteByDishIds(List dishIds); + + /** + * 根据菜品id查询口味数据 + * @param id Long + * @return DishFlavor + */ + List getByDishId(Long id); } 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 a9ba81d..57426c6 100644 --- a/sky-server/src/main/java/com/sky/service/DishService.java +++ b/sky-server/src/main/java/com/sky/service/DishService.java @@ -3,6 +3,7 @@ package com.sky.service; import com.sky.dto.DishDTO; import com.sky.dto.DishPageQueryDTO; import com.sky.result.PageResult; +import com.sky.vo.DishVO; import java.util.List; @@ -26,4 +27,11 @@ public interface DishService { * @param ids List */ void deleteBatch(List ids); + + /** + * 根据id查询菜品 + * @param id Long + * @return DishVO + */ + DishVO getByIdWithFlavor(Long id); } 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 93656a1..e4cb57e 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 @@ -97,4 +97,24 @@ public class DishServiceImpl implements DishService { // 删除菜品关联的口味数据 dishFlavorMapper.deleteByDishIds(ids); } + + /** + * 根据id查询菜品 + * + * @param id Long + * @return DishVO + */ + @Override + public DishVO getByIdWithFlavor(Long id) { + // 根据id查询菜品数据 + Dish dish = dishMapper.getById(id); + // 根据菜品id查询口味数据 + List flavorList = dishFlavorMapper.getByDishId(id); + // 将查询到的菜品数据Vo + DishVO dishVO = new DishVO(); + BeanUtils.copyProperties(dish, dishVO); + dishVO.setFlavors(flavorList); + + return dishVO; + } } diff --git a/sky-server/src/main/resources/mapper/DishFlavorMapper.xml b/sky-server/src/main/resources/mapper/DishFlavorMapper.xml index a64c457..a02bae9 100644 --- a/sky-server/src/main/resources/mapper/DishFlavorMapper.xml +++ b/sky-server/src/main/resources/mapper/DishFlavorMapper.xml @@ -27,4 +27,11 @@ #{dishId} + + +