diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/wzj/soopin/goods/controller/ProductCategoryController.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/wzj/soopin/goods/controller/ProductCategoryController.java index b93c71f29..7e6050d41 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/wzj/soopin/goods/controller/ProductCategoryController.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/wzj/soopin/goods/controller/ProductCategoryController.java @@ -14,6 +14,7 @@ import org.dromara.common.core.domain.R; import org.dromara.common.log.annotation.Log; import org.dromara.common.log.enums.BusinessType; import org.dromara.common.web.core.BaseController; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; @@ -29,6 +30,7 @@ import java.util.List; @RestController @RequestMapping("/pms/product/category") @RequiredArgsConstructor +@Validated public class ProductCategoryController extends BaseController { private final ProductCategoryService service; diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/wzj/soopin/goods/domain/entity/ProductCategory.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/wzj/soopin/goods/domain/entity/ProductCategory.java index bb0c0bf84..21d0e1c67 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/wzj/soopin/goods/domain/entity/ProductCategory.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/wzj/soopin/goods/domain/entity/ProductCategory.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; import lombok.Data; import org.apache.ibatis.type.JdbcType; import org.dromara.common.core.domain.model.BaseAudit; @@ -30,6 +31,7 @@ public class ProductCategory extends BaseAudit { @Schema(description = "NAME") @Excel(name = "NAME") + @NotBlank(message = "名称不能为空") private String name; @Schema(description = "分类级别:0->1级;1->2级") @@ -46,6 +48,7 @@ public class ProductCategory extends BaseAudit { @Schema(description = "图标") @Excel(name = "图标") + @NotBlank(message = "图标不能为空") private String icon; @Schema(description = "删除标志(0代表存在,1代表删除)") diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/wzj/soopin/goods/service/ProductCategoryService.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/wzj/soopin/goods/service/ProductCategoryService.java index a31a3cfff..fc9d5f7f1 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/wzj/soopin/goods/service/ProductCategoryService.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/wzj/soopin/goods/service/ProductCategoryService.java @@ -8,5 +8,10 @@ import com.wzj.soopin.goods.domain.vo.ProductCategoryVO; import java.util.List; public interface ProductCategoryService extends IService { + + boolean save(ProductCategory productCategory); + + boolean updateById(ProductCategory productCategory); + List tree(Wrapper wrapper); } diff --git a/ruoyi-modules/ruoyi-goods/src/main/java/com/wzj/soopin/goods/service/impl/ProductCategoryServiceImpl.java b/ruoyi-modules/ruoyi-goods/src/main/java/com/wzj/soopin/goods/service/impl/ProductCategoryServiceImpl.java index 60c972ebc..be6d58336 100644 --- a/ruoyi-modules/ruoyi-goods/src/main/java/com/wzj/soopin/goods/service/impl/ProductCategoryServiceImpl.java +++ b/ruoyi-modules/ruoyi-goods/src/main/java/com/wzj/soopin/goods/service/impl/ProductCategoryServiceImpl.java @@ -1,6 +1,8 @@ package com.wzj.soopin.goods.service.impl; +import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.wzj.soopin.goods.convert.ProductCategoryConvert; import com.wzj.soopin.goods.domain.entity.ProductCategory; @@ -8,6 +10,7 @@ import com.wzj.soopin.goods.domain.vo.ProductCategoryVO; import com.wzj.soopin.goods.mapper.ProductCategoryMapper; import com.wzj.soopin.goods.service.ProductCategoryService; import lombok.RequiredArgsConstructor; +import org.dromara.common.core.exception.ServiceException; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -28,6 +31,32 @@ public class ProductCategoryServiceImpl extends ServiceImpl ServiceException.of("分类已存在")); + return super.save(productCategory); + } + + @Override + public boolean updateById(ProductCategory productCategory) { + boolean exists = this.exists(Wrappers.lambdaQuery(ProductCategory.class) + .ne(ProductCategory::getId, productCategory.getId()) + .eq(ProductCategory::getName, productCategory.getName()) + .eq(ProductCategory::getParentId, productCategory.getParentId())); + Assert.isFalse(exists, () -> ServiceException.of("分类已存在")); + return super.updateById(productCategory); + } + @Override public List tree(Wrapper wrapper) { List list = this.list(wrapper);