9d5f44b0 by xu

可信空间连接器入住接口

1 parent 6ae635a6
...@@ -41,6 +41,14 @@ public class TdsConnectorIdentityController { ...@@ -41,6 +41,14 @@ public class TdsConnectorIdentityController {
41 return CommonRes.success(true); 41 return CommonRes.success(true);
42 } 42 }
43 43
44 @PostMapping("/change-save")
45 @SystemLog(value = "连接器身份信息-变更")
46 @Operation(summary = "连接器身份信息-变更")
47 public CommonRes<Boolean> changeSaveTdsConnectorIdentity(@RequestBody @Valid TdsConnectorIdentityRQVO vo) {
48 tdsConnectorIdentityService.changeSaveTdsConnectorIdentity(vo);
49 return CommonRes.success(true);
50 }
51
44 @PutMapping("/update") 52 @PutMapping("/update")
45 @SystemLog(value = "连接器身份信息-修改") 53 @SystemLog(value = "连接器身份信息-修改")
46 @Operation(summary = "连接器身份信息-修改") 54 @Operation(summary = "连接器身份信息-修改")
...@@ -93,8 +101,8 @@ public class TdsConnectorIdentityController { ...@@ -93,8 +101,8 @@ public class TdsConnectorIdentityController {
93 101
94 @GetMapping("/check-connector") 102 @GetMapping("/check-connector")
95 @SystemLog(value = "连接器身份信息-检查连接器是否已经存在") 103 @SystemLog(value = "连接器身份信息-检查连接器是否已经存在")
96 public CommonRes<Boolean> checkConnector() { 104 public CommonRes<TdsConnectorIdentityRSVO> checkConnector() {
97 Boolean vo = tdsConnectorIdentityService.verifyUniqueness(null); 105 TdsConnectorIdentityRSVO vo = tdsConnectorIdentityService.checkConnector();
98 return CommonRes.success(vo); 106 return CommonRes.success(vo);
99 } 107 }
100 //endregion 108 //endregion
......
...@@ -97,6 +97,13 @@ public class TdsConnectorIdentityRQVO extends FlowRQBaseVO { ...@@ -97,6 +97,13 @@ public class TdsConnectorIdentityRQVO extends FlowRQBaseVO {
97 */ 97 */
98 @Schema(description = "业务审批状态") 98 @Schema(description = "业务审批状态")
99 private String bizApproveState; 99 private String bizApproveState;
100
101 /**
102 * 原始数据Guid
103 */
104 @Schema(description = "原始数据Guid")
105 @NotBlank(message = "原始数据Guid为空。")
106 private String oldBizGuid;
100 107
101 /******** 库表存储属性 需处理 *****/ 108 /******** 库表存储属性 需处理 *****/
102 109
......
...@@ -94,4 +94,16 @@ public interface TdsConnectorIdentityService { ...@@ -94,4 +94,16 @@ public interface TdsConnectorIdentityService {
94 Map<String, MfTdsConnectorIdentity> getCrossTenantTdsConnectorIdentitys(Set<String> guidSet); 94 Map<String, MfTdsConnectorIdentity> getCrossTenantTdsConnectorIdentitys(Set<String> guidSet);
95 95
96 Boolean verifyUniqueness(TdsConnectorIdentityRQVO rqVO); 96 Boolean verifyUniqueness(TdsConnectorIdentityRQVO rqVO);
97
98 /**
99 * 变更数据申请
100 * @param flowBaseVO
101 */
102 void changeSaveTdsConnectorIdentity(FlowRQBaseVO flowBaseVO);
103
104 /**
105 * 检查连接器是否已经存在
106 * @return
107 */
108 TdsConnectorIdentityRSVO checkConnector();
97 } 109 }
......
1 package com.csbr.qingcloud.portal.service.impl; 1 package com.csbr.qingcloud.portal.service.impl;
2 2
3 import com.baomidou.mybatisplus.core.conditions.Wrapper;
4 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 3 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
5 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
6 import com.baomidou.mybatisplus.core.toolkit.Wrappers; 4 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
7 import com.csbr.cloud.common.enums.SystemError; 5 import com.csbr.cloud.common.enums.SystemError;
8 import com.csbr.cloud.common.enums.WorkFlowBizEnum; 6 import com.csbr.cloud.common.enums.WorkFlowBizEnum;
9 import com.csbr.qingcloud.portal.domain.vo.TdsConnectorIdentityManagementVoucherRQVO;
10 import com.csbr.qingcloud.portal.mybatis.entity.MfTdsConnectorIdentity;
11 import com.csbr.qingcloud.portal.service.TdsConnectorIdentityService;
12 import csbr.cloud.entity.enums.ApprovalStateEnum;
13 import com.csbr.cloud.common.exception.CsbrSystemException; 7 import com.csbr.cloud.common.exception.CsbrSystemException;
14 import com.csbr.cloud.common.util.CommonUtil; 8 import com.csbr.cloud.common.util.CommonUtil;
15 import com.csbr.cloud.common.util.CsbrBeanUtil; 9 import com.csbr.cloud.common.util.CsbrBeanUtil;
16 import com.csbr.cloud.workflow.util.ApprovalFlowUtil;
17 import com.csbr.cloud.workflow.util.FlowAbstractImpl;
18 import com.csbr.cloud.common.util.MessageSourceUtil; 10 import com.csbr.cloud.common.util.MessageSourceUtil;
19 import csbr.cloud.entity.domain.base.vo.PageListVO;
20 import com.csbr.cloud.workflow.domain.vo.appove.FlowRQBaseVO;
21 import com.csbr.cloud.workflow.domain.vo.appove.BizApproveVO;
22 import com.csbr.cloud.workflow.domain.dto.appove.AddApprovalDTO; 11 import com.csbr.cloud.workflow.domain.dto.appove.AddApprovalDTO;
23 import com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO; 12 import com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO;
13 import com.csbr.cloud.workflow.domain.vo.appove.BizApproveVO;
14 import com.csbr.cloud.workflow.domain.vo.appove.FlowRQBaseVO;
15 import com.csbr.cloud.workflow.util.ApprovalFlowUtil;
16 import com.csbr.cloud.workflow.util.FlowAbstractImpl;
24 import com.csbr.qingcloud.portal.domain.vo.TdsConnectorIdentityManagementQueryVO; 17 import com.csbr.qingcloud.portal.domain.vo.TdsConnectorIdentityManagementQueryVO;
25 import com.csbr.qingcloud.portal.domain.vo.TdsConnectorIdentityManagementRQVO; 18 import com.csbr.qingcloud.portal.domain.vo.TdsConnectorIdentityManagementRQVO;
26 import com.csbr.qingcloud.portal.domain.vo.TdsConnectorIdentityManagementRSVO; 19 import com.csbr.qingcloud.portal.domain.vo.TdsConnectorIdentityManagementRSVO;
20 import com.csbr.qingcloud.portal.domain.vo.TdsConnectorIdentityManagementVoucherRQVO;
27 import com.csbr.qingcloud.portal.mybatis.entity.MfTdsConnectorIdentityManagement; 21 import com.csbr.qingcloud.portal.mybatis.entity.MfTdsConnectorIdentityManagement;
28 import com.csbr.qingcloud.portal.mybatis.service.MfTdsConnectorIdentityManagementService; 22 import com.csbr.qingcloud.portal.mybatis.service.MfTdsConnectorIdentityManagementService;
29 import com.csbr.qingcloud.portal.service.TdsConnectorIdentityManagementService; 23 import com.csbr.qingcloud.portal.service.TdsConnectorIdentityManagementService;
24 import csbr.cloud.entity.domain.base.vo.PageListVO;
25 import csbr.cloud.entity.enums.ApprovalStateEnum;
26 import io.seata.spring.annotation.GlobalTransactional;
30 import jakarta.annotation.Resource; 27 import jakarta.annotation.Resource;
31 import lombok.extern.slf4j.Slf4j; 28 import lombok.extern.slf4j.Slf4j;
32 import org.apache.commons.collections.CollectionUtils; 29 import org.apache.commons.collections.CollectionUtils;
33 import org.apache.commons.lang3.ObjectUtils;
34 import org.apache.commons.lang3.StringUtils; 30 import org.apache.commons.lang3.StringUtils;
35 import org.springframework.beans.factory.annotation.Value; 31 import org.springframework.beans.factory.annotation.Value;
36 import org.springframework.stereotype.Service; 32 import org.springframework.stereotype.Service;
37 import io.seata.spring.annotation.GlobalTransactional;
38 import org.springframework.transaction.annotation.Transactional; 33 import org.springframework.transaction.annotation.Transactional;
39 34
40 import java.util.*; 35 import java.util.*;
...@@ -76,9 +71,6 @@ public class TdsConnectorIdentityManagementServiceImpl extends FlowAbstractImpl ...@@ -76,9 +71,6 @@ public class TdsConnectorIdentityManagementServiceImpl extends FlowAbstractImpl
76 @Value("${csbr.platform-type:''}") 71 @Value("${csbr.platform-type:''}")
77 private String platformType; 72 private String platformType;
78 73
79 @Resource
80 private TdsConnectorIdentityService tdsConnectorIdentityService;
81
82 /** 74 /**
83 * 连接器身份管理分页查询 75 * 连接器身份管理分页查询
84 * @author xup 76 * @author xup
...@@ -354,7 +346,7 @@ public class TdsConnectorIdentityManagementServiceImpl extends FlowAbstractImpl ...@@ -354,7 +346,7 @@ public class TdsConnectorIdentityManagementServiceImpl extends FlowAbstractImpl
354 } 346 }
355 //排除驳回、撤回的数据 347 //排除驳回、撤回的数据
356 queryWrapper.notIn(MfTdsConnectorIdentityManagement::getBizApproveState,ApprovalStateEnum.CANCEL.getValue(), 348 queryWrapper.notIn(MfTdsConnectorIdentityManagement::getBizApproveState,ApprovalStateEnum.CANCEL.getValue(),
357 ApprovalStateEnum.REJECT.getValue()); 349 ApprovalStateEnum.REJECT.getValue(),ApprovalStateEnum.DISABLE.getValue());
358 //根据使用场景查询 350 //根据使用场景查询
359 queryWrapper.eq(MfTdsConnectorIdentityManagement::getUseScenariosCode,rqVO.getUseScenariosCode()); 351 queryWrapper.eq(MfTdsConnectorIdentityManagement::getUseScenariosCode,rqVO.getUseScenariosCode());
360 //期望效期有效的 352 //期望效期有效的
......
...@@ -374,6 +374,55 @@ public class TdsConnectorIdentityServiceImpl extends FlowAbstractImpl implements ...@@ -374,6 +374,55 @@ public class TdsConnectorIdentityServiceImpl extends FlowAbstractImpl implements
374 return mfTdsConnectorIdentityService.count(queryWrapper)>0; 374 return mfTdsConnectorIdentityService.count(queryWrapper)>0;
375 } 375 }
376 376
377 @Override
378 @Transactional
379 public void changeSaveTdsConnectorIdentity(FlowRQBaseVO flowBaseVO) {
380 TdsConnectorIdentityRQVO rqVO = (TdsConnectorIdentityRQVO) flowBaseVO;
381 MfTdsConnectorIdentity oldTdsConnectorIdentity = beforeChangeSaveTdsConnectorIdentity(rqVO);
382 //发起连接器入住申请
383 saveTdsConnectorIdentity(rqVO);
384 afterChangeSaveTdsConnectorIdentity(rqVO,oldTdsConnectorIdentity);
385 }
386
387 @Override
388 public TdsConnectorIdentityRSVO checkConnector() {
389 LambdaQueryWrapper<MfTdsConnectorIdentity> queryWrapper = Wrappers.lambdaQuery();
390 queryWrapper.notIn(MfTdsConnectorIdentity::getBizApproveState,ApprovalStateEnum.CANCEL.getValue(),ApprovalStateEnum.REJECT.getValue(),ApprovalStateEnum.DISABLE.getValue());
391 queryWrapper.select(MfTdsConnectorIdentity::getGuid,MfTdsConnectorIdentity::getBizApproveState,MfTdsConnectorIdentity::getCrossPlatformApproveState);
392 List<MfTdsConnectorIdentity> list = mfTdsConnectorIdentityService.list(queryWrapper);
393 if(ObjectUtils.isEmpty(list)){
394 return null;
395 }
396 return convertToVO(list.get(0));
397 }
398
399 @Transactional
400 public void afterChangeSaveTdsConnectorIdentity(TdsConnectorIdentityRQVO rqVO,MfTdsConnectorIdentity oldTdsConnectorIdentity) {
401 //修改变更前数据状态为已废弃
402 oldTdsConnectorIdentity.setBizApproveState(ApprovalStateEnum.DISABLE.getValue());
403 mfTdsConnectorIdentityService.updateById(oldTdsConnectorIdentity);
404 }
405
406 /**
407 * 变更申请校验
408 * @param rqVO
409 */
410 private MfTdsConnectorIdentity beforeChangeSaveTdsConnectorIdentity(TdsConnectorIdentityRQVO rqVO) {
411 //region 1.输入基础验证
412 if(ObjectUtils.isEmpty(rqVO)){
413 throw new CsbrSystemException(SystemError.DATA_INPUT_ERROR, String.format("%s参数为空。",FUNCTION_NAME));
414 }
415 MfTdsConnectorIdentity tdsConnectorIdentity = mfTdsConnectorIdentityService.getById(rqVO.getOldBizGuid());
416 if(ObjectUtils.isEmpty(tdsConnectorIdentity)){
417 throw new CsbrSystemException(SystemError.DATA_NOT_EXISTS,"变更数据不存在。");
418 }
419 //置空Guid
420 rqVO.setGuid(null);
421 rqVO.getTdsConnectorAdditional().setGuid(null);
422 rqVO.getTdsConnectorVerifiable().setGuid(null);
423 return tdsConnectorIdentity;
424 }
425
377 /** 426 /**
378 * 连接器身份信息新增后置处理 427 * 连接器身份信息新增后置处理
379 * @author xup 428 * @author xup
......
...@@ -49,4 +49,7 @@ management: ...@@ -49,4 +49,7 @@ management:
49 enabled: false 49 enabled: false
50 feign: 50 feign:
51 sentinel: 51 sentinel:
52 enabled: true
...\ No newline at end of file ...\ No newline at end of file
52 enabled: true
53 csbr:
54 # 平台类型:ENTERPRISE,ZQ,MAIN
55 platform-type: ZQ
...\ No newline at end of file ...\ No newline at end of file
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!