7388987d by xu

可信空间修改

1 parent 29962b79
......@@ -5,13 +5,11 @@ import com.alibaba.fastjson2.JSON;
import com.csbr.cloud.common.response.CommonRes;
import com.csbr.qingcloud.portal.domain.vo.TdsUserIdentityRQVO;
import com.csbr.qingcloud.portal.enums.TdsDataTypeEnum;
import com.csbr.qingcloud.portal.service.TdsSyncToRegionalNodeCallback;
import com.csbr.qingcloud.portal.service.TdsUserIdentityService;
import csbr.cloud.entity.annotation.SystemLog;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.validation.Valid;
import org.springframework.web.bind.annotation.*;
/**
......
......@@ -2,6 +2,8 @@ package com.csbr.qingcloud.portal.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import com.fasterxml.jackson.annotation.JsonFormat;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.Data;
import java.util.Date;
......@@ -33,6 +35,7 @@ public class TdsConnectorAdditionalRQVO {
*/
@Schema(description = "可验证身份签发单位")
@Size(max = 100, message = "可验证身份签发单位长度超过100")
@NotBlank(message = "可验证身份签发单位为空。")
private String identityIssuingUnit;
/**
......@@ -40,6 +43,7 @@ public class TdsConnectorAdditionalRQVO {
*/
@Schema(description = "供应商名称")
@Size(max = 100, message = "供应商名称长度超过100")
@NotBlank(message = "供应商名称为空。")
private String supplierName;
/**
......@@ -47,6 +51,7 @@ public class TdsConnectorAdditionalRQVO {
*/
@Schema(description = "供应商代码")
@Size(max = 50, message = "供应商代码长度超过50")
@NotBlank(message = "供应商代码为空。")
private String supplierCode;
/**
......@@ -54,6 +59,7 @@ public class TdsConnectorAdditionalRQVO {
*/
@Schema(description = "产品SN号")
@Size(max = 20, message = "产品SN号长度超过20")
@NotBlank(message = "产品SN号为空。")
private String productSn;
/**
......@@ -61,12 +67,14 @@ public class TdsConnectorAdditionalRQVO {
*/
@Schema(description = "产品版本号")
@Size(max = 20, message = "产品版本号长度超过20")
@NotBlank(message = "产品版本号为空。")
private String productVersion;
/**
* 连接器类型(0 标准型;1 全功能型)
*/
@Schema(description = "连接器类型(0 标准型;1 全功能型)")
@NotNull(message = "连接器类型为空。")
private Integer connectorType;
/**
......@@ -74,6 +82,7 @@ public class TdsConnectorAdditionalRQVO {
*/
@Schema(description = "设备MAC地址")
@Size(max = 50, message = "设备MAC地址长度超过50")
@NotBlank(message = "设备MAC地址为空。")
private String deviceMacAddress;
/******** 库表存储属性 需处理 *****/
......
......@@ -31,6 +31,7 @@ public class TdsConnectorIdentityRQVO {
*/
@Schema(description = "接入连接器名称")
@Size(max = 50, message = "接入连接器名称长度超过50")
@NotBlank(message = "接入连接器名称为空。")
private String connectorName;
/**
......
......@@ -2,6 +2,8 @@ package com.csbr.qingcloud.portal.domain.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import com.fasterxml.jackson.annotation.JsonFormat;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.Data;
import java.util.Date;
......@@ -33,6 +35,7 @@ public class TdsConnectorVerifiableRQVO {
* 网络接入资质认证
*/
@Schema(description = "网络接入资质认证")
@NotNull(message = "网络接入资质认证为空。")
private Map<String,String> networkAccessQualification;
/**
......@@ -40,54 +43,63 @@ public class TdsConnectorVerifiableRQVO {
*/
@Schema(description = "等级保护测评结果")
@Size(max = 200, message = "等级保护测评结果长度超过200")
@NotBlank(message = "等级保护测评结果为空。")
private String levelProtectionEvaluationResults;
/**
* 网络安全产品备案证明
*/
@Schema(description = "网络安全产品备案证明")
@NotNull(message = "网络安全产品备案证明为空。")
private Map<String,String> networkSecurityFilingCertificate;
/**
* 加密模块认证
*/
@Schema(description = "加密模块认证")
@NotNull(message = "加密模块认证为空。")
private Map<String,String> encryptionModuleAuthentication;
/**
* 软件供应链合规声明
*/
@Schema(description = "软件供应链合规声明")
@NotNull(message = "软件供应链合规声明为空。")
private Map<String,String> softwareScmStatemen;
/**
* 安全漏洞修复声明
*/
@Schema(description = "安全漏洞修复声明")
@NotNull(message = "安全漏洞修复声明为空。")
private Map<String,String> securityLoopholeRepairStatement;
/**
* 通信协议兼容性认证
*/
@Schema(description = "通信协议兼容性认证")
@NotNull(message = "通信协议兼容性认证为空。")
private Map<String,String> communicationProtocolCompatibilityCertification;
/**
* 硬件可信执行环境(TEE)认证
*/
@Schema(description = "硬件可信执行环境(TEE)认证")
@NotNull(message = "硬件可信执行环境(TEE)认证为空。")
private Map<String,String> teeCertification;
/**
* 接入行为审计合规报告
*/
@Schema(description = "接入行为审计合规报告")
@NotNull(message = "接入行为审计合规报告为空。")
private Map<String,String> accessAuditReport;
/**
* 第三方认证声明
*/
@Schema(description = "第三方认证声明")
@NotNull(message = "第三方认证声明为空。")
private Map<String,String> thirdPartyCertification;
/******** 库表存储属性 需处理 *****/
......
......@@ -68,5 +68,17 @@ public interface TdsConnectorAdditionalService {
* @return void
*/
void removeHandleByGuids(List<String> guids);
/**
* 根据connectorGuid查询连接器附加信息
* @param connectorGuid
* @return
*/
TdsConnectorAdditionalRSVO getTdsConnectorAdditionalByConnectorGuid(String connectorGuid);
/**
* 根据connectorGuid删除连接器附加信息
* @param connectorGuids
*/
void removeByConnectorGuids(List<String> connectorGuids);
}
......
......@@ -68,5 +68,17 @@ public interface TdsConnectorVerifiableService {
* @return void
*/
void removeHandleByGuids(List<String> guids);
/**
* 根据connectorGuid查询连接器可验信息
* @param connectorGuid
* @return
*/
TdsConnectorVerifiableRSVO getTdsConnectorVerifiableByConnectorGuid(String connectorGuid);
/**
* 根据connectorGuid删除连接器可验信息
* @param connectorGuids
*/
void removeByConnectorGuids(List<String> connectorGuids);
}
......
package com.csbr.qingcloud.portal.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.csbr.cloud.common.enums.SystemError;
import com.csbr.cloud.common.exception.CsbrSystemException;
import com.csbr.cloud.common.util.CommonUtil;
import com.csbr.cloud.common.util.CsbrBeanUtil;
import com.csbr.cloud.common.util.MessageSourceUtil;
import csbr.cloud.entity.domain.base.vo.PageListVO;
import com.csbr.qingcloud.portal.domain.vo.TdsConnectorAdditionalQueryVO;
import com.csbr.qingcloud.portal.domain.vo.TdsConnectorAdditionalRQVO;
import com.csbr.qingcloud.portal.domain.vo.TdsConnectorAdditionalRSVO;
import com.csbr.qingcloud.portal.mybatis.entity.MfTdsConnectorAdditional;
import com.csbr.qingcloud.portal.mybatis.service.MfTdsConnectorAdditionalService;
import com.csbr.qingcloud.portal.service.TdsConnectorAdditionalService;
import csbr.cloud.entity.domain.base.vo.PageListVO;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
......@@ -180,6 +183,30 @@ public class TdsConnectorAdditionalServiceImpl implements TdsConnectorAdditional
}
}
@Override
public TdsConnectorAdditionalRSVO getTdsConnectorAdditionalByConnectorGuid(String connectorGuid) {
if(StringUtils.isBlank(connectorGuid)){
return new TdsConnectorAdditionalRSVO();
}
LambdaQueryWrapper<MfTdsConnectorAdditional> queryWrapper = Wrappers.lambdaQuery();
queryWrapper.eq(MfTdsConnectorAdditional::getConnectorGuid,connectorGuid);
List<MfTdsConnectorAdditional> list = mfTdsConnectorAdditionalService.list(queryWrapper);
if(ObjectUtils.isEmpty(list)){
return new TdsConnectorAdditionalRSVO();
}
return convertToVO(list.get(0));
}
@Override
public void removeByConnectorGuids(List<String> connectorGuids) {
if(ObjectUtils.isEmpty(connectorGuids)){
return;
}
LambdaUpdateWrapper<MfTdsConnectorAdditional> removeWrapper = Wrappers.lambdaUpdate();
removeWrapper.in(MfTdsConnectorAdditional::getConnectorGuid,connectorGuids);
mfTdsConnectorAdditionalService.remove(removeWrapper);
}
/**
* 连接器附加信息新新增前置处理
* @author xup
......
package com.csbr.qingcloud.portal.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.csbr.cloud.common.enums.SystemError;
import com.csbr.cloud.common.exception.CsbrSystemException;
import com.csbr.cloud.common.util.CommonUtil;
import com.csbr.cloud.common.util.CsbrBeanUtil;
import com.csbr.cloud.common.util.MessageSourceUtil;
import com.csbr.qingcloud.portal.domain.vo.*;
import com.csbr.qingcloud.portal.service.TdsConnectorAdditionalService;
import com.csbr.qingcloud.portal.service.TdsConnectorVerifiableService;
import csbr.cloud.entity.domain.base.vo.PageListVO;
import com.csbr.qingcloud.portal.domain.vo.TdsConnectorIdentityQueryVO;
import com.csbr.qingcloud.portal.domain.vo.TdsConnectorIdentityRQVO;
import com.csbr.qingcloud.portal.domain.vo.TdsConnectorIdentityRSVO;
import com.csbr.qingcloud.portal.mybatis.entity.MfTdsConnectorIdentity;
import com.csbr.qingcloud.portal.mybatis.service.MfTdsConnectorIdentityService;
import com.csbr.qingcloud.portal.service.TdsConnectorIdentityService;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
......@@ -48,6 +50,12 @@ public class TdsConnectorIdentityServiceImpl implements TdsConnectorIdentityServ
@Resource
private MessageSourceUtil messageSourceUtil;
@Resource
private TdsConnectorVerifiableService tdsConnectorVerifiableService;
@Resource
private TdsConnectorAdditionalService tdsConnectorAdditionalService;
/**
* 连接器身份信息分页查询
* @author xup
......@@ -84,7 +92,11 @@ public class TdsConnectorIdentityServiceImpl implements TdsConnectorIdentityServ
if (entity == null) {
throw new CsbrSystemException(SystemError.DATA_NOT_EXISTS, messageSourceUtil.notExistsToSelectMessage(String.format("获取%s详情数据", FUNCTION_NAME)));
}
return convertToVO(entity);
TdsConnectorIdentityRSVO vo = convertToVO(entity);
//查询附件信息和验证信息
vo.setTdsConnectorAdditional(tdsConnectorAdditionalService.getTdsConnectorAdditionalByConnectorGuid(vo.getGuid()));
vo.setTdsConnectorVerifiable(tdsConnectorVerifiableService.getTdsConnectorVerifiableByConnectorGuid(vo.getGuid()));
return vo;
}
/**
......@@ -99,6 +111,7 @@ public class TdsConnectorIdentityServiceImpl implements TdsConnectorIdentityServ
public void saveTdsConnectorIdentity(TdsConnectorIdentityRQVO rqVO) {
beforeSave(rqVO);
MfTdsConnectorIdentity entity = convertToEntity(rqVO);
rqVO.setGuid(entity.getGuid());
mfTdsConnectorIdentityService.csbrAddEntity(entity);
boolean flag = mfTdsConnectorIdentityService.save(entity);
if (!flag) {
......@@ -152,6 +165,9 @@ public class TdsConnectorIdentityServiceImpl implements TdsConnectorIdentityServ
if (!flag) {
throw new CsbrSystemException(SystemError.DATA_DEL_ERROR, messageSourceUtil.delMessage(FUNCTION_NAME));
}
//删除附件信息和验证信息
tdsConnectorVerifiableService.removeByConnectorGuids(guids);
tdsConnectorAdditionalService.removeByConnectorGuids(guids);
}
/**
......@@ -189,6 +205,9 @@ public class TdsConnectorIdentityServiceImpl implements TdsConnectorIdentityServ
*/
private void beforeSave(TdsConnectorIdentityRQVO rqVO) {
//region 1.输入基础验证
if(ObjectUtils.isEmpty(rqVO)){
throw new CsbrSystemException(SystemError.DATA_INPUT_ERROR, String.format("%s参数为空。",FUNCTION_NAME));
}
//endregion
//region 2.数据验证特殊处理
......@@ -196,8 +215,8 @@ public class TdsConnectorIdentityServiceImpl implements TdsConnectorIdentityServ
//endregion 2.1.业务合规性验证
//region 2.2.业务数据验证
//endregion 2.2.业务数据验证
//验证接入连接器名称唯一性
verifyUniqueness(rqVO);
//endregion 2.数据验证特殊处理
//region 3.数据转换处理
......@@ -223,6 +242,21 @@ public class TdsConnectorIdentityServiceImpl implements TdsConnectorIdentityServ
}
/**
* 验证接入连接器名称唯一性
* @param rqVO
*/
private void verifyUniqueness(TdsConnectorIdentityRQVO rqVO) {
LambdaQueryWrapper<MfTdsConnectorIdentity> queryWrapper = Wrappers.lambdaQuery();
if(StringUtils.isNotBlank(rqVO.getGuid())){
queryWrapper.ne(MfTdsConnectorIdentity::getGuid,rqVO.getGuid());
}
queryWrapper.eq(MfTdsConnectorIdentity::getConnectorName,rqVO.getConnectorName());
if(mfTdsConnectorIdentityService.count(queryWrapper)>0){
throw new CsbrSystemException(SystemError.DATA_ALREADY_EXISTS,"接入连接器名称已经存在。");
}
}
/**
* 连接器身份信息新增后置处理
* @author xup
* @date 2025-08-20 15:13
......@@ -233,6 +267,14 @@ public class TdsConnectorIdentityServiceImpl implements TdsConnectorIdentityServ
//region 1.输出特殊转换
//region 1.1.输出过滤与补充处理
if(ObjectUtils.isNotEmpty(rqVO.getTdsConnectorAdditional())){
rqVO.getTdsConnectorAdditional().setConnectorGuid(rqVO.getGuid());
tdsConnectorAdditionalService.saveTdsConnectorAdditional(rqVO.getTdsConnectorAdditional());
}
if(ObjectUtils.isNotEmpty(rqVO.getTdsConnectorVerifiable())){
rqVO.getTdsConnectorVerifiable().setConnectorGuid(rqVO.getGuid());
tdsConnectorVerifiableService.saveTdsConnectorVerifiable(rqVO.getTdsConnectorVerifiable());
}
//endregion 1.1.输出过滤与补充处理
//endregion 1.输出特殊转换
......@@ -264,7 +306,8 @@ public class TdsConnectorIdentityServiceImpl implements TdsConnectorIdentityServ
//endregion 2.2.业务数据验证
//endregion 2.数据验证特殊处理
//验证接入连接器名称唯一性
verifyUniqueness(rqVO);
//region 3.数据转换处理
//region 3.1.数据过程转换
......@@ -298,6 +341,26 @@ public class TdsConnectorIdentityServiceImpl implements TdsConnectorIdentityServ
//region 1.输出特殊转换
//region 1.1.输出过滤与补充处理
TdsConnectorAdditionalRQVO tdsConnectorAdditional = rqVO.getTdsConnectorAdditional();
if(ObjectUtils.isNotEmpty(tdsConnectorAdditional)){
tdsConnectorAdditional.setConnectorGuid(rqVO.getGuid());
if(StringUtils.isNotBlank(tdsConnectorAdditional.getGuid())){
tdsConnectorAdditionalService.updateTdsConnectorAdditional(tdsConnectorAdditional);
}else {
tdsConnectorAdditionalService.saveTdsConnectorAdditional(tdsConnectorAdditional);
}
}
TdsConnectorVerifiableRQVO tdsConnectorVerifiable = rqVO.getTdsConnectorVerifiable();
if(ObjectUtils.isNotEmpty(tdsConnectorVerifiable)){
tdsConnectorVerifiable.setConnectorGuid(rqVO.getGuid());
if(StringUtils.isNotBlank(tdsConnectorVerifiable.getGuid())){
tdsConnectorVerifiableService.updateTdsConnectorVerifiable(tdsConnectorVerifiable);
}else{
tdsConnectorVerifiableService.saveTdsConnectorVerifiable(tdsConnectorVerifiable);
}
}
//region 1.1.输出过滤与补充处理
//endregion 1.1.输出过滤与补充处理
//endregion 1.输出特殊转换
......
package com.csbr.qingcloud.portal.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.csbr.cloud.common.enums.SystemError;
import com.csbr.cloud.common.exception.CsbrSystemException;
import com.csbr.cloud.common.util.CommonUtil;
import com.csbr.cloud.common.util.CsbrBeanUtil;
import com.csbr.cloud.common.util.MessageSourceUtil;
import csbr.cloud.entity.domain.base.vo.PageListVO;
import com.csbr.qingcloud.portal.domain.vo.TdsConnectorVerifiableQueryVO;
import com.csbr.qingcloud.portal.domain.vo.TdsConnectorVerifiableRQVO;
import com.csbr.qingcloud.portal.domain.vo.TdsConnectorVerifiableRSVO;
import com.csbr.qingcloud.portal.mybatis.entity.MfTdsConnectorVerifiable;
import com.csbr.qingcloud.portal.mybatis.service.MfTdsConnectorVerifiableService;
import com.csbr.qingcloud.portal.service.TdsConnectorVerifiableService;
import csbr.cloud.entity.domain.base.vo.PageListVO;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
......@@ -180,6 +183,30 @@ public class TdsConnectorVerifiableServiceImpl implements TdsConnectorVerifiable
}
}
@Override
public TdsConnectorVerifiableRSVO getTdsConnectorVerifiableByConnectorGuid(String connectorGuid) {
if(StringUtils.isBlank(connectorGuid)){
return new TdsConnectorVerifiableRSVO();
}
LambdaQueryWrapper<MfTdsConnectorVerifiable> queryWrapper = Wrappers.lambdaQuery();
queryWrapper.eq(MfTdsConnectorVerifiable::getConnectorGuid,connectorGuid);
List<MfTdsConnectorVerifiable> list = mfTdsConnectorVerifiableService.list(queryWrapper);
if(ObjectUtils.isEmpty(list)){
return new TdsConnectorVerifiableRSVO();
}
return convertToVO(list.get(0));
}
@Override
public void removeByConnectorGuids(List<String> connectorGuids) {
if(ObjectUtils.isEmpty(connectorGuids)){
return;
}
LambdaUpdateWrapper<MfTdsConnectorVerifiable> removeWrapper = Wrappers.lambdaUpdate();
removeWrapper.in(MfTdsConnectorVerifiable::getConnectorGuid,connectorGuids);
mfTdsConnectorVerifiableService.remove(removeWrapper);
}
/**
* 连接器可验信息新新增前置处理
* @author xup
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!