1、后端证书编号校验

main
shenzhidan 2026-02-10 14:59:06 +08:00
parent fa1b7ad6ae
commit 4dac0dd3c1
4 changed files with 43 additions and 13 deletions

View File

@ -1,4 +1,4 @@
package com.zcloud.certificate.command; package com.zcloud.certificate.command;
import com.alibaba.cola.exception.BizException; import com.alibaba.cola.exception.BizException;
import com.zcloud.certificate.domain.gateway.CorpCertificateGateway; import com.zcloud.certificate.domain.gateway.CorpCertificateGateway;
@ -26,6 +26,11 @@ public class CorpCertificateUpdateExe {
CorpCertificateE corpCertificateE = new CorpCertificateE(); CorpCertificateE corpCertificateE = new CorpCertificateE();
BeanUtils.copyProperties(cmd, corpCertificateE); BeanUtils.copyProperties(cmd, corpCertificateE);
Boolean certificate = corpCertificateGateway.checkCertificateExist(corpCertificateE);
if (certificate) {
throw new BizException("证书编号已存在");
}
boolean res = corpCertificateGateway.update(corpCertificateE); boolean res = corpCertificateGateway.update(corpCertificateE);
if (!res) { if (!res) {
throw new BizException("修改失败"); throw new BizException("修改失败");
@ -33,3 +38,5 @@ public class CorpCertificateUpdateExe {
} }
} }

View File

@ -1,4 +1,4 @@
package com.zcloud.certificate.command; package com.zcloud.certificate.command;
import com.alibaba.cola.exception.BizException; import com.alibaba.cola.exception.BizException;
import com.zcloud.certificate.domain.gateway.UserCertificateGateway; import com.zcloud.certificate.domain.gateway.UserCertificateGateway;
@ -27,6 +27,11 @@ public class UserCertificateUpdateExe {
UserCertificateE userCertificateE = new UserCertificateE(); UserCertificateE userCertificateE = new UserCertificateE();
BeanUtils.copyProperties(userCertificateUpdateCmd, userCertificateE); BeanUtils.copyProperties(userCertificateUpdateCmd, userCertificateE);
Boolean certificate = userCertificateGateway.checkCertificateExist(userCertificateE);
if (certificate) {
throw new BizException("证书编号已存在");
}
boolean res = userCertificateGateway.update(userCertificateE); boolean res = userCertificateGateway.update(userCertificateE);
if (!res) { if (!res) {
throw new BizException("修改失败"); throw new BizException("修改失败");
@ -34,3 +39,5 @@ public class UserCertificateUpdateExe {
} }
} }

View File

@ -1,19 +1,17 @@
package com.zcloud.certificate.gatewayimpl; package com.zcloud.certificate.gatewayimpl;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.jjb.saas.framework.auth.model.SSOUser;
import com.jjb.saas.framework.auth.utils.AuthContext;
import com.zcloud.certificate.domain.gateway.CorpCertificateGateway; import com.zcloud.certificate.domain.gateway.CorpCertificateGateway;
import com.zcloud.certificate.domain.model.CorpCertificateE; import com.zcloud.certificate.domain.model.CorpCertificateE;
import com.zcloud.certificate.persistence.dataobject.CorpCertificateDO; import com.zcloud.certificate.persistence.dataobject.CorpCertificateDO;
import com.zcloud.certificate.persistence.dataobject.UserCertificateDO;
import com.zcloud.certificate.persistence.repository.CorpCertificateRepository; import com.zcloud.certificate.persistence.repository.CorpCertificateRepository;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections;
import java.util.List;
/** /**
* web-infrastructure * web-infrastructure
@ -54,11 +52,18 @@ public class CorpCertificateGatewayImpl implements CorpCertificateGateway {
@Override @Override
public Boolean checkCertificateExist(CorpCertificateE corpCertificateE) { public Boolean checkCertificateExist(CorpCertificateE corpCertificateE) {
CorpCertificateDO d = new CorpCertificateDO(); if (corpCertificateE == null || StrUtil.isBlank(corpCertificateE.getCertificateCode())) {
BeanUtils.copyProperties(corpCertificateE, d); return false;
}
SSOUser ssoUser = AuthContext.getCurrentUser();
if (ssoUser == null || ssoUser.getTenantId() == null) {
return false;
}
String corpCertificateId = corpCertificateE.getCorpCertificateId();
Long count = corpCertificateRepository.lambdaQuery() Long count = corpCertificateRepository.lambdaQuery()
.eq(CorpCertificateDO::getCertificateCode, d.getCertificateCode()) .eq(CorpCertificateDO::getCertificateCode, corpCertificateE.getCertificateCode())
.ne(corpCertificateE.getCorpCertificateId() != null, CorpCertificateDO::getCorpCertificateId, corpCertificateE.getCorpCertificateId()) .eq(CorpCertificateDO::getCorpinfoId, ssoUser.getTenantId())
.ne(StrUtil.isNotBlank(corpCertificateId), CorpCertificateDO::getCorpCertificateId, corpCertificateId)
.count(); .count();
return count > 0; return count > 0;
} }

View File

@ -1,11 +1,13 @@
package com.zcloud.certificate.gatewayimpl; package com.zcloud.certificate.gatewayimpl;
import com.jjb.saas.framework.auth.model.SSOUser;
import com.jjb.saas.framework.auth.utils.AuthContext;
import com.zcloud.certificate.domain.gateway.UserCertificateGateway; import com.zcloud.certificate.domain.gateway.UserCertificateGateway;
import com.zcloud.certificate.domain.model.UserCertificateE; import com.zcloud.certificate.domain.model.UserCertificateE;
import com.zcloud.certificate.persistence.dataobject.UserCertificateDO; import com.zcloud.certificate.persistence.dataobject.UserCertificateDO;
import com.zcloud.certificate.persistence.repository.UserCertificateRepository; import com.zcloud.certificate.persistence.repository.UserCertificateRepository;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import com.zcloud.gbscommon.utils.Tools; import cn.hutool.core.util.StrUtil;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -50,9 +52,18 @@ public class UserCertificateGatewayImpl implements UserCertificateGateway {
@Override @Override
public Boolean checkCertificateExist(UserCertificateE userCertificateE) { public Boolean checkCertificateExist(UserCertificateE userCertificateE) {
if (userCertificateE == null || StrUtil.isBlank(userCertificateE.getCertificateCode())) {
return false;
}
SSOUser ssoUser = AuthContext.getCurrentUser();
if (ssoUser == null || ssoUser.getTenantId() == null) {
return false;
}
String userCertificateId = userCertificateE.getUserCertificateId();
Long count = userCertificateRepository.lambdaQuery() Long count = userCertificateRepository.lambdaQuery()
.eq(UserCertificateDO::getCertificateCode, userCertificateE.getCertificateCode()) .eq(UserCertificateDO::getCertificateCode, userCertificateE.getCertificateCode())
.ne(userCertificateE.getUserCertificateId() != null, UserCertificateDO::getUserCertificateId, userCertificateE.getUserCertificateId()) .eq(UserCertificateDO::getCorpinfoId, ssoUser.getTenantId())
.ne(StrUtil.isNotBlank(userCertificateId), UserCertificateDO::getUserCertificateId, userCertificateId)
.count(); .count();
return count > 0; return count > 0;
} }