caoyiwen 1 year ago
parent
commit
abb5484805
  1. 4
      diet-core/src/main/java/com/mathvision/diet/service/DishService.java
  2. 2
      diet-core/src/main/java/com/mathvision/diet/service/MenuService.java

4
diet-core/src/main/java/com/mathvision/diet/service/DishService.java

@ -92,14 +92,14 @@ public class DishService {
if (CollectionUtils.isNotEmpty(dishes)) { if (CollectionUtils.isNotEmpty(dishes)) {
return dishes.get(0); return dishes.get(0);
} }
dish = dishRepository.save(Dish.builder().name(dish.getName()).vender(vender).marks(dish.getMarks()).poly(dish.getPoly()).month(dish.getMonth()).icon(dish.getIcon()).ingredient(dish.getIngredient()).operate(operator).created(instant).modify(instant).build()); dish = dishRepository.save(Dish.builder().name(dish.getName()).vender(vender).marks(dish.getMarks()).label(dish.getLabel()).poly(dish.getPoly()).month(dish.getMonth()).icon(dish.getIcon()).ingredient(dish.getIngredient()).operate(operator).created(instant).modify(instant).build());
log.info("[DishService] copy dish name = " + dish.getName() + ", operator = " + operator); log.info("[DishService] copy dish name = " + dish.getName() + ", operator = " + operator);
return dish; return dish;
} }
public void copy(Dish dish, List<Long> vendors, String operator) { public void copy(Dish dish, List<Long> vendors, String operator) {
Instant instant = Instant.now(); Instant instant = Instant.now();
List<Dish> dishes = vendors.stream().filter(vender -> exists(null, dish.getName(), vender)).map(vender -> Dish.builder().name(dish.getName()).vender(vender).marks(dish.getMarks()).poly(dish.getPoly()).month(dish.getMonth()).icon(dish.getIcon()).ingredient(dish.getIngredient()).operate(operator).created(instant).modify(instant).build()).collect(Collectors.toList()); List<Dish> dishes = vendors.stream().filter(vender -> exists(null, dish.getName(), vender)).map(vender -> Dish.builder().name(dish.getName()).vender(vender).marks(dish.getMarks()).poly(dish.getPoly()).label(dish.getLabel()).month(dish.getMonth()).icon(dish.getIcon()).ingredient(dish.getIngredient()).operate(operator).created(instant).modify(instant).build()).collect(Collectors.toList());
dishRepository.saveAll(dishes); dishRepository.saveAll(dishes);
log.info("[DishService] copy dishes count = " + dishes.size() + ", operator = " + operator); log.info("[DishService] copy dishes count = " + dishes.size() + ", operator = " + operator);
} }

2
diet-core/src/main/java/com/mathvision/diet/service/MenuService.java

@ -47,7 +47,7 @@ public class MenuService {
List<MenuDish> menuDishes= menuDishRepository.findByMenu(menu.getId()); List<MenuDish> menuDishes= menuDishRepository.findByMenu(menu.getId());
List<Menu> menus = vendors.stream().map(v -> Menu.builder().name(name).meals(menu.getMeals()).crows(menu.getCrows()).scale(menu.getCrows().stream().collect(Collectors.toMap(x -> x, x -> 0))).day(menu.getDay()).nutrient(menu.getNutrient()).month(menu.getMonth()).vender(v).status(MenuStatus.draft).operate(operator).created(dateTime).modify(dateTime).build()).collect(Collectors.toList()); List<Menu> menus = vendors.stream().map(v -> Menu.builder().name(name).meals(menu.getMeals()).crows(menu.getCrows()).scale(menu.getCrows().stream().collect(Collectors.toMap(x -> x, x -> 0))).day(menu.getDay()).nutrient(menu.getNutrient()).month(menu.getMonth()).vender(v).status(MenuStatus.draft).operate(operator).created(dateTime).modify(dateTime).build()).collect(Collectors.toList());
menus = add(menus); menus = add(menus);
List<MenuDish> dishes = menus.stream().map(v -> menuDishes.stream().map(dish -> MenuDish.builder().vender(v.getVender()).menu(v.getId()).dish(dish.getVender().equals(v.getVender()) ? dishService.copy(dish.getDish(), v.getVender(), operator, dateTime).getId() : dish.getDish()).day(dish.getDay()).meal(dish.getMeal()).name(dish.getName()).marks(dish.getMarks()).poly(dish.getPoly()).ingredient(dish.getIngredient()).operate(operator).created(dateTime).modify(dateTime).build()).collect(Collectors.toList())).flatMap(List::stream).collect(Collectors.toList()); List<MenuDish> dishes = menus.stream().map(v -> menuDishes.stream().map(dish -> MenuDish.builder().vender(v.getVender()).menu(v.getId()).dish(dish.getVender().equals(v.getVender()) ? dishService.copy(dish.getDish(), v.getVender(), operator, dateTime).getId() : dish.getDish()).day(dish.getDay()).meal(dish.getMeal()).name(dish.getName()).marks(dish.getMarks()).poly(dish.getPoly()).label(dish.getLabel()).ingredient(dish.getIngredient()).operate(operator).created(dateTime).modify(dateTime).build()).collect(Collectors.toList())).flatMap(List::stream).collect(Collectors.toList());
menuDishRepository.saveAll(dishes); menuDishRepository.saveAll(dishes);
return menus.stream().map(Menu::getId).collect(Collectors.toList()); return menus.stream().map(Menu::getId).collect(Collectors.toList());
} }

Loading…
Cancel
Save