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