59f9a56b by xu

可信空间连接器入住接口

1 parent 2a8365cc
......@@ -36,7 +36,7 @@ public class TdsConnectorIdentityController {
@PostMapping("/save")
@SystemLog(value = "连接器身份信息-新增")
@Operation(summary = "连接器身份信息-新增")
public CommonRes<Boolean> saveTdsConnectorIdentity(@RequestBody @Valid TdsConnectorIdentityRQVO vo) {
public CommonRes<Boolean> saveTdsConnectorIdentity(@RequestBody TdsConnectorIdentityRQVO vo) {
tdsConnectorIdentityService.saveTdsConnectorIdentity(vo);
return CommonRes.success(true);
}
......@@ -44,7 +44,7 @@ public class TdsConnectorIdentityController {
@PutMapping("/update")
@SystemLog(value = "连接器身份信息-修改")
@Operation(summary = "连接器身份信息-修改")
public CommonRes<Boolean> updateTdsConnectorIdentity(@RequestBody @Valid TdsConnectorIdentityRQVO vo) {
public CommonRes<Boolean> updateTdsConnectorIdentity(@RequestBody TdsConnectorIdentityRQVO vo) {
tdsConnectorIdentityService.updateTdsConnectorIdentity(vo);
return CommonRes.success(true);
}
......@@ -77,7 +77,7 @@ public class TdsConnectorIdentityController {
return CommonRes.success(vo);
}
@PostMapping("/callback")
@PostMapping("/flow-call-back")
@Operation(summary = "流程回调",hidden = true)
public CommonRes<Boolean> flowComplete(@RequestBody BizCallbackDTO bizApproveVO) {
tdsConnectorIdentityService.flowComplete(bizApproveVO);
......@@ -91,6 +91,12 @@ public class TdsConnectorIdentityController {
return CommonRes.success(vo);
}
@GetMapping("/check-connector")
@SystemLog(value = "连接器身份信息-检查连接器是否已经存在")
public CommonRes<Boolean> checkConnector() {
Boolean vo = tdsConnectorIdentityService.verifyUniqueness(null);
return CommonRes.success(vo);
}
//endregion
}
......
......@@ -35,7 +35,7 @@ public class TdsConnectorAdditionalRQVO {
*/
@Schema(description = "可验证身份签发单位")
@Size(max = 100, message = "可验证身份签发单位长度超过100")
@NotBlank(message = "可验证身份签发单位为空。")
// @NotBlank(message = "可验证身份签发单位为空。")
private String identityIssuingUnit;
/**
......@@ -85,6 +85,12 @@ public class TdsConnectorAdditionalRQVO {
@NotBlank(message = "设备MAC地址为空。")
private String deviceMacAddress;
/**
* 业务审批状态
*/
@Schema(description = "业务审批状态")
private String bizApproveState;
/******** 库表存储属性 需处理 *****/
/******** 自定义扩展 *****/
......
......@@ -26,6 +26,26 @@ public class TdsConnectorIdentityManagementRQVO extends FlowRQBaseVO {
private String connectorGuid;
/**
* 连接器名称
*/
@Schema(description = "连接器名称")
@NotBlank(message = "连接器名称为空。")
private String connectorName;
/**
* 接入连接器身份标识(由区域/行业功能节点下发,唯一标识连接器身份)
*/
@Schema(description = "接入连接器身份标识(由区域/行业功能节点下发,唯一标识连接器身份)")
private String connectorIdentity;
/**
* 所属法人或其他组织名称
*/
@Schema(description = "所属法人或其他组织名称")
@NotBlank(message = "所属法人或其他组织名称为空。")
private String legalEntity;
/**
* 使用场景(数据字典使用场景)
*/
@Schema(description = "使用场景(数据字典使用场景)")
......
......@@ -2,8 +2,10 @@ package com.csbr.qingcloud.portal.domain.vo;
import com.alibaba.fastjson.JSONArray;
import com.csbr.cloud.common.annotations.SystemParamsDict;
import csbr.cloud.entity.domain.base.vo.BaseVO;
import io.swagger.v3.oas.annotations.media.Schema;
import com.fasterxml.jackson.annotation.JsonFormat;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;
import com.csbr.cloud.workflow.domain.vo.appove.BizApproveVO;
import java.util.Date;
......@@ -16,7 +18,7 @@ import java.util.Date;
**/
@Data
@Schema(title = "连接器身份管理返回参数")
public class TdsConnectorIdentityManagementRSVO {
public class TdsConnectorIdentityManagementRSVO extends BaseVO {
/**
* 系统唯一标识
......@@ -25,10 +27,28 @@ public class TdsConnectorIdentityManagementRSVO {
private String guid;
/**
* 节点Guid
* 连接器Guid
*/
@Schema(description = "节点Guid")
private String zqGuid;
@Schema(description = "连接器Guid")
private String connectorGuid;
/**
* 连接器名称
*/
@Schema(description = "连接器名称")
private String connectorName;
/**
* 接入连接器身份标识(由区域/行业功能节点下发,唯一标识连接器身份)
*/
@Schema(description = "接入连接器身份标识(由区域/行业功能节点下发,唯一标识连接器身份)")
private String connectorIdentity;
/**
* 所属法人或其他组织名称
*/
@Schema(description = "所属法人或其他组织名称")
private String legalEntity;
/**
* 使用场景(数据字典使用场景)
......@@ -38,7 +58,7 @@ public class TdsConnectorIdentityManagementRSVO {
/**
* 使用场景名称git push origin
* 使用场景名称
*/
@Schema(description = "使用场景")
@SystemParamsDict(dictTypeName = "可信空间使用场景",codeFieldName = "useScenariosCode")
......@@ -49,7 +69,7 @@ public class TdsConnectorIdentityManagementRSVO {
* 期望效期
*/
@Schema(description = "期望效期")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date expirationTime;
/**
......
package com.csbr.qingcloud.portal.domain.vo;
import com.csbr.cloud.workflow.domain.vo.appove.BizApproveVO;
import csbr.cloud.entity.domain.base.vo.BaseVO;
import io.swagger.v3.oas.annotations.media.Schema;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
......@@ -15,7 +17,7 @@ import java.util.Map;
**/
@Data
@Schema(title = "连接器身份信息返回参数")
public class TdsConnectorIdentityRSVO {
public class TdsConnectorIdentityRSVO extends BaseVO {
/**
* 系统唯一标识
......@@ -88,4 +90,10 @@ public class TdsConnectorIdentityRSVO {
@Schema(description = "连接器可验信息返回参数")
private TdsConnectorVerifiableRSVO tdsConnectorVerifiable;
/**
* 审批信息
*/
@Schema(description = "审批信息")
private BizApproveVO approveVO;
}
......
......@@ -110,6 +110,12 @@ public class TdsConnectorVerifiableRQVO {
@NotNull(message = "第三方认证声明为空。")
private JSONArray thirdPartyCertification;
/**
* 业务审批状态
*/
@Schema(description = "业务审批状态")
private String bizApproveState;
/******** 库表存储属性 需处理 *****/
/******** 自定义扩展 *****/
......
......@@ -84,6 +84,9 @@ public class MfTdsConnectorIdentity extends BaseShardingDO {
@Name("凭证颁发日期")
private Date credentialTime;
@Name("主平台同步状态(Y 成功 E 失败)")
private String crossPlatformApproveState;
/**
* 业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃; 默认 N】
*/
......
......@@ -26,10 +26,23 @@ import java.util.Date;
public class MfTdsConnectorIdentityManagement extends BaseShardingDO {
/**
* 节点Guid
* 接入连接器Guid
*/
@Name("节点Guid")
private String zqGuid;
@Name("接入连接器Guid")
private String connectorGuid;
/**
* 接入连接器名称
*/
@Name("接入连接器名称")
private String connectorName;
/**
* 接入连接器身份标识(由区域/行业功能节点下发,唯一标识连接器身份)
*/
@Name("接入连接器身份标识(由区域/行业功能节点下发,唯一标识连接器身份)")
private String connectorIdentity;
/**
* 使用场景(数据字典使用场景)
......@@ -74,4 +87,10 @@ public class MfTdsConnectorIdentityManagement extends BaseShardingDO {
@Name("业务审批状态")
private String bizApproveState;
/**
* 所属法人或其他组织名称
*/
@Name("所属法人或其他组织名称")
private String legalEntity;
}
......
......@@ -2,12 +2,15 @@ package com.csbr.qingcloud.portal.service;
import com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO;
import com.csbr.cloud.workflow.domain.vo.appove.FlowRQBaseVO;
import com.csbr.qingcloud.portal.mybatis.entity.MfTdsConnectorIdentity;
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 java.util.List;
import java.util.Map;
import java.util.Set;
/**
* @program:
......@@ -82,4 +85,13 @@ public interface TdsConnectorIdentityService {
* @return
*/
TdsConnectorIdentityRSVO getEffectiveConnector();
/**
* 查询连接器信息
* @param guidSet
* @return
*/
Map<String, MfTdsConnectorIdentity> getCrossTenantTdsConnectorIdentitys(Set<String> guidSet);
Boolean verifyUniqueness(TdsConnectorIdentityRQVO rqVO);
}
......
......@@ -8,6 +8,7 @@ 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.cloud.mybatis.util.ValidatorUtil;
import com.csbr.qingcloud.portal.domain.vo.TdsConnectorAdditionalQueryVO;
import com.csbr.qingcloud.portal.domain.vo.TdsConnectorAdditionalRQVO;
import com.csbr.qingcloud.portal.domain.vo.TdsConnectorAdditionalRSVO;
......@@ -15,6 +16,7 @@ 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 csbr.cloud.entity.enums.ApprovalStateEnum;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
......@@ -51,6 +53,9 @@ public class TdsConnectorAdditionalServiceImpl implements TdsConnectorAdditional
@Resource
private MessageSourceUtil messageSourceUtil;
@Resource
private ValidatorUtil validatorUtil;
/**
* 连接器附加信息分页查询
* @author xup
......@@ -216,6 +221,16 @@ public class TdsConnectorAdditionalServiceImpl implements TdsConnectorAdditional
*/
private void beforeSave(TdsConnectorAdditionalRQVO rqVO) {
//region 1.输入基础验证
if(ObjectUtils.isEmpty(rqVO)){
throw new CsbrSystemException(SystemError.DATA_INPUT_ERROR, String.format("%s参数为空。",FUNCTION_NAME));
}
//判断是否是草稿
if(!ApprovalStateEnum.DRAFT.getValue().equals(rqVO.getBizApproveState())){
String message = validatorUtil.validateRetrunOne(rqVO);
if(StringUtils.isNotBlank(message)){
throw new CsbrSystemException(SystemError.DATA_INPUT_ERROR,message);
}
}
//endregion
//region 2.数据验证特殊处理
......@@ -278,6 +293,13 @@ public class TdsConnectorAdditionalServiceImpl implements TdsConnectorAdditional
// W00012 = {0}:参数[{1}]不能为空!
throw new CsbrSystemException(SystemError.DATA_INPUT_ERROR, messageSourceUtil.getMessage("W00010", String.format("修改%s数据",FUNCTION_NAME), "数据唯一标识"));
}
//判断是否是草稿
if(!ApprovalStateEnum.DRAFT.getValue().equals(rqVO.getBizApproveState())){
String message = validatorUtil.validateRetrunOne(rqVO);
if(StringUtils.isNotBlank(message)){
throw new CsbrSystemException(SystemError.DATA_INPUT_ERROR,message);
}
}
//endregion
//region 2.数据验证特殊处理
......
......@@ -7,6 +7,8 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.csbr.cloud.common.enums.SystemError;
import com.csbr.cloud.common.enums.WorkFlowBizEnum;
import com.csbr.qingcloud.portal.domain.vo.TdsConnectorIdentityManagementVoucherRQVO;
import com.csbr.qingcloud.portal.mybatis.entity.MfTdsConnectorIdentity;
import com.csbr.qingcloud.portal.service.TdsConnectorIdentityService;
import csbr.cloud.entity.enums.ApprovalStateEnum;
import com.csbr.cloud.common.exception.CsbrSystemException;
import com.csbr.cloud.common.util.CommonUtil;
......@@ -28,6 +30,7 @@ import com.csbr.qingcloud.portal.service.TdsConnectorIdentityManagementService;
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.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
......@@ -73,6 +76,9 @@ public class TdsConnectorIdentityManagementServiceImpl extends FlowAbstractImpl
@Value("${csbr.platform-type:''}")
private String platformType;
@Resource
private TdsConnectorIdentityService tdsConnectorIdentityService;
/**
* 连接器身份管理分页查询
* @author xup
......@@ -115,7 +121,8 @@ public class TdsConnectorIdentityManagementServiceImpl extends FlowAbstractImpl
if (entity == null) {
throw new CsbrSystemException(SystemError.DATA_NOT_EXISTS, messageSourceUtil.notExistsToSelectMessage(String.format("获取%s详情数据", FUNCTION_NAME)));
}
return convertToVO(entity, true);
TdsConnectorIdentityManagementRSVO vo = convertToVO(entity, true);
return vo;
}
/**
......@@ -125,7 +132,7 @@ public class TdsConnectorIdentityManagementServiceImpl extends FlowAbstractImpl
* @param flowBaseVO
* @return void
*/
@GlobalTransactional(rollbackFor = Exception.class)
// @GlobalTransactional(rollbackFor = Exception.class)
@Transactional(rollbackFor = Exception.class)
@Override
public void saveTdsConnectorIdentityManagement(FlowRQBaseVO flowBaseVO) {
......@@ -151,7 +158,7 @@ public class TdsConnectorIdentityManagementServiceImpl extends FlowAbstractImpl
* @param flowBaseVO
* @return void
*/
@GlobalTransactional(rollbackFor = Exception.class)
// @GlobalTransactional(rollbackFor = Exception.class)
@Transactional(rollbackFor = Exception.class)
@Override
public void updateTdsConnectorIdentityManagement(FlowRQBaseVO flowBaseVO) {
......@@ -506,14 +513,25 @@ public class TdsConnectorIdentityManagementServiceImpl extends FlowAbstractImpl
rsPageList.setRecords(convertToVO(pageList.getRecords()));
}
// 需要特殊处理数据时使用
/*if(CollectionUtils.isNotEmpty(pageList.getRecords())){
List<TdsConnectorIdentityManagementRSVO> results = new ArrayList<>();
for (MfTdsConnectorIdentityManagement item : pageList.getRecords()){
TdsConnectorIdentityManagementRSVO vo = convertToVO(item);
results.add(vo);
}
rsPageList.setRecords(results);
}*/
// if(CollectionUtils.isNotEmpty(pageList.getRecords())){
// List<TdsConnectorIdentityManagementRSVO> results = new ArrayList<>();
// Set<String> guidSet = CommonUtil.filterSetFiled(pageList.getRecords(), MfTdsConnectorIdentityManagement::getGuid);
// Map<String, BizApproveVO> approvalInfoMap = approvalFlowUtil.getApprovalCrossTenantInfoMap(guidSet);
// Map<String, MfTdsConnectorIdentity> connectorIdentityMap = tdsConnectorIdentityService.getCrossTenantTdsConnectorIdentitys(guidSet);
// for (MfTdsConnectorIdentityManagement item : pageList.getRecords()){
// TdsConnectorIdentityManagementRSVO vo = convertToVO(item,false);
// String guid = vo.getGuid();
// if(ObjectUtils.isNotEmpty(approvalInfoMap) && approvalInfoMap.containsKey(guid)) {
// vo.setApproveVO(approvalInfoMap.get(guid));
// }
// if(ObjectUtils.isNotEmpty(connectorIdentityMap) && connectorIdentityMap.containsKey(guid)) {
// vo.setConnectorName(connectorIdentityMap.get(guid).getConnectorName());
// vo.setLegalEntity(connectorIdentityMap.get(guid).getLegalEntity());
// }
// results.add(vo);
// }
// rsPageList.setRecords(results);
// }
}
//region 辅助操作
......
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.enums.WorkFlowBizEnum;
......@@ -10,8 +9,10 @@ import com.csbr.cloud.common.util.CommonUtil;
import com.csbr.cloud.common.util.CsbrBeanUtil;
import com.csbr.cloud.common.util.MessageSourceUtil;
import com.csbr.cloud.mybatis.util.BizCommonRedisUtil;
import com.csbr.cloud.mybatis.util.ValidatorUtil;
import com.csbr.cloud.workflow.domain.dto.appove.AddApprovalDTO;
import com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO;
import com.csbr.cloud.workflow.domain.vo.appove.BizApproveVO;
import com.csbr.cloud.workflow.domain.vo.appove.FlowRQBaseVO;
import com.csbr.cloud.workflow.util.ApprovalFlowUtil;
import com.csbr.cloud.workflow.util.FlowAbstractImpl;
......@@ -23,7 +24,6 @@ import com.csbr.qingcloud.portal.mybatis.entity.MfTdsConnectorIdentity;
import com.csbr.qingcloud.portal.mybatis.service.MfTdsConnectorIdentityService;
import com.csbr.qingcloud.portal.service.TdsConnectorIdentityService;
import csbr.cloud.entity.enums.ApprovalStateEnum;
import io.seata.spring.annotation.GlobalTransactional;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
......@@ -33,10 +33,9 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* @program:
......@@ -83,6 +82,9 @@ public class TdsConnectorIdentityServiceImpl extends FlowAbstractImpl implements
@Value("${csbr.platform-type:''}")
private String platformType;
@Resource
private ValidatorUtil validatorUtil;
/**
* 连接器身份信息分页查询
* @author xup
......@@ -126,6 +128,7 @@ public class TdsConnectorIdentityServiceImpl extends FlowAbstractImpl implements
throw new CsbrSystemException(SystemError.DATA_NOT_EXISTS, messageSourceUtil.notExistsToSelectMessage(String.format("获取%s详情数据", FUNCTION_NAME)));
}
TdsConnectorIdentityRSVO vo = convertToVO(entity);
vo.setApproveVO(approvalFlowUtil.getApprovalCrossTenantInfo(guid));
//查询附件信息和验证信息
vo.setTdsConnectorAdditional(tdsConnectorAdditionalService.getTdsConnectorAdditionalByConnectorGuid(vo.getGuid()));
vo.setTdsConnectorVerifiable(tdsConnectorVerifiableService.getTdsConnectorVerifiableByConnectorGuid(vo.getGuid()));
......@@ -139,7 +142,8 @@ public class TdsConnectorIdentityServiceImpl extends FlowAbstractImpl implements
* @param flowBaseVO
* @return boolean
*/
@GlobalTransactional(rollbackFor = Exception.class)
// @GlobalTransactional(rollbackFor = Exception.class)
@Transactional(rollbackFor = Exception.class)
@Override
public void saveTdsConnectorIdentity(FlowRQBaseVO flowBaseVO) {
TdsConnectorIdentityRQVO rqVO = (TdsConnectorIdentityRQVO) flowBaseVO;
......@@ -194,8 +198,8 @@ public class TdsConnectorIdentityServiceImpl extends FlowAbstractImpl implements
// 将修改前数据查出来缓存下来,传入到修改后方法中,用于一些特殊逻辑处理,如某个值变化才进行
// MfTdsConnectorIdentity oldEntity = mfTdsConnectorIdentityService.getById(rqVO.getGuid());
TdsConnectorIdentityRQVO rqVO = (TdsConnectorIdentityRQVO) flowBaseVO;
MfTdsConnectorIdentity oldEntity = null;
beforeUpdate(rqVO);
MfTdsConnectorIdentity oldEntity = mfTdsConnectorIdentityService.getById(rqVO.getGuid());
MfTdsConnectorIdentity entity = convertToEntity(rqVO);
mfTdsConnectorIdentityService.csbrUpdateEntity(entity);
// 发起审批流程或保存草稿
......@@ -283,6 +287,17 @@ public class TdsConnectorIdentityServiceImpl extends FlowAbstractImpl implements
return null;
}
@Override
public Map<String, MfTdsConnectorIdentity> getCrossTenantTdsConnectorIdentitys(Set<String> guidSet) {
if(ObjectUtils.isEmpty(guidSet)){
return new HashMap<>();
}
LambdaQueryWrapper<MfTdsConnectorIdentity> queryWrapper = Wrappers.lambdaQuery(MfTdsConnectorIdentity.class);
queryWrapper.in(MfTdsConnectorIdentity::getGuid,guidSet);
mfTdsConnectorIdentityService.csbrExcludeShardingLambdaQueryWrapper(queryWrapper);
return mfTdsConnectorIdentityService.list(queryWrapper).stream().collect(Collectors.toMap(MfTdsConnectorIdentity::getGuid, Function.identity()));
}
/**
* 连接器身份信息新新增前置处理
* @author xup
......@@ -295,6 +310,17 @@ public class TdsConnectorIdentityServiceImpl extends FlowAbstractImpl implements
if(ObjectUtils.isEmpty(rqVO)){
throw new CsbrSystemException(SystemError.DATA_INPUT_ERROR, String.format("%s参数为空。",FUNCTION_NAME));
}
//验证接入连接器名称
if(StringUtils.isBlank(rqVO.getConnectorName())){
throw new CsbrSystemException(SystemError.DATA_INPUT_ERROR,"接入连接器名称为空。");
}
//判断是否是草稿
if(!ApprovalStateEnum.DRAFT.getValue().equals(rqVO.getBizApproveState())){
String message = validatorUtil.validateRetrunOne(rqVO);
if(StringUtils.isNotBlank(message)){
throw new CsbrSystemException(SystemError.DATA_INPUT_ERROR,message);
}
}
//endregion
//region 2.数据验证特殊处理
......@@ -304,7 +330,9 @@ public class TdsConnectorIdentityServiceImpl extends FlowAbstractImpl implements
//region 2.2.业务数据验证
//验证接入连接器名称唯一性
if("ZQ".equals(platformType)) {
verifyUniqueness(rqVO);
if(verifyUniqueness(rqVO)){
throw new CsbrSystemException(SystemError.DATA_ALREADY_EXISTS,"该企业下已经存在连接器,无法新增。");
}
}
//endregion 2.数据验证特殊处理
......@@ -334,13 +362,12 @@ public class TdsConnectorIdentityServiceImpl extends FlowAbstractImpl implements
* 验证是否已经存在连接器
* @param rqVO
*/
private void verifyUniqueness(TdsConnectorIdentityRQVO rqVO) {
@Override
public Boolean verifyUniqueness(TdsConnectorIdentityRQVO rqVO) {
//1、验证是否已经存在连接器
LambdaQueryWrapper<MfTdsConnectorIdentity> queryWrapper = Wrappers.lambdaQuery();
queryWrapper.notIn(MfTdsConnectorIdentity::getBizApproveState,ApprovalStateEnum.CANCEL.getValue(),ApprovalStateEnum.REJECT.getValue());
if(mfTdsConnectorIdentityService.count(queryWrapper)>0){
throw new CsbrSystemException(SystemError.DATA_ALREADY_EXISTS,"该企业下已经存在连接器,无法新增。");
}
queryWrapper.notIn(MfTdsConnectorIdentity::getBizApproveState,ApprovalStateEnum.CANCEL.getValue(),ApprovalStateEnum.REJECT.getValue(),ApprovalStateEnum.DISABLE.getValue());
return mfTdsConnectorIdentityService.count(queryWrapper)>0;
}
/**
......@@ -356,10 +383,12 @@ public class TdsConnectorIdentityServiceImpl extends FlowAbstractImpl implements
//region 1.1.输出过滤与补充处理
if(ObjectUtils.isNotEmpty(rqVO.getTdsConnectorAdditional())){
rqVO.getTdsConnectorAdditional().setConnectorGuid(rqVO.getGuid());
rqVO.getTdsConnectorAdditional().setBizApproveState(rqVO.getBizApproveState());
tdsConnectorAdditionalService.saveTdsConnectorAdditional(rqVO.getTdsConnectorAdditional());
}
if(ObjectUtils.isNotEmpty(rqVO.getTdsConnectorVerifiable())){
rqVO.getTdsConnectorVerifiable().setConnectorGuid(rqVO.getGuid());
rqVO.getTdsConnectorAdditional().setConnectorGuid(rqVO.getBizApproveState());
tdsConnectorVerifiableService.saveTdsConnectorVerifiable(rqVO.getTdsConnectorVerifiable());
}
//endregion 1.1.输出过滤与补充处理
......@@ -380,6 +409,17 @@ public class TdsConnectorIdentityServiceImpl extends FlowAbstractImpl implements
// W00012 = {0}:参数[{1}]不能为空!
throw new CsbrSystemException(SystemError.DATA_INPUT_ERROR, messageSourceUtil.getMessage("W00010", String.format("修改%s数据",FUNCTION_NAME), "数据唯一标识"));
}
//验证接入连接器名称
if(StringUtils.isBlank(rqVO.getConnectorName())){
throw new CsbrSystemException(SystemError.DATA_INPUT_ERROR,"接入连接器名称为空。");
}
//判断是否是草稿
if(!ApprovalStateEnum.DRAFT.getValue().equals(rqVO.getBizApproveState())){
String message = validatorUtil.validateRetrunOne(rqVO);
if(StringUtils.isNotBlank(message)){
throw new CsbrSystemException(SystemError.DATA_INPUT_ERROR,message);
}
}
//endregion
//region 2.数据验证特殊处理
......@@ -429,6 +469,7 @@ public class TdsConnectorIdentityServiceImpl extends FlowAbstractImpl implements
TdsConnectorAdditionalRQVO tdsConnectorAdditional = rqVO.getTdsConnectorAdditional();
if(ObjectUtils.isNotEmpty(tdsConnectorAdditional)){
tdsConnectorAdditional.setConnectorGuid(rqVO.getGuid());
tdsConnectorAdditional.setBizApproveState(rqVO.getBizApproveState());
if(StringUtils.isNotBlank(tdsConnectorAdditional.getGuid())){
tdsConnectorAdditionalService.updateTdsConnectorAdditional(tdsConnectorAdditional);
}else {
......@@ -438,6 +479,7 @@ public class TdsConnectorIdentityServiceImpl extends FlowAbstractImpl implements
TdsConnectorVerifiableRQVO tdsConnectorVerifiable = rqVO.getTdsConnectorVerifiable();
if(ObjectUtils.isNotEmpty(tdsConnectorVerifiable)){
tdsConnectorVerifiable.setConnectorGuid(rqVO.getGuid());
tdsConnectorVerifiable.setBizApproveState(rqVO.getBizApproveState());
if(StringUtils.isNotBlank(tdsConnectorVerifiable.getGuid())){
tdsConnectorVerifiableService.updateTdsConnectorVerifiable(tdsConnectorVerifiable);
}else{
......@@ -535,8 +577,12 @@ public class TdsConnectorIdentityServiceImpl extends FlowAbstractImpl implements
"实体数据转换为视图对象实体数据", "实体数据"));
}
List<TdsConnectorIdentityRSVO> voList = new ArrayList<>(entityList.size());
Map<String, BizApproveVO> approvalCrossTenantInfoMap = approvalFlowUtil.getApprovalCrossTenantInfoMap(entityList.stream().map(MfTdsConnectorIdentity::getGuid).collect(Collectors.toSet()));
for (MfTdsConnectorIdentity item : entityList) {
TdsConnectorIdentityRSVO vo = convertToVO(item);
if(ObjectUtils.isNotEmpty(approvalCrossTenantInfoMap) && approvalCrossTenantInfoMap.containsKey(vo.getGuid())){
vo.setApproveVO(approvalCrossTenantInfoMap.get(vo.getGuid()));
}
voList.add(vo);
}
return voList;
......
......@@ -8,6 +8,7 @@ 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.cloud.mybatis.util.ValidatorUtil;
import com.csbr.qingcloud.portal.domain.vo.TdsConnectorVerifiableQueryVO;
import com.csbr.qingcloud.portal.domain.vo.TdsConnectorVerifiableRQVO;
import com.csbr.qingcloud.portal.domain.vo.TdsConnectorVerifiableRSVO;
......@@ -15,6 +16,7 @@ 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 csbr.cloud.entity.enums.ApprovalStateEnum;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
......@@ -51,6 +53,9 @@ public class TdsConnectorVerifiableServiceImpl implements TdsConnectorVerifiable
@Resource
private MessageSourceUtil messageSourceUtil;
@Resource
private ValidatorUtil validatorUtil;
/**
* 连接器可验信息分页查询
* @author xup
......@@ -216,6 +221,16 @@ public class TdsConnectorVerifiableServiceImpl implements TdsConnectorVerifiable
*/
private void beforeSave(TdsConnectorVerifiableRQVO rqVO) {
//region 1.输入基础验证
if(ObjectUtils.isEmpty(rqVO)){
throw new CsbrSystemException(SystemError.DATA_INPUT_ERROR, String.format("%s参数为空。",FUNCTION_NAME));
}
//判断是否是草稿
if(!ApprovalStateEnum.DRAFT.getValue().equals(rqVO.getBizApproveState())){
String message = validatorUtil.validateRetrunOne(rqVO);
if(StringUtils.isNotBlank(message)){
throw new CsbrSystemException(SystemError.DATA_INPUT_ERROR,message);
}
}
//endregion
//region 2.数据验证特殊处理
......@@ -278,6 +293,14 @@ public class TdsConnectorVerifiableServiceImpl implements TdsConnectorVerifiable
// W00012 = {0}:参数[{1}]不能为空!
throw new CsbrSystemException(SystemError.DATA_INPUT_ERROR, messageSourceUtil.getMessage("W00010", String.format("修改%s数据",FUNCTION_NAME), "数据唯一标识"));
}
//判断是否是草稿
if(!ApprovalStateEnum.DRAFT.getValue().equals(rqVO.getBizApproveState())){
String message = validatorUtil.validateRetrunOne(rqVO);
if(StringUtils.isNotBlank(message)){
throw new CsbrSystemException(SystemError.DATA_INPUT_ERROR,message);
}
}
//endregion
//region 2.数据验证特殊处理
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!