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
283b4a44
authored
2025-09-23 13:19:59 +0800
by
xu
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
可信空间连接器入住接口
1 parent
836f7d80
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
155 additions
and
22 deletions
src/main/java/com/csbr/qingcloud/portal/controller/TdsConnectorIdentityController.java
src/main/java/com/csbr/qingcloud/portal/domain/vo/TdsConnectorIdentityQueryVO.java
src/main/java/com/csbr/qingcloud/portal/domain/vo/TdsConnectorIdentityRQVO.java
src/main/java/com/csbr/qingcloud/portal/mybatis/entity/MfTdsConnectorIdentity.java
src/main/java/com/csbr/qingcloud/portal/service/TdsConnectorIdentityService.java
src/main/java/com/csbr/qingcloud/portal/service/impl/TdsConnectorIdentityServiceImpl.java
src/main/java/com/csbr/qingcloud/portal/controller/TdsConnectorIdentityController.java
View file @
283b4a4
package
com
.
csbr
.
qingcloud
.
portal
.
controller
;
import
com.csbr.cloud.common.response.CommonRes
;
import
com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO
;
import
csbr.cloud.entity.annotation.SystemLog
;
import
csbr.cloud.entity.domain.base.vo.PageListVO
;
import
com.csbr.qingcloud.portal.domain.vo.TdsConnectorIdentityQueryVO
;
...
...
@@ -76,6 +77,13 @@ public class TdsConnectorIdentityController {
return
CommonRes
.
success
(
vo
);
}
@PostMapping
(
"/callback"
)
@Operation
(
summary
=
"流程回调"
,
hidden
=
true
)
public
CommonRes
<
Boolean
>
flowComplete
(
@RequestBody
BizCallbackDTO
bizApproveVO
)
{
tdsConnectorIdentityService
.
flowComplete
(
bizApproveVO
);
return
CommonRes
.
success
(
true
);
}
//endregion
}
...
...
src/main/java/com/csbr/qingcloud/portal/domain/vo/TdsConnectorIdentityQueryVO.java
View file @
283b4a4
package
com
.
csbr
.
qingcloud
.
portal
.
domain
.
vo
;
import
com.csbr.cloud.mybatis.annotations.LikeQuery
;
import
com.csbr.cloud.mybatis.enums.LikeQueryEnum
;
import
com.csbr.cloud.workflow.domain.dto.appove.FlowBizGuidQueryDTO
;
import
csbr.cloud.entity.domain.base.dto.BasePageDTO
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.EqualsAndHashCode
;
import
lombok.Data
;
import
java.util.Date
;
import
java.util.List
;
/**
* @program:
...
...
@@ -15,6 +19,25 @@ import java.util.Date;
@EqualsAndHashCode
(
callSuper
=
true
)
@Data
@Schema
(
title
=
"连接器身份信息查询参数"
)
public
class
TdsConnectorIdentityQueryVO
extends
BasePageDTO
{
public
class
TdsConnectorIdentityQueryVO
extends
FlowBizGuidQueryDTO
{
/**
* 接入连接器名称
*/
@Schema
(
description
=
"接入连接器名称"
)
@LikeQuery
(
type
=
LikeQueryEnum
.
ALL
)
private
String
connectorName
;
/**
* 是否调用查询的判断
*/
@Schema
(
description
=
"是否调用查询的判断"
,
hidden
=
true
)
private
Boolean
isNeedQuery
;
/**
* 数据唯一标识【List集合】
*/
@Schema
(
description
=
"数据唯一标识"
,
hidden
=
true
)
private
List
<
String
>
guidList
;
}
...
...
src/main/java/com/csbr/qingcloud/portal/domain/vo/TdsConnectorIdentityRQVO.java
View file @
283b4a4
package
com
.
csbr
.
qingcloud
.
portal
.
domain
.
vo
;
import
com.csbr.cloud.workflow.domain.vo.appove.FlowRQBaseVO
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
jakarta.validation.constraints.NotBlank
;
...
...
@@ -18,7 +19,7 @@ import java.util.Map;
**/
@Data
@Schema
(
title
=
"连接器身份信息新增、修改参数"
)
public
class
TdsConnectorIdentityRQVO
{
public
class
TdsConnectorIdentityRQVO
extends
FlowRQBaseVO
{
/**
* 系统唯一标识
...
...
@@ -89,6 +90,12 @@ public class TdsConnectorIdentityRQVO {
@Schema
(
description
=
"凭证颁发日期"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
credentialTime
;
/**
* 业务审批状态
*/
@Schema
(
description
=
"业务审批状态"
)
private
String
bizApproveState
;
/******** 库表存储属性 需处理 *****/
...
...
src/main/java/com/csbr/qingcloud/portal/mybatis/entity/MfTdsConnectorIdentity.java
View file @
283b4a4
...
...
@@ -81,4 +81,10 @@ public class MfTdsConnectorIdentity extends BaseDO {
@Name
(
"凭证颁发日期"
)
private
Date
credentialTime
;
/**
* 业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃; 默认 N】
*/
@Name
(
"业务审批状态"
)
private
String
bizApproveState
;
}
...
...
src/main/java/com/csbr/qingcloud/portal/service/TdsConnectorIdentityService.java
View file @
283b4a4
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
csbr.cloud.entity.domain.base.vo.PageListVO
;
import
com.csbr.qingcloud.portal.domain.vo.TdsConnectorIdentityQueryVO
;
import
com.csbr.qingcloud.portal.domain.vo.TdsConnectorIdentityRQVO
;
...
...
@@ -37,19 +39,19 @@ public interface TdsConnectorIdentityService {
* 连接器身份信息数据新增
* @author xup
* @date 2025-08-20 15:13
* @param
rq
VO
* @param
flowBase
VO
* @return boolean
*/
void
saveTdsConnectorIdentity
(
TdsConnectorIdentityRQVO
rq
VO
);
void
saveTdsConnectorIdentity
(
FlowRQBaseVO
flowBase
VO
);
/**
* 连接器身份信息数据修改
* @author xup
* @date 2025-08-20 15:13
* @param
rq
VO
* @param
flowBase
VO
* @return boolean
*/
void
updateTdsConnectorIdentity
(
TdsConnectorIdentityRQVO
rq
VO
);
void
updateTdsConnectorIdentity
(
FlowRQBaseVO
flowBase
VO
);
/**
* 连接器身份信息数据删除
...
...
@@ -68,5 +70,10 @@ public interface TdsConnectorIdentityService {
* @return void
*/
void
removeHandleByGuids
(
List
<
String
>
guids
);
/**
* 流程回调
* @param bizApproveVO
*/
void
flowComplete
(
BizCallbackDTO
bizApproveVO
);
}
...
...
src/main/java/com/csbr/qingcloud/portal/service/impl/TdsConnectorIdentityServiceImpl.java
View file @
283b4a4
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
;
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.BizCommonRedisUtil
;
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.FlowRQBaseVO
;
import
com.csbr.cloud.workflow.util.ApprovalFlowUtil
;
import
com.csbr.cloud.workflow.util.FlowAbstractImpl
;
import
com.csbr.qingcloud.portal.domain.vo.*
;
import
com.csbr.qingcloud.portal.service.TdsConnectorAdditionalService
;
import
com.csbr.qingcloud.portal.service.TdsConnectorVerifiableService
;
...
...
@@ -14,6 +22,8 @@ import csbr.cloud.entity.domain.base.vo.PageListVO;
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
;
...
...
@@ -23,6 +33,7 @@ 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
;
...
...
@@ -34,8 +45,14 @@ import java.util.List;
**/
@Slf4j
@Service
public
class
TdsConnectorIdentityServiceImpl
implements
TdsConnectorIdentityService
{
public
class
TdsConnectorIdentityServiceImpl
extends
FlowAbstractImpl
implements
TdsConnectorIdentityService
{
/**
* 流程类型
*/
private
static
final
String
FLOW_TYPE
=
WorkFlowBizEnum
.
TDS_CONNECTOR
.
getValue
();
private
static
final
String
SysFuncCode
=
"TDSCONNECTOR"
;
/**
* 功能名称
*/
...
...
@@ -56,6 +73,12 @@ public class TdsConnectorIdentityServiceImpl implements TdsConnectorIdentityServ
@Resource
private
TdsConnectorAdditionalService
tdsConnectorAdditionalService
;
@Resource
private
ApprovalFlowUtil
approvalFlowUtil
;
@Resource
private
BizCommonRedisUtil
bizCommonRedisUtil
;
/**
* 连接器身份信息分页查询
* @author xup
...
...
@@ -66,12 +89,17 @@ public class TdsConnectorIdentityServiceImpl implements TdsConnectorIdentityServ
@Override
public
PageListVO
<
TdsConnectorIdentityRSVO
>
pageList
(
TdsConnectorIdentityQueryVO
queryVO
)
{
beforeQuery
(
queryVO
);
LambdaQueryWrapper
<
MfTdsConnectorIdentity
>
queryWrapper
=
mfTdsConnectorIdentityService
.
csbrQueryWrapper
(
queryVO
,
MfTdsConnectorIdentity
.
class
);
queryWrapper
.
orderByDesc
(
MfTdsConnectorIdentity:
:
getCreateTime
);
PageListVO
<
MfTdsConnectorIdentity
>
pageList
=
mfTdsConnectorIdentityService
.
csbrPageList
(
queryVO
,
queryWrapper
);
PageListVO
<
TdsConnectorIdentityRSVO
>
rsPageList
=
csbrBeanUtil
.
convert
(
pageList
,
PageListVO
.
class
);
afterQuery
(
pageList
,
rsPageList
);
return
rsPageList
;
if
(
queryVO
.
getIsNeedQuery
())
{
LambdaQueryWrapper
<
MfTdsConnectorIdentity
>
queryWrapper
=
mfTdsConnectorIdentityService
.
csbrQueryWrapper
(
queryVO
,
MfTdsConnectorIdentity
.
class
);
queryWrapper
.
in
(
CollectionUtils
.
isNotEmpty
(
queryVO
.
getGuidList
()),
MfTdsConnectorIdentity:
:
getGuid
,
queryVO
.
getGuidList
());
queryWrapper
.
orderByDesc
(
MfTdsConnectorIdentity:
:
getCreateTime
);
PageListVO
<
MfTdsConnectorIdentity
>
pageList
=
mfTdsConnectorIdentityService
.
csbrPageList
(
queryVO
,
queryWrapper
);
PageListVO
<
TdsConnectorIdentityRSVO
>
rsPageList
=
csbrBeanUtil
.
convert
(
pageList
,
PageListVO
.
class
);
afterQuery
(
pageList
,
rsPageList
);
return
rsPageList
;
}
return
new
PageListVO
<>();
}
/**
...
...
@@ -103,16 +131,20 @@ public class TdsConnectorIdentityServiceImpl implements TdsConnectorIdentityServ
* 连接器身份信息数据新增
* @author xup
* @date 2025-08-20 15:13
* @param
rq
VO
* @param
flowBase
VO
* @return boolean
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
@
Global
Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
void
saveTdsConnectorIdentity
(
TdsConnectorIdentityRQVO
rqVO
)
{
public
void
saveTdsConnectorIdentity
(
FlowRQBaseVO
flowBaseVO
)
{
TdsConnectorIdentityRQVO
rqVO
=
(
TdsConnectorIdentityRQVO
)
flowBaseVO
;
beforeSave
(
rqVO
);
MfTdsConnectorIdentity
entity
=
convertToEntity
(
rqVO
);
rqVO
.
setGuid
(
entity
.
getGuid
());
mfTdsConnectorIdentityService
.
csbrAddEntity
(
entity
);
// 发起审批流程或保存草稿
AddApprovalDTO
approvalDTO
=
getAddApprovalDTO
(
entity
);
super
.
startWorkFlow
(
rqVO
,
approvalDTO
,
entity:
:
setBizApproveState
);
boolean
flag
=
mfTdsConnectorIdentityService
.
save
(
entity
);
if
(!
flag
)
{
throw
new
CsbrSystemException
(
SystemError
.
DATA_ADD_ERROR
,
messageSourceUtil
.
addMessage
(
FUNCTION_NAME
));
...
...
@@ -121,21 +153,49 @@ public class TdsConnectorIdentityServiceImpl implements TdsConnectorIdentityServ
}
/**
* 获取发起流程参数
* @author xup
* @date 2024-12-30 13:43
* @param entity
* @return com.csbr.cloud.workflow.domain.dto.appove.AddApprovalDTO
*/
private
AddApprovalDTO
getAddApprovalDTO
(
MfTdsConnectorIdentity
entity
)
{
AddApprovalDTO
approvalDTO
=
new
AddApprovalDTO
(
FLOW_TYPE
,
entity
.
getGuid
());
approvalDTO
.
setFuncCode
(
SysFuncCode
);
// 流程消息中的变量替换参数
String
msParam
=
String
.
format
(
"%s,%s"
,
bizCommonRedisUtil
.
getTenantName
(
entity
.
getTenantGuid
()),
null
);
approvalDTO
.
setFlowMessageBody
(
msParam
);
//设置跳转参数
approvalDTO
.
setUrlParam
(
String
.
format
(
"guid=%s&damGuid=%s&groundingGuid=%s&serviceTenantGuid=%s"
,
entity
.
getGuid
(),
null
,
null
,
entity
.
getTenantGuid
()));
// 流程列表数据核心param参数处理
approvalDTO
.
setParam1
(
null
);
approvalDTO
.
setParam2
(
null
);
approvalDTO
.
setParam3
(
null
);
approvalDTO
.
setParam4
(
null
);
return
approvalDTO
;
}
/**
* 连接器身份信息数据修改
* @author xup
* @date 2025-08-20 15:13
* @param
rq
VO
* @param
flowBase
VO
* @return boolean
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
void
updateTdsConnectorIdentity
(
TdsConnectorIdentityRQVO
rq
VO
)
{
public
void
updateTdsConnectorIdentity
(
FlowRQBaseVO
flowBase
VO
)
{
// 将修改前数据查出来缓存下来,传入到修改后方法中,用于一些特殊逻辑处理,如某个值变化才进行
// MfTdsConnectorIdentity oldEntity = mfTdsConnectorIdentityService.getById(rqVO.getGuid());
TdsConnectorIdentityRQVO
rqVO
=
(
TdsConnectorIdentityRQVO
)
flowBaseVO
;
MfTdsConnectorIdentity
oldEntity
=
null
;
beforeUpdate
(
rqVO
);
MfTdsConnectorIdentity
entity
=
convertToEntity
(
rqVO
);
mfTdsConnectorIdentityService
.
csbrUpdateEntity
(
entity
);
// 发起审批流程或保存草稿
AddApprovalDTO
approvalDTO
=
getAddApprovalDTO
(
entity
);
super
.
restartWorkFlow
(
rqVO
,
oldEntity
.
getBizApproveState
(),
approvalDTO
,
this
::
saveTdsConnectorIdentity
,
entity:
:
setBizApproveState
);
boolean
flag
=
mfTdsConnectorIdentityService
.
updateById
(
entity
);
if
(!
flag
)
{
throw
new
CsbrSystemException
(
SystemError
.
DATA_UPDATE_ERROR
,
messageSourceUtil
.
updateMessage
(
FUNCTION_NAME
));
...
...
@@ -196,6 +256,19 @@ public class TdsConnectorIdentityServiceImpl implements TdsConnectorIdentityServ
}
}
@Override
public
void
flowComplete
(
BizCallbackDTO
bizApproveVO
)
{
MfTdsConnectorIdentity
entity
=
mfTdsConnectorIdentityService
.
getById
(
bizApproveVO
.
getBizGuid
());
if
(
entity
==
null
)
{
throw
new
CsbrSystemException
(
SystemError
.
DATA_NOT_EXISTS
,
messageSourceUtil
.
notExistsToSelectMessage
(
FUNCTION_NAME
));
}
// 同步更新审批状态
LambdaUpdateWrapper
<
MfTdsConnectorIdentity
>
updateWrapper
=
mfTdsConnectorIdentityService
.
csbrUpdateWrapper
(
MfTdsConnectorIdentity
.
class
);
updateWrapper
.
set
(
MfTdsConnectorIdentity:
:
getBizApproveState
,
bizApproveVO
.
getApprovalState
());
updateWrapper
.
eq
(
MfTdsConnectorIdentity:
:
getGuid
,
bizApproveVO
.
getBizGuid
());
mfTdsConnectorIdentityService
.
update
(
updateWrapper
);
}
/**
* 连接器身份信息新新增前置处理
* @author xup
...
...
@@ -399,7 +472,16 @@ public class TdsConnectorIdentityServiceImpl implements TdsConnectorIdentityServ
* @return void
*/
private
void
beforeQuery
(
TdsConnectorIdentityQueryVO
rqQueryVO
)
{
rqQueryVO
.
setIsNeedQuery
(
true
);
if
(
approvalFlowUtil
.
isQueryBizGuid
(
rqQueryVO
))
{
rqQueryVO
.
setFlowType
(
FLOW_TYPE
);
List
<
String
>
bizGuidList
=
approvalFlowUtil
.
getApprovalCrossTenantBizGuids
(
rqQueryVO
);
if
(
CollectionUtils
.
isEmpty
(
bizGuidList
))
{
rqQueryVO
.
setIsNeedQuery
(
false
);
}
else
{
rqQueryVO
.
setGuidList
(
bizGuidList
);
}
}
}
/**
...
...
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