5-23 - 重点作业的新增:增加了对重点作业ID和重点作业名称重复的校验,保证重点作业ID与重点作业名称唯一

main
tianxinlei 2026-05-23 11:34:52 +08:00
parent ca96074256
commit 94dbdb5151
2 changed files with 30 additions and 0 deletions

View File

@ -1,6 +1,7 @@
package com.zcloud.key.project.command.project; package com.zcloud.key.project.command.project;
import com.alibaba.cola.exception.BizException; import com.alibaba.cola.exception.BizException;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.zcloud.gbscommon.utils.Tools; import com.zcloud.gbscommon.utils.Tools;
import com.zcloud.key.project.command.convertor.project.KeyProjectCameraCoConvertor; import com.zcloud.key.project.command.convertor.project.KeyProjectCameraCoConvertor;
import com.zcloud.key.project.domain.config.MessageTemplateConfig; 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.KeyProjectAddCmd;
import com.zcloud.key.project.dto.project.KeyProjectCameraAddCmd; 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.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.KeyProjectCameraRepository;
import com.zcloud.key.project.persistence.repository.project.KeyProjectRepository;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -32,6 +36,7 @@ import java.util.Map;
@AllArgsConstructor @AllArgsConstructor
public class KeyProjectAddExe { public class KeyProjectAddExe {
private final KeyProjectGateway keyProjectGateway; private final KeyProjectGateway keyProjectGateway;
private final KeyProjectRepository keyProjectRepository;
private final KeyProjectCameraRepository keyProjectCameraRepository; private final KeyProjectCameraRepository keyProjectCameraRepository;
private final KeyProjectCameraCoConvertor keyProjectCameraCoConvertor; private final KeyProjectCameraCoConvertor keyProjectCameraCoConvertor;
private final MessageNoticeExe messageNoticeExe; private final MessageNoticeExe messageNoticeExe;
@ -39,6 +44,18 @@ public class KeyProjectAddExe {
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public KeyProjectCO execute(KeyProjectAddCmd cmd) { public KeyProjectCO execute(KeyProjectAddCmd cmd) {
if (StringUtils.isNotBlank(cmd.getProjectId()) && StringUtils.isNotBlank(cmd.getProjectName())) {
QueryWrapper<KeyProjectDO> 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(); KeyProjectE keyProjectE = new KeyProjectE();
BeanUtils.copyProperties(cmd, keyProjectE); BeanUtils.copyProperties(cmd, keyProjectE);
boolean res = false; boolean res = false;

View File

@ -2,6 +2,7 @@ package com.zcloud.key.project.command.project;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.alibaba.cola.exception.BizException; import com.alibaba.cola.exception.BizException;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.zcloud.gbscommon.utils.Tools; import com.zcloud.gbscommon.utils.Tools;
import com.zcloud.key.project.command.convertor.project.KeyProjectCameraCoConvertor; import com.zcloud.key.project.command.convertor.project.KeyProjectCameraCoConvertor;
import com.zcloud.key.project.domain.config.MessageTemplateConfig; 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.KeyProjectCameraRepository;
import com.zcloud.key.project.persistence.repository.project.KeyProjectRepository; import com.zcloud.key.project.persistence.repository.project.KeyProjectRepository;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -55,6 +57,17 @@ public class KeyProjectUpdateExe {
).contains(byId.getApplyStatus())) { ).contains(byId.getApplyStatus())) {
throw new BizException("该状态项目不允许修改"); throw new BizException("该状态项目不允许修改");
} }
if (StringUtils.isNotBlank(keyProjectUpdateCmd.getProjectId()) && StringUtils.isNotBlank(keyProjectUpdateCmd.getProjectName())) {
QueryWrapper<KeyProjectDO> 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(); KeyProjectE keyProjectE = new KeyProjectE();
BeanUtils.copyProperties(keyProjectUpdateCmd, keyProjectE); BeanUtils.copyProperties(keyProjectUpdateCmd, keyProjectE);
boolean res = keyProjectGateway.update(keyProjectE); boolean res = keyProjectGateway.update(keyProjectE);