新增菜谱

This commit is contained in:
sxu 2025-05-27 23:09:54 +08:00
parent 774bc46626
commit 001eb9ba6f
1 changed files with 35 additions and 35 deletions

View File

@ -88,15 +88,13 @@ public class CookRecipeServiceImpl implements ICookRecipeService {
}
private void createRecipeDetails(CookRecipeDTO cookRecipeDTO, boolean isCreate) {
List<CookRecipeDateDTO> recipeDateList = getCookRecipeDateList(cookRecipeDTO);
insertRecipeDetails(cookRecipeDTO, recipeDateList);
List<CookRecipeDateDTO> generatedRecipeDateList = generateCookRecipeDateList(cookRecipeDTO);
insertRecipeDetails(cookRecipeDTO, generatedRecipeDateList);
}
private static List<CookRecipeDateDTO> getCookRecipeDateList(CookRecipeDTO cookRecipeDTO) {
private static List<CookRecipeDateDTO> generateCookRecipeDateList(CookRecipeDTO cookRecipeDTO) {
List<CookRecipeDateDTO> recipeDateList = new ArrayList<>();
if (1 == cookRecipeDTO.getRecipeType()) { //指定日期
recipeDateList = cookRecipeDTO.getRecipeDateList();
} else if (2 == cookRecipeDTO.getRecipeType()) { //每日循环
if (2 == cookRecipeDTO.getRecipeType()) { //每日循环
List<CookRecipeDetailDTO> recipeDetailList = cookRecipeDTO.getRecipeDateList().get(0).getDetailList();
//新增详情
CookRecipeDateDTO cookRecipeDateDTO = new CookRecipeDateDTO();
@ -106,10 +104,6 @@ public class CookRecipeServiceImpl implements ICookRecipeService {
cookRecipeDateDTO.setApplyDate(now.plusDays(i));
}
recipeDateList.add(cookRecipeDateDTO);
//新增模板
CookRecipeDateDTO cookRecipeDateDTO2 = new CookRecipeDateDTO();
cookRecipeDateDTO2.setDetailList(recipeDetailList);
recipeDateList.add(cookRecipeDateDTO2);
} else if (3 == cookRecipeDTO.getRecipeType()) { //每周循环
LocalDate now = LocalDate.now();
HashMap<Integer, LocalDate> dateHashMap = new HashMap<>();
@ -126,23 +120,31 @@ public class CookRecipeServiceImpl implements ICookRecipeService {
cookRecipeDateDTO.setApplyDate(entry.getValue());
recipeDateList.add(cookRecipeDateDTO);
}
//新增模板
for (Integer key : dateHashMap.keySet()) {
CookRecipeDateDTO cookRecipeDateDTO = new CookRecipeDateDTO();
cookRecipeDateDTO.setApplyWeek(Long.valueOf(key));
recipeDateList.add(cookRecipeDateDTO);
}
}
return recipeDateList;
}
private void insertRecipeDetails(CookRecipeDTO cookRecipeDTO, List<CookRecipeDateDTO> recipeDateList) {
for (CookRecipeDateDTO recipeDateDTO : recipeDateList) {
private void insertRecipeDetails(CookRecipeDTO cookRecipeDTO, List<CookRecipeDateDTO> generatedRecipeDateList) {
// 插入指定日期日循环摸板周循环模板
for (CookRecipeDateDTO recipeDateDTO :cookRecipeDTO.getRecipeDateList() ) {
List<CookRecipeDetailDTO> detailList = recipeDateDTO.getDetailList();
for (CookRecipeDetailDTO detailDTO : detailList) {
if (1 == cookRecipeDTO.getRecipeType() && CollectionUtils.isEmpty(detailDTO.getDishesList())) { //指定日期不插入空数据
continue;
}
insertDetailAndDishes(cookRecipeDTO, recipeDateDTO, detailDTO);
}
}
// 插入日循环周循环详情
for (CookRecipeDateDTO recipeDateDTO : generatedRecipeDateList) {
List<CookRecipeDetailDTO> detailList = recipeDateDTO.getDetailList();
for (CookRecipeDetailDTO detailDTO : detailList) {
insertDetailAndDishes(cookRecipeDTO, recipeDateDTO, detailDTO);
}
}
}
private void insertDetailAndDishes(CookRecipeDTO cookRecipeDTO, CookRecipeDateDTO recipeDateDTO, CookRecipeDetailDTO detailDTO) {
CookRecipeDetail cookRecipeDetail = new CookRecipeDetail();
BeanUtils.copyProperties(recipeDateDTO, detailDTO);
BeanUtils.copyProperties(detailDTO, cookRecipeDetail);
@ -161,8 +163,6 @@ public class CookRecipeServiceImpl implements ICookRecipeService {
cookRecipeDishesMapper.insertCookRecipeDishes(cookRecipeDishes); //插入菜谱之菜品详情
}
}
}
}
/**
* 修改菜品计划信息