diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/workflow/WfCategoryController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/workflow/WfCategoryController.java index dbd9bb1a..f70a95d4 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/workflow/WfCategoryController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/workflow/WfCategoryController.java @@ -4,6 +4,7 @@ import cn.dev33.satoken.annotation.SaCheckLogin; import cn.dev33.satoken.annotation.SaCheckPermission; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.annotation.RepeatSubmit; +import com.ruoyi.common.constant.UserConstants; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.PageQuery; import com.ruoyi.common.core.domain.R; @@ -87,6 +88,9 @@ public class WfCategoryController extends BaseController { @RepeatSubmit() @PostMapping() public R add(@Validated(AddGroup.class) @RequestBody WfCategoryBo categoryBo) { + if (UserConstants.NOT_UNIQUE.equals(categoryService.checkCategoryCodeUnique(categoryBo.getCode()))) { + return R.fail("新增流程分类'" + categoryBo.getCategoryName() + "'失败,流程编码已存在"); + } return toAjax(categoryService.insertCategory(categoryBo)); } @@ -98,6 +102,9 @@ public class WfCategoryController extends BaseController { @RepeatSubmit() @PutMapping() public R edit(@Validated(EditGroup.class) @RequestBody WfCategoryBo categoryBo) { + if (UserConstants.NOT_UNIQUE.equals(categoryService.checkCategoryCodeUnique(categoryBo.getCode()))) { + return R.fail("修改流程分类'" + categoryBo.getCategoryName() + "'失败,流程编码已存在"); + } return toAjax(categoryService.updateCategory(categoryBo)); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/workflow/service/IWfCategoryService.java b/ruoyi-system/src/main/java/com/ruoyi/workflow/service/IWfCategoryService.java index 9bf8b173..4d982812 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/workflow/service/IWfCategoryService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/workflow/service/IWfCategoryService.java @@ -53,4 +53,12 @@ public interface IWfCategoryService { * @return 结果 */ int deleteWithValidByIds(Collection ids, Boolean isValid); + + /** + * 校验分类编码是否唯一 + * + * @param code 分类编码 + * @return 结果 + */ + String checkCategoryCodeUnique(String code); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/WfCategoryServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/WfCategoryServiceImpl.java index 25b70af8..a13973ed 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/WfCategoryServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/workflow/service/impl/WfCategoryServiceImpl.java @@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.constant.UserConstants; import com.ruoyi.common.core.domain.PageQuery; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.utils.StringUtils; @@ -76,4 +77,19 @@ public class WfCategoryServiceImpl implements IWfCategoryService { } return baseMapper.deleteBatchIds(ids); } + + /** + * 校验分类编码是否唯一 + * + * @param code 分类编码 + * @return 结果 + */ + @Override + public String checkCategoryCodeUnique(String code) { + boolean exist = baseMapper.exists(new LambdaQueryWrapper().eq(WfCategory::getCode, code)); + if (exist) { + return UserConstants.NOT_UNIQUE; + } + return UserConstants.UNIQUE; + } }