diff --git a/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysRecipesController.java b/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysRecipesController.java index e27b04217..9aeb2de2a 100644 --- a/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysRecipesController.java +++ b/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysRecipesController.java @@ -10,6 +10,8 @@ import com.stdiet.custom.service.ISysRecipesService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.util.List; + @RestController @RequestMapping("/custom/recipes") public class SysRecipesController extends BaseController { @@ -39,6 +41,11 @@ public class SysRecipesController extends BaseController { } } + @PostMapping(value = "/menu/replace") + public AjaxResult replaceMenu(@RequestBody List dishes) { + return AjaxResult.success(sysRecipesService.replaceDishes(dishes)); + } + /** * 修改食谱菜品 * diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysRecipesMapper.java b/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysRecipesMapper.java index da961cc3e..5f184f629 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysRecipesMapper.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysRecipesMapper.java @@ -26,5 +26,7 @@ public interface SysRecipesMapper { public int deleteDishes(Long id); + public int deleteMenu(Long id); + public List selectDishesByMenuId(Long id); } diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysRecipesService.java b/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysRecipesService.java index 54b7805a2..1d30b460b 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysRecipesService.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysRecipesService.java @@ -4,6 +4,7 @@ import com.stdiet.custom.domain.SysRecipes; import com.stdiet.custom.domain.SysRecipesDaily; import com.stdiet.custom.domain.SysRecipesDailyDishes; +import java.sql.Array; import java.util.List; public interface ISysRecipesService { @@ -20,4 +21,6 @@ public interface ISysRecipesService { public int deleteDishes(Long id); + public Long[] replaceDishes(List sysRecipesDailyDishes); + } diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysRecipesServiceImpl.java b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysRecipesServiceImpl.java index e18f40614..8186a3c73 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysRecipesServiceImpl.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysRecipesServiceImpl.java @@ -1,6 +1,5 @@ package com.stdiet.custom.service.impl; -import com.stdiet.common.utils.StringUtils; import com.stdiet.custom.domain.SysRecipes; import com.stdiet.custom.domain.SysRecipesDaily; import com.stdiet.custom.domain.SysRecipesDailyDishes; @@ -62,6 +61,7 @@ public class SysRecipesServiceImpl implements ISysRecipesService { return rows; } + @Override public List selectSysRecipesByRecipesId(Long id) { return sysRecipesMapper.selectSysRecipesByRecipesId(id); @@ -86,4 +86,20 @@ public class SysRecipesServiceImpl implements ISysRecipesService { public int deleteDishes(Long id) { return sysRecipesMapper.deleteDishes(id); } + + @Override + public Long[] replaceDishes(List sysRecipesDailyDishes) { + // 删除原有 + sysRecipesMapper.deleteMenu(sysRecipesDailyDishes.get(0).getMenuId()); + // 插入新的 + int row = sysRecipesMapper.bashAddDishes(sysRecipesDailyDishes); + if (row > 0) { + Long[] ids = new Long[sysRecipesDailyDishes.size()]; + for (int i = 0; i < sysRecipesDailyDishes.size(); i++) { + ids[i] = sysRecipesDailyDishes.get(i).getId(); + } + return ids; + } + return null; + } } diff --git a/stdiet-custom/src/main/resources/mapper/custom/SysRecipesMapper.xml b/stdiet-custom/src/main/resources/mapper/custom/SysRecipesMapper.xml index 9edc9c56b..72e771e3c 100644 --- a/stdiet-custom/src/main/resources/mapper/custom/SysRecipesMapper.xml +++ b/stdiet-custom/src/main/resources/mapper/custom/SysRecipesMapper.xml @@ -116,6 +116,11 @@ delete from sys_customer_menu_dishes where id = #{id} + + + delete from sys_customer_menu_dishes where menu_id = #{id} + +