diff --git a/web-app/src/main/java/com/zcloud/basic/info/command/CorpInfoAddExe.java b/web-app/src/main/java/com/zcloud/basic/info/command/CorpInfoAddExe.java index d7b0db9..e776379 100644 --- a/web-app/src/main/java/com/zcloud/basic/info/command/CorpInfoAddExe.java +++ b/web-app/src/main/java/com/zcloud/basic/info/command/CorpInfoAddExe.java @@ -15,6 +15,8 @@ import com.zcloud.basic.info.domain.model.UserEmploymentLogE; import com.zcloud.basic.info.dto.CorpInfoAddCmd; import com.zcloud.basic.info.dto.DepartmentAddCmd; import com.zcloud.basic.info.dto.UserAddCmd; +import com.zcloud.basic.info.persistence.dataobject.CorpInfoDO; +import com.zcloud.basic.info.persistence.repository.CorpInfoRepository; import com.zcloud.basic.info.persistence.repository.DepartmentRepository; import com.zcloud.basic.info.persistence.repository.UserEmploymentLogRepository; import com.zcloud.basic.info.persistence.repository.UserRepository; @@ -42,6 +44,7 @@ import java.util.Map; @Slf4j public class CorpInfoAddExe { private final CorpInfoGateway corpInfoGateway; + private final CorpInfoRepository corpInfoRepository; private final UserRepository userRepository; private final DepartmentRepository departmentRepository; private final UserEmploymentLogRepository userEmploymentLogRepository; @@ -50,6 +53,8 @@ public class CorpInfoAddExe { @Transactional(rollbackFor = Exception.class) public Long execute(CorpInfoAddCmd cmd) { CorpInfoE examTypeE = new CorpInfoE(); + List corpinfoByCode = corpInfoRepository.getCorpinfoByCode(cmd.getCode()); + examTypeE.checkList(corpinfoByCode == null ? 0 : corpinfoByCode.size()); try { examTypeE.initPassWord(); } catch (Exception e) { diff --git a/web-app/src/main/java/com/zcloud/basic/info/command/CorpInfoUpdateExe.java b/web-app/src/main/java/com/zcloud/basic/info/command/CorpInfoUpdateExe.java index 622b801..7476f47 100644 --- a/web-app/src/main/java/com/zcloud/basic/info/command/CorpInfoUpdateExe.java +++ b/web-app/src/main/java/com/zcloud/basic/info/command/CorpInfoUpdateExe.java @@ -24,6 +24,8 @@ import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; import lombok.extern.slf4j.Slf4j; +import java.util.List; + /** * web-app * @@ -46,6 +48,10 @@ public class CorpInfoUpdateExe { @Transactional(rollbackFor = Exception.class) public void execute(CorpInfoUpdateCmd corpInfoUpdateCmd) { CorpInfoE corpInfoE = new CorpInfoE(); + + List corpinfoByCodeAndId = corpInfoRepository.getCorpinfoByCodeAndId(corpInfoUpdateCmd.getCode(), corpInfoUpdateCmd.getId()); + corpInfoE.checkList(corpinfoByCodeAndId == null ? 0 : corpinfoByCodeAndId.size()); + BeanUtils.copyProperties(corpInfoUpdateCmd, corpInfoE); boolean res = corpInfoGateway.update(corpInfoE); if (!res) { diff --git a/web-domain/src/main/java/com/zcloud/basic/info/domain/model/CorpInfoE.java b/web-domain/src/main/java/com/zcloud/basic/info/domain/model/CorpInfoE.java index cf7ab58..e9625c9 100644 --- a/web-domain/src/main/java/com/zcloud/basic/info/domain/model/CorpInfoE.java +++ b/web-domain/src/main/java/com/zcloud/basic/info/domain/model/CorpInfoE.java @@ -1,6 +1,7 @@ package com.zcloud.basic.info.domain.model; import com.alibaba.cola.domain.Entity; +import com.alibaba.cola.exception.BizException; import com.jjb.saas.framework.domain.model.BaseE; import com.zcloud.gbscommon.utils.MD5; import com.zcloud.gbscommon.utils.Sm2Util; @@ -173,5 +174,12 @@ public class CorpInfoE extends BaseE { this.setPassword(encrypt); } + + public void checkList(int size){ + if(size > 0){ + throw new BizException("社会统一信用代码重复。"); + } + } + } diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/CorpInfoRepository.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/CorpInfoRepository.java index f6f3e72..371f33d 100644 --- a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/CorpInfoRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/CorpInfoRepository.java @@ -21,5 +21,10 @@ public interface CorpInfoRepository extends BaseRepository { void saveCorp(CorpInfoDO corpInfoDO); void updateCorpName(CorpInfoDO corpInfo); + + List getCorpinfoByCode(String code); + + List getCorpinfoByCodeAndId(String code, Long id); + } diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/CorpInfoRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/CorpInfoRepositoryImpl.java index 10ad24c..952c164 100644 --- a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/CorpInfoRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/CorpInfoRepositoryImpl.java @@ -30,6 +30,7 @@ import org.springframework.stereotype.Service; import java.time.LocalDate; import java.util.Arrays; +import java.util.Collections; import java.util.List; import java.util.Map; @@ -112,5 +113,20 @@ public class CorpInfoRepositoryImpl extends BaseRepositoryImpl getCorpinfoByCode(String code) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("code", code); + return list(queryWrapper); + } + + @Override + public List getCorpinfoByCodeAndId(String code, Long id) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.ne("id", id); + queryWrapper.eq("code", code); + return list(queryWrapper); + } }