From a1b85ef72062ca80db35546e4216dd564f3e0f57 Mon Sep 17 00:00:00 2001 From: WangHan <wwh_work@126,com> Date: 星期四, 03 四月 2025 15:58:19 +0800 Subject: [PATCH] 问题与漏洞修改 --- consum-base/src/main/java/com/consum/base/controller/BaseCategoryController.java | 48 ++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 40 insertions(+), 8 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..b38cc57 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 @@ -29,7 +29,6 @@ import com.walker.db.page.GenericPager; import com.walker.infrastructure.utils.StringUtils; import com.walker.web.ResponseValue; -import io.swagger.annotations.Api; import org.springframework.web.multipart.MultipartFile; /** @@ -37,7 +36,7 @@ * @Author 鍗㈠簡闃� * @Date 2023/10/23 */ -@Api(value = "鐗╁搧鍒嗙被", tags = "鐗╁搧鍒嗙被") +// @Api(value = "鐗╁搧鍒嗙被", tags = "鐗╁搧鍒嗙被") @RestController @RequestMapping("/pc/base/category") public class BaseCategoryController extends BaseController { @@ -82,7 +81,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 +144,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 +178,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 +203,18 @@ 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("鍒嗙被涓嬫湁鍟嗗搧鍦ㄧ敤锛屼笉鍏佽鍒犻櫎"); + } + // 鏌ヨ鍒嗙被涓嬫槸鍚︽湁瀛愮骇鍒嗙被 + List<BaseCategory> select = this.baseCategoryService.selectByFatherId(param2.getId()); + if (!CollectionUtils.isEmpty(select)) { + return ResponseValue.error("鍒嗙被涓嬫湁瀛愮骇鍒嗙被鍦ㄧ敤锛屼笉鍏佽鍒犻櫎"); } int num = this.baseCategoryService.updateById(baseCategory, this.getCurrentUser()); @@ -217,7 +250,6 @@ if (currentUser == null) { return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�"); } - List<BaseCategory> baseCategories = this.baseCategoryService.queryForLv3Tree(); return ResponseValue.success(baseCategories); } -- Gitblit v1.9.1