新增菜谱
This commit is contained in:
parent
774bc46626
commit
001eb9ba6f
|
|
@ -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,42 +120,48 @@ 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;
|
||||
}
|
||||
CookRecipeDetail cookRecipeDetail = new CookRecipeDetail();
|
||||
BeanUtils.copyProperties(recipeDateDTO, detailDTO);
|
||||
BeanUtils.copyProperties(detailDTO, cookRecipeDetail);
|
||||
cookRecipeDetail.setRecipeId(cookRecipeDTO.getRecipeId());
|
||||
if (Objects.isNull(cookRecipeDetail.getApplyDate())) {
|
||||
cookRecipeDetail.setDetailType(1L); //模板数据
|
||||
} else {
|
||||
cookRecipeDetail.setDetailType(2L); //详情数据
|
||||
}
|
||||
cookRecipeDetailMapper.insertCookRecipeDetail(cookRecipeDetail); //插入菜谱之执行计划
|
||||
List<CookRecipeDishesDTO> dishesList = detailDTO.getDishesList();
|
||||
for (CookRecipeDishesDTO dishesDTO : dishesList) {
|
||||
CookRecipeDishes cookRecipeDishes = new CookRecipeDishes();
|
||||
BeanUtils.copyProperties(dishesDTO, cookRecipeDishes);
|
||||
cookRecipeDishes.setRecipeDetailId(cookRecipeDetail.getRecipeDetailId());
|
||||
cookRecipeDishesMapper.insertCookRecipeDishes(cookRecipeDishes); //插入菜谱之菜品详情
|
||||
}
|
||||
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);
|
||||
cookRecipeDetail.setRecipeId(cookRecipeDTO.getRecipeId());
|
||||
if (Objects.isNull(cookRecipeDetail.getApplyDate())) {
|
||||
cookRecipeDetail.setDetailType(1L); //模板数据
|
||||
} else {
|
||||
cookRecipeDetail.setDetailType(2L); //详情数据
|
||||
}
|
||||
cookRecipeDetailMapper.insertCookRecipeDetail(cookRecipeDetail); //插入菜谱之执行计划
|
||||
List<CookRecipeDishesDTO> dishesList = detailDTO.getDishesList();
|
||||
for (CookRecipeDishesDTO dishesDTO : dishesList) {
|
||||
CookRecipeDishes cookRecipeDishes = new CookRecipeDishes();
|
||||
BeanUtils.copyProperties(dishesDTO, cookRecipeDishes);
|
||||
cookRecipeDishes.setRecipeDetailId(cookRecipeDetail.getRecipeDetailId());
|
||||
cookRecipeDishesMapper.insertCookRecipeDishes(cookRecipeDishes); //插入菜谱之菜品详情
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Reference in New Issue