可信空间连接器入住接口
Showing
6 changed files
with
90 additions
and
19 deletions
| ... | @@ -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 | ... | ... |
| ... | @@ -98,6 +98,13 @@ public class TdsConnectorIdentityRQVO extends FlowRQBaseVO { | ... | @@ -98,6 +98,13 @@ public class TdsConnectorIdentityRQVO extends FlowRQBaseVO { |
| 98 | @Schema(description = "业务审批状态") | 98 | @Schema(description = "业务审批状态") |
| 99 | private String bizApproveState; | 99 | private String bizApproveState; |
| 100 | 100 | ||
| 101 | /** | ||
| 102 | * 原始数据Guid | ||
| 103 | */ | ||
| 104 | @Schema(description = "原始数据Guid") | ||
| 105 | @NotBlank(message = "原始数据Guid为空。") | ||
| 106 | private String oldBizGuid; | ||
| 107 | |||
| 101 | /******** 库表存储属性 需处理 *****/ | 108 | /******** 库表存储属性 需处理 *****/ |
| 102 | 109 | ||
| 103 | /******** 自定义扩展 *****/ | 110 | /******** 自定义扩展 *****/ | ... | ... |
| ... | @@ -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 | ... | ... |
-
Please register or sign in to post a comment