Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
csbr-daop
/
ms-data-circulation-portal-service
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
59f9a56b
authored
2025-09-26 17:21:48 +0800
by
xu
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
可信空间连接器入住接口
1 parent
2a8365cc
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
251 additions
and
42 deletions
src/main/java/com/csbr/qingcloud/portal/controller/TdsConnectorIdentityController.java
src/main/java/com/csbr/qingcloud/portal/domain/vo/TdsConnectorAdditionalRQVO.java
src/main/java/com/csbr/qingcloud/portal/domain/vo/TdsConnectorIdentityManagementRQVO.java
src/main/java/com/csbr/qingcloud/portal/domain/vo/TdsConnectorIdentityManagementRSVO.java
src/main/java/com/csbr/qingcloud/portal/domain/vo/TdsConnectorIdentityRSVO.java
src/main/java/com/csbr/qingcloud/portal/domain/vo/TdsConnectorVerifiableRQVO.java
src/main/java/com/csbr/qingcloud/portal/mybatis/entity/MfTdsConnectorIdentity.java
src/main/java/com/csbr/qingcloud/portal/mybatis/entity/MfTdsConnectorIdentityManagement.java
src/main/java/com/csbr/qingcloud/portal/service/TdsConnectorIdentityService.java
src/main/java/com/csbr/qingcloud/portal/service/impl/TdsConnectorAdditionalServiceImpl.java
src/main/java/com/csbr/qingcloud/portal/service/impl/TdsConnectorIdentityManagementServiceImpl.java
src/main/java/com/csbr/qingcloud/portal/service/impl/TdsConnectorIdentityServiceImpl.java
src/main/java/com/csbr/qingcloud/portal/service/impl/TdsConnectorVerifiableServiceImpl.java
src/main/java/com/csbr/qingcloud/portal/controller/TdsConnectorIdentityController.java
View file @
59f9a56
...
...
@@ -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
(
"/
call
back"
)
@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
}
...
...
src/main/java/com/csbr/qingcloud/portal/domain/vo/TdsConnectorAdditionalRQVO.java
View file @
59f9a56
...
...
@@ -35,7 +35,7 @@ public class TdsConnectorAdditionalRQVO {
*/
@Schema
(
description
=
"可验证身份签发单位"
)
@Size
(
max
=
100
,
message
=
"可验证身份签发单位长度超过100"
)
@NotBlank
(
message
=
"可验证身份签发单位为空。"
)
//
@NotBlank(message = "可验证身份签发单位为空。")
private
String
identityIssuingUnit
;
/**
...
...
@@ -84,6 +84,12 @@ public class TdsConnectorAdditionalRQVO {
@Size
(
max
=
50
,
message
=
"设备MAC地址长度超过50"
)
@NotBlank
(
message
=
"设备MAC地址为空。"
)
private
String
deviceMacAddress
;
/**
* 业务审批状态
*/
@Schema
(
description
=
"业务审批状态"
)
private
String
bizApproveState
;
/******** 库表存储属性 需处理 *****/
...
...
src/main/java/com/csbr/qingcloud/portal/domain/vo/TdsConnectorIdentityManagementRQVO.java
View file @
59f9a56
...
...
@@ -24,6 +24,26 @@ public class TdsConnectorIdentityManagementRQVO extends FlowRQBaseVO {
@Schema
(
description
=
"连接器Guid"
)
@NotBlank
(
message
=
"连接器Guid为空。"
)
private
String
connectorGuid
;
/**
* 连接器名称
*/
@Schema
(
description
=
"连接器名称"
)
@NotBlank
(
message
=
"连接器名称为空。"
)
private
String
connectorName
;
/**
* 接入连接器身份标识(由区域/行业功能节点下发,唯一标识连接器身份)
*/
@Schema
(
description
=
"接入连接器身份标识(由区域/行业功能节点下发,唯一标识连接器身份)"
)
private
String
connectorIdentity
;
/**
* 所属法人或其他组织名称
*/
@Schema
(
description
=
"所属法人或其他组织名称"
)
@NotBlank
(
message
=
"所属法人或其他组织名称为空。"
)
private
String
legalEntity
;
/**
* 使用场景(数据字典使用场景)
...
...
src/main/java/com/csbr/qingcloud/portal/domain/vo/TdsConnectorIdentityManagementRSVO.java
View file @
59f9a56
...
...
@@ -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,19 +18,37 @@ import java.util.Date;
**/
@Data
@Schema
(
title
=
"连接器身份管理返回参数"
)
public
class
TdsConnectorIdentityManagementRSVO
{
public
class
TdsConnectorIdentityManagementRSVO
extends
BaseVO
{
/**
* 系统唯一标识
*/
@Schema
(
description
=
"系统唯一标识"
)
private
String
guid
;
/**
* 连接器Guid
*/
@Schema
(
description
=
"连接器Guid"
)
private
String
connectorGuid
;
/**
* 连接器名称
*/
@Schema
(
description
=
"连接器名称"
)
private
String
connectorName
;
/**
* 接入连接器身份标识(由区域/行业功能节点下发,唯一标识连接器身份)
*/
@Schema
(
description
=
"接入连接器身份标识(由区域/行业功能节点下发,唯一标识连接器身份)"
)
private
String
connectorIdentity
;
/**
*
节点Guid
*
所属法人或其他组织名称
*/
@Schema
(
description
=
"
节点Guid
"
)
private
String
zqGuid
;
@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
;
/**
...
...
src/main/java/com/csbr/qingcloud/portal/domain/vo/TdsConnectorIdentityRSVO.java
View file @
59f9a56
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
;
}
...
...
src/main/java/com/csbr/qingcloud/portal/domain/vo/TdsConnectorVerifiableRQVO.java
View file @
59f9a56
...
...
@@ -109,6 +109,12 @@ public class TdsConnectorVerifiableRQVO {
@Schema
(
description
=
"第三方认证声明"
)
@NotNull
(
message
=
"第三方认证声明为空。"
)
private
JSONArray
thirdPartyCertification
;
/**
* 业务审批状态
*/
@Schema
(
description
=
"业务审批状态"
)
private
String
bizApproveState
;
/******** 库表存储属性 需处理 *****/
...
...
src/main/java/com/csbr/qingcloud/portal/mybatis/entity/MfTdsConnectorIdentity.java
View file @
59f9a56
...
...
@@ -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】
*/
...
...
src/main/java/com/csbr/qingcloud/portal/mybatis/entity/MfTdsConnectorIdentityManagement.java
View file @
59f9a56
...
...
@@ -24,12 +24,25 @@ import java.util.Date;
@Name
(
"连接器身份管理"
)
@TableName
(
autoResultMap
=
true
)
public
class
MfTdsConnectorIdentityManagement
extends
BaseShardingDO
{
/**
* 节点Guid
*/
@Name
(
"节点Guid"
)
private
String
zqGuid
;
* 接入连接器Guid
*/
@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
;
}
...
...
src/main/java/com/csbr/qingcloud/portal/service/TdsConnectorIdentityService.java
View file @
59f9a56
...
...
@@ -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
);
}
...
...
src/main/java/com/csbr/qingcloud/portal/service/impl/TdsConnectorAdditionalServiceImpl.java
View file @
59f9a56
...
...
@@ -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.数据验证特殊处理
...
...
src/main/java/com/csbr/qingcloud/portal/service/impl/TdsConnectorIdentityManagementServiceImpl.java
View file @
59f9a56
...
...
@@ -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 辅助操作
...
...
src/main/java/com/csbr/qingcloud/portal/service/impl/TdsConnectorIdentityServiceImpl.java
View file @
59f9a56
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
;
...
...
src/main/java/com/csbr/qingcloud/portal/service/impl/TdsConnectorVerifiableServiceImpl.java
View file @
59f9a56
...
...
@@ -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.数据验证特殊处理
...
...
Write
Preview
Styling with
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment