Prechádzať zdrojové kódy

bugfix:1105删除菜品加使用校验

lyx 1 mesiac pred
rodič
commit
31b4cd9e51

+ 1 - 8
alien-store/src/main/java/shop/alien/store/controller/StoreMenuController.java

@@ -5,7 +5,6 @@ import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.web.bind.annotation.*;
 import shop.alien.entity.result.R;
-import shop.alien.entity.store.LifeLikeRecord;
 import shop.alien.entity.store.StoreMenu;
 import shop.alien.entity.store.vo.StoreMenuVo;
 import shop.alien.store.service.StoreMenuService;
@@ -55,13 +54,7 @@ public class StoreMenuController {
     @GetMapping("/delete")
     public R<String> delete(@RequestParam(value = "ids") List<Integer> ids, @RequestParam(value = "dishType") int dishType) {
         log.info("StoreRecommendController.delete?ids={}", ids);
-        boolean flag = false;
-        flag = storeMenuService.deleteMenu(ids, dishType);
-        if (flag) {
-            return R.success("删除成功");
-        } else {
-            return R.fail("删除失败");
-        }
+        return storeMenuService.deleteMenu(ids, dishType);
     }
 
     @ApiOperation("获取菜品详情")

+ 1 - 1
alien-store/src/main/java/shop/alien/store/service/StoreMenuService.java

@@ -62,7 +62,7 @@ public interface StoreMenuService extends IService<StoreMenu> {
      *
      * 删除门店菜单
      */
-    Boolean deleteMenu(List<Integer> ids, int dishType);
+    R deleteMenu(List<Integer> ids, int dishType);
 
 
 

+ 16 - 6
alien-store/src/main/java/shop/alien/store/service/impl/StoreMenuServiceImpl.java

@@ -9,20 +9,22 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.RequiredArgsConstructor;
 import org.springframework.beans.BeanUtils;
-import org.springframework.cache.annotation.CacheEvict;
 import org.springframework.stereotype.Service;
 import shop.alien.entity.result.R;
-import shop.alien.entity.store.LifeClassManage;
+import shop.alien.entity.store.LifeGroupBuyThali;
 import shop.alien.entity.store.LifeLikeRecord;
 import shop.alien.entity.store.StoreImg;
 import shop.alien.entity.store.StoreMenu;
 import shop.alien.entity.store.vo.StoreMenuVo;
+import shop.alien.mapper.LifeGroupBuyThaliMapper;
 import shop.alien.mapper.LifeLikeRecordMapper;
 import shop.alien.mapper.StoreMenuMapper;
 import shop.alien.store.service.StoreImgService;
 import shop.alien.store.service.StoreMenuService;
 
-import java.util.*;
+import java.util.Comparator;
+import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 /**
@@ -41,6 +43,8 @@ public class StoreMenuServiceImpl extends ServiceImpl<StoreMenuMapper, StoreMenu
 
     private final StoreImgService storeImgService;
 
+    private final LifeGroupBuyThaliMapper lifeGroupBuyThaliMapper;
+
 
     /**
      * 获取门店菜单
@@ -219,10 +223,14 @@ public class StoreMenuServiceImpl extends ServiceImpl<StoreMenuMapper, StoreMenu
      * @return
      */
     @Override
-    public Boolean deleteMenu(List<Integer> ids, int dishType) {
+    public R deleteMenu(List<Integer> ids, int dishType) {
         QueryWrapper<StoreMenu> queryWrapperMenu = new QueryWrapper<>();
         boolean flag = false;
         if (dishType == 0) {
+            List<LifeGroupBuyThali> lifeGroupBuyThaliList = lifeGroupBuyThaliMapper.selectList(new LambdaQueryWrapper<LifeGroupBuyThali>().in(LifeGroupBuyThali::getDetailId, ids));
+            if (CollectionUtil.isNotEmpty(lifeGroupBuyThaliList)) {
+                return R.fail("该菜品已被团购套餐引用,不能删除");
+            }
             flag = this.removeByIds(ids);
         } else {
             queryWrapperMenu.in("id", ids);
@@ -233,9 +241,11 @@ public class StoreMenuServiceImpl extends ServiceImpl<StoreMenuMapper, StoreMenu
             });
             flag = true;
         }
-        return flag;
+        if (!flag) {
+            return R.fail("删除失败");
+        }
+        return R.success("删除成功");
     }
-
     @Override
     public StoreMenuVo getMenuCountByStoreId(int storeId) {
         StoreMenuVo storeMenuVo = new StoreMenuVo();