From 953f9d7bd8b9608ddad3365a819dd79b65cc49b0 Mon Sep 17 00:00:00 2001 From: jjLv <1981429112@qq.com> Date: Wed, 23 Apr 2025 09:37:24 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=8C=E5=B1=8F=E6=9C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/menu/mapper/MenuRecipeMapper.java | 4 ++- .../service/impl/MenuDishesServiceImpl.java | 2 +- .../service/impl/MenuRecipeServiceImpl.java | 31 +++++++++++++++---- .../mapper/menu/MenuRecipeMapper.xml | 24 +++++++++----- 4 files changed, 45 insertions(+), 16 deletions(-) diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/menu/mapper/MenuRecipeMapper.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/menu/mapper/MenuRecipeMapper.java index 3843eab..bc0ca5a 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/menu/mapper/MenuRecipeMapper.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/menu/mapper/MenuRecipeMapper.java @@ -215,7 +215,7 @@ public interface MenuRecipeMapper extends BaseMapper { void updateRecipeByCanteeStallMeal(@Param("recipeId")String recipeId, @Param("canteenId")String canteenId, @Param("stallId")String stallId, @Param("deviceIds")List deviceIds); Long getRecipeIdBySn(String machineSn); - List selectMenuRecipeDetailList(Long recipeId); + List selectMenuRecipeDetailLists(Long recipeId); List selectRecipeDishList(@Param("detailIds") List detailIds); @@ -230,4 +230,6 @@ public interface MenuRecipeMapper extends BaseMapper { List getMenuRecipeList(MenuRecipeV2PageDTO dto); + + List getDeviceSnByIds(@Param("list") List deviceInfoList); } diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/menu/service/impl/MenuDishesServiceImpl.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/menu/service/impl/MenuDishesServiceImpl.java index 1aa2607..ea23cfe 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/menu/service/impl/MenuDishesServiceImpl.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/menu/service/impl/MenuDishesServiceImpl.java @@ -99,7 +99,7 @@ public class MenuDishesServiceImpl implements IMenuDishesService { throw new ServiceException("菜品基础ID不能为空"); } MenuDishes menuDishesOne = menuDishesMapper.getOne(menuDishesDTO); - if(menuDishesOne !=null && !String.valueOf(menuDishesOne.getDishesId()).equals(menuDishesDTO.getDishesId())){ + if(menuDishesOne !=null && String.valueOf(menuDishesOne.getDishesId()).equals(menuDishesDTO.getDishesId())){ throw new ServiceException("菜品已存在"); } addIds(menuDishesDTO); diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/menu/service/impl/MenuRecipeServiceImpl.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/menu/service/impl/MenuRecipeServiceImpl.java index f4219a5..7668445 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/menu/service/impl/MenuRecipeServiceImpl.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/menu/service/impl/MenuRecipeServiceImpl.java @@ -43,6 +43,7 @@ import com.bonus.canteen.core.menu.enums.MenuRecipeSortEnum; import com.bonus.canteen.core.menu.model.*; import com.bonus.canteen.core.menu.service.IMenuRecipeService; import com.bonus.canteen.core.menu.vo.*; +import com.bonus.canteen.core.user.domain.DeviceMqPersonalUpdateMessageDTO; import com.bonus.canteen.core.utils.BnsConstants; import com.bonus.canteen.core.utils.CurrentToNextSunday; import com.bonus.canteen.core.utils.DeviceMqMessage; @@ -195,18 +196,20 @@ public class MenuRecipeServiceImpl extends ServiceImpl deviceInfoList = this.menuRecipeMapper.getDeviceIdByDevivce(String.valueOf(content.getCanteenId()), String.valueOf(content.getStallId())); - if(deviceInfoList == null || deviceInfoList.isEmpty()){ + List deviceInfoList = new ArrayList<>(); + if(content.getStallId() !=null){ + deviceInfoList = this.menuRecipeMapper.getDeviceIdByDevivce(null, String.valueOf(content.getStallId())); + if(deviceInfoList == null || deviceInfoList.isEmpty() || deviceInfoList.size() == 0){ throw new ServiceException(I18n.getMessage("该食堂档口下没有设备信息", new Object[0])); } } + List deviceSnList = this.menuRecipeMapper.getDeviceSnByIds(deviceInfoList); MenuRecipeSortEnum sortEnum = MenuRecipeSortEnum.getBindTypeMap().get(content.getBindType()); MenuAppRecipe mar = new MenuAppRecipe(); mar.setRecipeId(content.getRecipeId()); mar.setMealLineId(content.getMealLineId()); mar.setBindType(content.getBindType()); - List deviceTypeList = menuRecipeMapper.getDeviceIdByDevivce(String.valueOf(menuRecipe.getCanteenId()), String.valueOf(menuRecipe.getStallId())); + List deviceTypeList = menuRecipeMapper.getDeviceIdByDevivce(null, String.valueOf(menuRecipe.getStallId())); if (ObjectUtil.isEmpty(sortEnum)) { throw new ServiceException(I18n.getMessage("bingType值异常", new Object[0])); } else { @@ -244,6 +247,12 @@ public class MenuRecipeServiceImpl extends ServiceImpl deviceInfoList = this.menuRecipeMapper.getDeviceIdByDevivce(String.valueOf(dto.getCanteenId()), String.valueOf(dto.getStallId())); + List deviceSnList = this.menuRecipeMapper.getDeviceSnByIds(deviceInfoList); + for (String deviceSn : deviceSnList){ + DeviceMqPersonalUpdateMessageDTO bean = new DeviceMqPersonalUpdateMessageDTO().setUpdatePerson(0,"update"); + MqUtil.pushToSingleDevice(bean, LeMqConstant.Topic.DEVICE_UPDATE_MENU_CONFIG_V4, deviceSn); + } + } return recipeId; } } @@ -1295,8 +1311,11 @@ public class MenuRecipeServiceImpl extends ServiceImpl menuRecipeDetailList = menuRecipeMapper.selectMenuRecipeDetailList(recipeId); + List menuRecipeDetailList = menuRecipeMapper.selectMenuRecipeDetailLists(recipeId); List detailIds = menuRecipeDetailList.stream().map(MenuAndroidRecipeDetailVO::getDetailId).collect(Collectors.toList()); + if (ObjectUtil.isEmpty(detailIds)){ + return issueRecipe; + } //查询所有的dishesId List recipeDishList = menuRecipeMapper.selectRecipeDishList(detailIds); List dishesIds = recipeDishList.stream().map(IssueRecipeDetailCompressVO::getDishesId).collect(Collectors.toList()); diff --git a/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/menu/MenuRecipeMapper.xml b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/menu/MenuRecipeMapper.xml index 3dfb0d1..d0b2a38 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/menu/MenuRecipeMapper.xml +++ b/bonus-modules/bonus-smart-canteen/src/main/resources/mapper/menu/MenuRecipeMapper.xml @@ -714,13 +714,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" from device_recipe where device_id = (select device_id from device_info where device_sn = #{machineSn} limit 1) limit 1 - - - - - - - + @@ -1265,5 +1265,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and mrd.apply_date between #{applyStartDate} and #{applyEndDate} order by mrd.apply_date,mrdd.sort_num +