Commit a808157a622e6a2756a5a6973a0664176d6f8f64

Authored by puhui999
1 parent 9805f9f5

【代码优化】商城: 校验商品分类增加商品分类层级校验

yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/category/ProductCategoryService.java
@@ -87,6 +87,7 @@ public interface ProductCategoryService { @@ -87,6 +87,7 @@ public interface ProductCategoryService {
87 * 校验商品分类是否有效。如下情况,视为无效: 87 * 校验商品分类是否有效。如下情况,视为无效:
88 * 1. 商品分类编号不存在 88 * 1. 商品分类编号不存在
89 * 2. 商品分类被禁用 89 * 2. 商品分类被禁用
  90 + * 3. 商品分类层级校验,必须使用第二级的商品分类及以下
90 * 91 *
91 * @param ids 商品分类编号数组 92 * @param ids 商品分类编号数组
92 */ 93 */
yudao-module-mall/yudao-module-product-biz/src/main/java/cn/iocoder/yudao/module/product/service/category/ProductCategoryServiceImpl.java
@@ -20,6 +20,7 @@ import java.util.Map; @@ -20,6 +20,7 @@ import java.util.Map;
20 import java.util.Objects; 20 import java.util.Objects;
21 21
22 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; 22 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
  23 +import static cn.iocoder.yudao.module.product.dal.dataobject.category.ProductCategoryDO.CATEGORY_LEVEL;
23 import static cn.iocoder.yudao.module.product.dal.dataobject.category.ProductCategoryDO.PARENT_ID_NULL; 24 import static cn.iocoder.yudao.module.product.dal.dataobject.category.ProductCategoryDO.PARENT_ID_NULL;
24 import static cn.iocoder.yudao.module.product.enums.ErrorCodeConstants.*; 25 import static cn.iocoder.yudao.module.product.enums.ErrorCodeConstants.*;
25 26
@@ -119,6 +120,10 @@ public class ProductCategoryServiceImpl implements ProductCategoryService { @@ -119,6 +120,10 @@ public class ProductCategoryServiceImpl implements ProductCategoryService {
119 if (!CommonStatusEnum.ENABLE.getStatus().equals(category.getStatus())) { 120 if (!CommonStatusEnum.ENABLE.getStatus().equals(category.getStatus())) {
120 throw exception(CATEGORY_DISABLED, category.getName()); 121 throw exception(CATEGORY_DISABLED, category.getName());
121 } 122 }
  123 + // 校验层级
  124 + if (getCategoryLevel(id) < CATEGORY_LEVEL) {
  125 + throw exception(SPU_SAVE_FAIL_CATEGORY_LEVEL_ERROR);
  126 + }
122 }); 127 });
123 } 128 }
124 129