菜谱编辑优化

This commit is contained in:
sxu 2025-06-23 17:51:41 +08:00
parent eb80b04134
commit cc18c9f36e
3 changed files with 45 additions and 28 deletions

View File

@ -37,6 +37,8 @@ public interface CookRecipeDishesMapper {
*/
public int insertCookRecipeDishes(CookRecipeDishes cookRecipeDishes);
public int batchInsertCookRecipeDishes(@Param("list") List<CookRecipeDishes> dishesList);
/**
* 修改菜品计划菜品关联
*

View File

@ -342,6 +342,7 @@ public class CookRecipeServiceImpl implements ICookRecipeService {
}
cookRecipeDetailMapper.insertCookRecipeDetail(cookRecipeDetail); //插入菜谱之执行计划
List<CookRecipeDishesDTO> dishesList = detailDTO.getDishesList();
List<CookRecipeDishes> newDishesList = new ArrayList<>();
for (CookRecipeDishesDTO dishesDTO : dishesList) {
CookRecipeDishes cookRecipeDishes = new CookRecipeDishes();
BeanUtils.copyProperties(dishesDTO, cookRecipeDishes);
@ -354,8 +355,9 @@ public class CookRecipeServiceImpl implements ICookRecipeService {
cookRecipeDishes.setSaleNum(saleNum);
cookRecipeDishes.setRemanentNum((int) (supplyNum - saleNum));
cookRecipeDishes.setRecipeDetailId(cookRecipeDetail.getRecipeDetailId());
cookRecipeDishesMapper.insertCookRecipeDishes(cookRecipeDishes); //插入菜谱之菜品详情
newDishesList.add(cookRecipeDishes);
}
cookRecipeDishesMapper.batchInsertCookRecipeDishes(newDishesList); //插入菜谱之菜品详情
}
private void deleteOldCookRecipeDetailsAndDishes(CookRecipeDTO cookRecipeDTO) {
@ -553,6 +555,7 @@ public class CookRecipeServiceImpl implements ICookRecipeService {
//List<CookRecipeDishes> recipeDishesV2List = Lists.newArrayList();
for (Long recipeId : recipeMap.keySet()) {
List<CookRecipeDetail> cookRecipeDetailList = detailMap.get(recipeId);
if (!CollectionUtils.isEmpty(cookRecipeDetailList)) {
for (CookRecipeDetail oldDetail : cookRecipeDetailList) {
Long oldDetailId = oldDetail.getRecipeDetailId();
CookRecipeDetail newRecipeDetail = new CookRecipeDetail();
@ -588,6 +591,7 @@ public class CookRecipeServiceImpl implements ICookRecipeService {
}
}
}
}
public List<CookRecipeDetail> filterCookRecipeDetails(Map<Long, Long> recipeTypeMap, List<CookRecipeDetail> cookRecipeDetails, LocalDate applyDate) {
return (List)cookRecipeDetails.stream().filter((item) -> {

View File

@ -96,6 +96,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</trim>
</insert>
<insert id="batchInsertCookRecipeDishes" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id">
insert into cook_recipe_dishes (recipe_detail_id, dishes_id, price, sale_price, size_type, supply_num, sale_num,
remanent_num, limit_num, chef_id, recommend_flag, create_by, create_time)
VALUES
<foreach collection="list" item="item" separator=",">
(#{item.recipeDetailId}, #{item.dishesId}, #{item.price}, #{item.salePrice}, #{item.sizeType},
#{item.supplyNum}, #{item.saleNum}, #{item.remanentNum}, #{item.limitNum}, #{item.chefId}, #{item.recommendFlag},
#{item.createBy}, #{item.createTime})
</foreach>
</insert>
<update id="updateCookRecipeDishes" parameterType="com.bonus.canteen.core.cook.domain.CookRecipeDishes">
update cook_recipe_dishes
<trim prefix="SET" suffixOverrides=",">