From 5524cfff956b81fcd1ebeb40ac57924a38be42d8 Mon Sep 17 00:00:00 2001
From: WangHan <wwh_work@126,com>
Date: 星期四, 19 十二月 2024 15:02:17 +0800
Subject: [PATCH] 问题修改

---
 consum-base/src/main/java/com/consum/base/controller/BaseCategoryController.java |   47 +++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 41 insertions(+), 6 deletions(-)

diff --git a/consum-base/src/main/java/com/consum/base/controller/BaseCategoryController.java b/consum-base/src/main/java/com/consum/base/controller/BaseCategoryController.java
index 552f22d..eb4b017 100644
--- a/consum-base/src/main/java/com/consum/base/controller/BaseCategoryController.java
+++ b/consum-base/src/main/java/com/consum/base/controller/BaseCategoryController.java
@@ -82,7 +82,15 @@
         if (category != null) {
             return ResponseValue.error("鍒嗙被鍚嶇О宸插瓨鍦�");
         }
-
+        // 鍒ゆ柇娣诲姞鐨勭埗绾т笉鑳芥槸3
+        if (param2.getFatherCategoryId() != null) {
+            BaseCategory baseCategory = new BaseCategory();
+            baseCategory.setId(param2.getFatherCategoryId());
+            BaseCategory baseCategory1 = this.baseCategoryService.get(baseCategory);
+            if (baseCategory1 != null && baseCategory1.getLevels() >= 3) {
+                return ResponseValue.error("鍒嗙被鏈�澶氭敮鎸佷笁绾�");
+            }
+        }
         int result = this.baseCategoryService.add(param, this.getCurrentUser());
         if (result > 0) {
             return ResponseValue.success(1);
@@ -137,6 +145,17 @@
         if (currentUser == null) {
             return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�");
         }
+        List<BaseCategory> list = this.baseGoodsTemplateService.getByCategoryId(baseCategory.getId());
+        if (!CollectionUtils.isEmpty(list) && param2.getStates() != 1) {
+            return ResponseValue.error("鍒嗙被涓嬫湁鍟嗗搧鍦ㄧ敤锛屼笉鍏佽绂佺敤");
+        }
+        // 鏌ヨ鍒嗙被涓嬫槸鍚︽湁瀛愮骇鍒嗙被
+        BaseCategory baseCategory1 = new BaseCategory();
+        baseCategory1.setFatherCategoryId(param2.getId());
+        List<BaseCategory> select = this.baseCategoryService.select(baseCategory1);
+        if (!CollectionUtils.isEmpty(select) && param2.getStates() != 1) {
+            return ResponseValue.error("鍒嗙被涓嬫湁瀛愮骇鍒嗙被鍦ㄧ敤锛屼笉鍏佽绂佺敤");
+        }
         int num = this.baseCategoryService.updateBaseCategory(baseCategory);
         return num > 0 ? ResponseValue.success(1) : ResponseValue.error("缂栬緫澶辫触锛�");
     }
@@ -160,10 +179,16 @@
         }
         // 鏍规嵁鍒嗙被id鍜岀姸鎬佹煡璇㈢墿鍝佹ā鐗�
         List<BaseCategory> list = this.baseGoodsTemplateService.getByCategoryId(baseCategory.getId());
-        if (baseCategory.getStates() == 2 && !CollectionUtils.isEmpty(list)) {
-            return ResponseValue.error("鍒嗙被涓嬫湁姝e父鐘舵�佺殑鐗╁搧锛屼笉鍏佽绂佺敤");
+        if (!CollectionUtils.isEmpty(list)) {
+            return ResponseValue.error("鍒嗙被涓嬫湁鍟嗗搧鍦ㄧ敤锛屼笉鍏佽绂佺敤");
         }
-
+        // 鏌ヨ鍒嗙被涓嬫槸鍚︽湁瀛愮骇鍒嗙被
+        BaseCategory baseCategory1 = new BaseCategory();
+        baseCategory1.setFatherCategoryId(param2.getId());
+        List<BaseCategory> select = this.baseCategoryService.select(baseCategory1);
+        if (!CollectionUtils.isEmpty(select)) {
+            return ResponseValue.error("鍒嗙被涓嬫湁瀛愮骇鍒嗙被鍦ㄧ敤锛屼笉鍏佽绂佺敤");
+        }
         int num = this.baseCategoryService.updateStatus(baseCategory);
         return num > 0 ? ResponseValue.success(1) : ResponseValue.error("淇敼澶辫触锛�");
     }
@@ -179,9 +204,20 @@
         BaseCategory param2 = new BaseCategory();
         CommonUtil.copyProperties(baseCategory, param2);
         baseCategory = param2;
-
         if (baseCategory.getId() == null) {
             return ResponseValue.error("鍒嗙被id涓虹┖");
+        }
+        // 鍒ゆ柇鍒嗙被鏄惁鏈夊晢鍝佸湪鐢�
+        List<BaseCategory> byCategoryId = this.baseGoodsTemplateService.getByCategoryId(baseCategory.getId());
+        if (!CollectionUtils.isEmpty(byCategoryId)) {
+            return ResponseValue.error("鍒嗙被涓嬫湁鍟嗗搧鍦ㄧ敤锛屼笉鍏佽鍒犻櫎");
+        }
+        // 鏌ヨ鍒嗙被涓嬫槸鍚︽湁瀛愮骇鍒嗙被
+        BaseCategory baseCategory1 = new BaseCategory();
+        baseCategory1.setFatherCategoryId(param2.getId());
+        List<BaseCategory> select = this.baseCategoryService.select(baseCategory1);
+        if (!CollectionUtils.isEmpty(select)) {
+            return ResponseValue.error("鍒嗙被涓嬫湁瀛愮骇鍒嗙被鍦ㄧ敤锛屼笉鍏佽鍒犻櫎");
         }
         int num = this.baseCategoryService.updateById(baseCategory, this.getCurrentUser());
 
@@ -217,7 +253,6 @@
         if (currentUser == null) {
             return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�");
         }
-
         List<BaseCategory> baseCategories = this.baseCategoryService.queryForLv3Tree();
         return ResponseValue.success(baseCategories);
     }

--
Gitblit v1.9.1