Commit a808157a622e6a2756a5a6973a0664176d6f8f64
1 parent
9805f9f5
【代码优化】商城: 校验商品分类增加商品分类层级校验
Showing
2 changed files
with
6 additions
and
0 deletions
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 |