diff --git a/web-app/src/main/java/com/zcloud/key/project/command/project/KeyProjectAddExe.java b/web-app/src/main/java/com/zcloud/key/project/command/project/KeyProjectAddExe.java index 59223a4..f50519f 100644 --- a/web-app/src/main/java/com/zcloud/key/project/command/project/KeyProjectAddExe.java +++ b/web-app/src/main/java/com/zcloud/key/project/command/project/KeyProjectAddExe.java @@ -1,6 +1,7 @@ package com.zcloud.key.project.command.project; import com.alibaba.cola.exception.BizException; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.zcloud.gbscommon.utils.Tools; import com.zcloud.key.project.command.convertor.project.KeyProjectCameraCoConvertor; import com.zcloud.key.project.domain.config.MessageTemplateConfig; @@ -11,8 +12,11 @@ import com.zcloud.key.project.dto.clientobject.project.KeyProjectCO; import com.zcloud.key.project.dto.project.KeyProjectAddCmd; import com.zcloud.key.project.dto.project.KeyProjectCameraAddCmd; import com.zcloud.key.project.persistence.dataobject.project.KeyProjectCameraDO; +import com.zcloud.key.project.persistence.dataobject.project.KeyProjectDO; import com.zcloud.key.project.persistence.repository.project.KeyProjectCameraRepository; +import com.zcloud.key.project.persistence.repository.project.KeyProjectRepository; import lombok.AllArgsConstructor; +import org.apache.commons.lang.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; @@ -32,6 +36,7 @@ import java.util.Map; @AllArgsConstructor public class KeyProjectAddExe { private final KeyProjectGateway keyProjectGateway; + private final KeyProjectRepository keyProjectRepository; private final KeyProjectCameraRepository keyProjectCameraRepository; private final KeyProjectCameraCoConvertor keyProjectCameraCoConvertor; private final MessageNoticeExe messageNoticeExe; @@ -39,6 +44,18 @@ public class KeyProjectAddExe { @Transactional(rollbackFor = Exception.class) public KeyProjectCO execute(KeyProjectAddCmd cmd) { + + if (StringUtils.isNotBlank(cmd.getProjectId()) && StringUtils.isNotBlank(cmd.getProjectName())) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("project_id", cmd.getProjectId()); + queryWrapper.eq("project_name", cmd.getProjectName()); + queryWrapper.eq("delete_enum", "FALSE"); + long count = keyProjectRepository.count(queryWrapper); + if (count > 0) { + throw new BizException("重点作业ID与重点作业名称已存在,请勿重复添加"); + } + } + KeyProjectE keyProjectE = new KeyProjectE(); BeanUtils.copyProperties(cmd, keyProjectE); boolean res = false; diff --git a/web-app/src/main/java/com/zcloud/key/project/command/project/KeyProjectUpdateExe.java b/web-app/src/main/java/com/zcloud/key/project/command/project/KeyProjectUpdateExe.java index 0cadfa5..726f738 100644 --- a/web-app/src/main/java/com/zcloud/key/project/command/project/KeyProjectUpdateExe.java +++ b/web-app/src/main/java/com/zcloud/key/project/command/project/KeyProjectUpdateExe.java @@ -2,6 +2,7 @@ package com.zcloud.key.project.command.project; import cn.hutool.core.collection.CollUtil; import com.alibaba.cola.exception.BizException; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.zcloud.gbscommon.utils.Tools; import com.zcloud.key.project.command.convertor.project.KeyProjectCameraCoConvertor; import com.zcloud.key.project.domain.config.MessageTemplateConfig; @@ -16,6 +17,7 @@ import com.zcloud.key.project.persistence.dataobject.project.KeyProjectDO; import com.zcloud.key.project.persistence.repository.project.KeyProjectCameraRepository; import com.zcloud.key.project.persistence.repository.project.KeyProjectRepository; import lombok.AllArgsConstructor; +import org.apache.commons.lang.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; @@ -55,6 +57,17 @@ public class KeyProjectUpdateExe { ).contains(byId.getApplyStatus())) { throw new BizException("该状态项目不允许修改"); } + if (StringUtils.isNotBlank(keyProjectUpdateCmd.getProjectId()) && StringUtils.isNotBlank(keyProjectUpdateCmd.getProjectName())) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("project_id", keyProjectUpdateCmd.getProjectId()); + queryWrapper.eq("project_name", keyProjectUpdateCmd.getProjectName()); + queryWrapper.eq("delete_enum", "FALSE"); + queryWrapper.ne("id", keyProjectUpdateCmd.getId()); + long count = keyProjectRepository.count(queryWrapper); + if (count > 0) { + throw new BizException("重点作业ID与重点作业名称已存在,请勿重复添加"); + } + } KeyProjectE keyProjectE = new KeyProjectE(); BeanUtils.copyProperties(keyProjectUpdateCmd, keyProjectE); boolean res = keyProjectGateway.update(keyProjectE);