From 97de68624417ebe70e4dfd4bb409ff3209880b9d Mon Sep 17 00:00:00 2001 From: Bunny <1319900154@qq.com> Date: Tue, 9 Jan 2024 10:15:58 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=B9=E6=8D=AEid=E6=9F=A5=E8=AF=A2=E5=A5=97?= =?UTF-8?q?=E9=A4=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/admin/SetmealController.java | 29 ++++++++++++- .../com/sky/mapper/SetMealDishMapper.java | 8 ++++ .../java/com/sky/service/SetmealService.java | 16 +++++++ .../sky/service/impl/SetmealServiceImpl.java | 42 +++++++++++++++++++ .../resources/mapper/SetMealDishMapper.xml | 7 ++++ 5 files changed, 101 insertions(+), 1 deletion(-) diff --git a/sky-server/src/main/java/com/sky/controller/admin/SetmealController.java b/sky-server/src/main/java/com/sky/controller/admin/SetmealController.java index d13f3f2..fdf5bc7 100644 --- a/sky-server/src/main/java/com/sky/controller/admin/SetmealController.java +++ b/sky-server/src/main/java/com/sky/controller/admin/SetmealController.java @@ -5,6 +5,7 @@ import com.sky.dto.SetmealPageQueryDTO; import com.sky.result.PageResult; import com.sky.result.Result; import com.sky.service.SetmealService; +import com.sky.vo.SetmealVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; @@ -13,7 +14,7 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.List; -@RestController +@RestController("adminRestController") @RequestMapping("/admin/setmeal") @Api(tags = "套餐相关接口") @Slf4j @@ -73,4 +74,30 @@ public class SetmealController { setmealService.delete(ids); return Result.success(); } + + /** + * 根据id查询套餐 + * + * @param id Long + * @return Result + */ + @ApiOperation("根据id查询套餐") + @GetMapping("{id}") + public Result getById(@PathVariable Long id) { + SetmealVO setmealVO = setmealService.getById(id); + return Result.success(setmealVO); + } + + /** + * 修改套餐 + * + * @param setmealDTO SetmealDTO + * @return Result + */ + @ApiOperation("修改套餐") + @PutMapping() + public Result update(@RequestBody SetmealDTO setmealDTO) { + setmealService.update(setmealDTO); + return Result.success(); + } } diff --git a/sky-server/src/main/java/com/sky/mapper/SetMealDishMapper.java b/sky-server/src/main/java/com/sky/mapper/SetMealDishMapper.java index 1f36e08..27694b8 100644 --- a/sky-server/src/main/java/com/sky/mapper/SetMealDishMapper.java +++ b/sky-server/src/main/java/com/sky/mapper/SetMealDishMapper.java @@ -59,4 +59,12 @@ public interface SetMealDishMapper { * @param setmealId Long */ void deleteBySetmealId(Long setmealId); + + /** + * 根据套餐id查询套餐和菜品的关联关系 + * + * @param id Long + * @return List + */ + List getBySetmealId(Long id); } diff --git a/sky-server/src/main/java/com/sky/service/SetmealService.java b/sky-server/src/main/java/com/sky/service/SetmealService.java index 2791c3d..e210953 100644 --- a/sky-server/src/main/java/com/sky/service/SetmealService.java +++ b/sky-server/src/main/java/com/sky/service/SetmealService.java @@ -5,6 +5,7 @@ import com.sky.dto.SetmealPageQueryDTO; import com.sky.entity.Setmeal; import com.sky.result.PageResult; import com.sky.vo.DishItemVO; +import com.sky.vo.SetmealVO; import java.util.List; @@ -56,4 +57,19 @@ public interface SetmealService { * @param ids List */ void delete(List ids); + + /** + * 根据id查询套餐 + * + * @param id Long + * @return SetmealVO + */ + SetmealVO getById(Long id); + + /** + * 修改套餐 + * + * @param setmealDTO SetmealDTO + */ + void update(SetmealDTO setmealDTO); } diff --git a/sky-server/src/main/java/com/sky/service/impl/SetmealServiceImpl.java b/sky-server/src/main/java/com/sky/service/impl/SetmealServiceImpl.java index 89f51c0..a289518 100644 --- a/sky-server/src/main/java/com/sky/service/impl/SetmealServiceImpl.java +++ b/sky-server/src/main/java/com/sky/service/impl/SetmealServiceImpl.java @@ -144,4 +144,46 @@ public class SetmealServiceImpl implements SetmealService { setmealDishMapper.deleteBySetmealId(setmealId); }); } + + /** + * 根据id查询套餐 + * + * @param id Long + * @return SetmealVO + */ + @Override + public SetmealVO getById(Long id) { + Setmeal setmeal = setmealMapper.getById(id); + List setmealDishes = setmealDishMapper.getBySetmealId(id); + + SetmealVO setmealVO = new SetmealVO(); + BeanUtils.copyProperties(setmeal, setmealVO); + setmealVO.setSetmealDishes(setmealDishes); + return setmealVO; + } + + /** + * 修改套餐 + * + * @param setmealDTO SetmealDTO + */ + @Override + public void update(SetmealDTO setmealDTO) { + Setmeal setmeal = new Setmeal(); + BeanUtils.copyProperties(setmealDTO, setmeal); + + // 1、修改套餐表,执行update + setmealMapper.update(setmeal); + + // 套餐id + Long setmealId = setmealDTO.getId(); + // 2、删除套餐和菜品的关联关系,操作setmeal_dish表,执行delete + setmealDishMapper.deleteBySetmealId(setmealId); + List setmealDishes = setmealDTO.getSetmealDishes(); + setmealDishes.forEach(setmealDish -> { + setmealDish.setSetmealId(setmealId); + }); + // 3、重新插入套餐和菜品的关联关系,操作setmeal_dish表,执行insert + setmealDishMapper.insertBatch(setmealDishes); + } } diff --git a/sky-server/src/main/resources/mapper/SetMealDishMapper.xml b/sky-server/src/main/resources/mapper/SetMealDishMapper.xml index ae83653..3447ec5 100644 --- a/sky-server/src/main/resources/mapper/SetMealDishMapper.xml +++ b/sky-server/src/main/resources/mapper/SetMealDishMapper.xml @@ -91,4 +91,11 @@ order by s.create_time desc + + +