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
c9932ab1
authored
2025-10-16 16:18:24 +0800
by
xiaojie
Browse Files
Options
Browse Files
Tag
Download
Plain Diff
Merge branch 'develop' into feature-dataPort-v1.0.0
2 parents
35a082a5
7aa2a0e0
Show whitespace changes
Inline
Side-by-side
Showing
28 changed files
with
461 additions
and
82 deletions
src/main/java/com/csbr/qingcloud/portal/controller/TdsConnectorIdentityController.java
src/main/java/com/csbr/qingcloud/portal/controller/TdsConnectorIdentityManagementController.java
src/main/java/com/csbr/qingcloud/portal/domain/vo/EnterpriseRSVO.java
src/main/java/com/csbr/qingcloud/portal/domain/vo/TdsConnectorAdditionalRQVO.java
src/main/java/com/csbr/qingcloud/portal/domain/vo/TdsConnectorAdditionalRSVO.java
src/main/java/com/csbr/qingcloud/portal/domain/vo/TdsConnectorIdentityManagementQueryVO.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/TdsConnectorIdentityRQVO.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/domain/vo/TenantRQVO.java
src/main/java/com/csbr/qingcloud/portal/mybatis/entity/MfEnterprise.java
src/main/java/com/csbr/qingcloud/portal/mybatis/entity/MfTdsConnectorAdditional.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/TdsConnectorIdentityManagementService.java
src/main/java/com/csbr/qingcloud/portal/service/TdsConnectorIdentityService.java
src/main/java/com/csbr/qingcloud/portal/service/impl/DemandServiceImpl.java
src/main/java/com/csbr/qingcloud/portal/service/impl/EnterpriseChangeApproveServiceImpl.java
src/main/java/com/csbr/qingcloud/portal/service/impl/EnterpriseServiceImpl.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/util/IdentificationCodeUtil.java
src/main/java/com/csbr/qingcloud/portal/util/ZQConfig.java
src/main/resources/release-test/bootstrap.yml
src/main/resources/release-test/lt/bootstrap.yml
src/main/resources/zq-release/lt/bootstrap.yml
src/main/java/com/csbr/qingcloud/portal/controller/TdsConnectorIdentityController.java
View file @
c9932ab
package
com
.
csbr
.
qingcloud
.
portal
.
controller
;
import
com.csbr.cloud.common.enums.SystemError
;
import
com.csbr.cloud.common.exception.CsbrSystemException
;
import
com.csbr.cloud.common.response.CommonRes
;
import
com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO
;
import
com.csbr.qingcloud.portal.mybatis.entity.MfTdsConnectorIdentity
;
import
csbr.cloud.entity.annotation.SystemLog
;
import
csbr.cloud.entity.domain.base.vo.PageListVO
;
import
com.csbr.qingcloud.portal.domain.vo.TdsConnectorIdentityQueryVO
;
...
...
@@ -13,6 +16,7 @@ import io.swagger.v3.oas.annotations.Parameter;
import
io.swagger.v3.oas.annotations.tags.Tag
;
import
jakarta.annotation.Resource
;
import
jakarta.validation.Valid
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
...
...
@@ -41,11 +45,39 @@ public class TdsConnectorIdentityController {
return
CommonRes
.
success
(
true
);
}
@PostMapping
(
"/change-save"
)
@SystemLog
(
value
=
"连接器身份信息-变更"
)
@Operation
(
summary
=
"连接器身份信息-变更"
)
public
CommonRes
<
Boolean
>
changeSaveTdsConnectorIdentity
(
@RequestBody
@Valid
TdsConnectorIdentityRQVO
vo
)
{
tdsConnectorIdentityService
.
changeSaveTdsConnectorIdentity
(
vo
);
return
CommonRes
.
success
(
true
);
}
@PutMapping
(
"/update"
)
@SystemLog
(
value
=
"连接器身份信息-修改"
)
@Operation
(
summary
=
"连接器身份信息-修改"
)
public
CommonRes
<
Boolean
>
updateTdsConnectorIdentity
(
@RequestBody
TdsConnectorIdentityRQVO
vo
)
{
if
(
StringUtils
.
isBlank
(
vo
.
getGuid
()))
{
// W00012 = {0}:参数[{1}]不能为空!
throw
new
CsbrSystemException
(
SystemError
.
DATA_INPUT_ERROR
,
"数据唯一标识为空。"
);
}
MfTdsConnectorIdentity
mfTdsConnectorIdentity
=
tdsConnectorIdentityService
.
getTdsConnectorIdentityById
(
vo
.
getGuid
());
//变更数据重新提交流程
if
(
"Y"
.
equals
(
mfTdsConnectorIdentity
.
getIsChangeData
())
&&
vo
.
getImmediateApprove
()){
vo
.
setSourceBizGuid
(
mfTdsConnectorIdentity
.
getSourceBizGuid
());
vo
.
setIsRestart
(
true
);
tdsConnectorIdentityService
.
changeSaveTdsConnectorIdentity
(
vo
);
}
else
{
tdsConnectorIdentityService
.
updateTdsConnectorIdentity
(
vo
);
}
return
CommonRes
.
success
(
true
);
}
@PostMapping
(
"/cross-flow-call-back"
)
@SystemLog
(
value
=
"连接器身份信息-流程结束后进行业务回调(跨服务审批)"
)
@Operation
(
summary
=
"连接器身份信息-流程结束后进行业务回调(跨服务审批)"
,
hidden
=
true
)
public
CommonRes
<
Boolean
>
crossFlowCallBack
(
@RequestBody
@Valid
BizCallbackDTO
dto
)
{
tdsConnectorIdentityService
.
crossFlowCallBack
(
dto
);
return
CommonRes
.
success
(
true
);
}
...
...
@@ -93,8 +125,8 @@ public class TdsConnectorIdentityController {
@GetMapping
(
"/check-connector"
)
@SystemLog
(
value
=
"连接器身份信息-检查连接器是否已经存在"
)
public
CommonRes
<
Boolean
>
checkConnector
()
{
Boolean
vo
=
tdsConnectorIdentityService
.
verifyUniqueness
(
null
);
public
CommonRes
<
TdsConnectorIdentityRSVO
>
checkConnector
()
{
TdsConnectorIdentityRSVO
vo
=
tdsConnectorIdentityService
.
checkConnector
(
);
return
CommonRes
.
success
(
vo
);
}
//endregion
...
...
src/main/java/com/csbr/qingcloud/portal/controller/TdsConnectorIdentityManagementController.java
View file @
c9932ab
...
...
@@ -94,6 +94,14 @@ public class TdsConnectorIdentityManagementController {
return
CommonRes
.
success
(
true
);
}
@PostMapping
(
"/cross-flow-call-back"
)
@SystemLog
(
value
=
"连接器身份管理-流程结束后进行业务回调(跨服务审批)"
)
@Operation
(
summary
=
"连接器身份管理-流程结束后进行业务回调(跨服务审批)"
,
hidden
=
true
)
public
CommonRes
<
Boolean
>
crossFlowCallBack
(
@RequestBody
@Valid
BizCallbackDTO
dto
)
{
tdsConnectorIdentityManagementService
.
crossFlowCallBack
(
dto
);
return
CommonRes
.
success
(
true
);
}
//endregion
}
...
...
src/main/java/com/csbr/qingcloud/portal/domain/vo/EnterpriseRSVO.java
View file @
c9932ab
...
...
@@ -4,6 +4,7 @@ import com.csbr.cloud.common.annotations.SystemParamsDict;
import
com.csbr.cloud.workflow.domain.vo.appove.BizApproveVO
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
jdk.jfr.Name
;
import
lombok.Data
;
import
java.math.BigDecimal
;
...
...
@@ -266,6 +267,21 @@ public class EnterpriseRSVO {
@SystemParamsDict
(
dictTypeName
=
"证件类型"
,
codeFieldName
=
"handlePersonIdType"
)
private
String
handlePersonIdTypeName
;
/**
* 可信身份凭证
*/
@Schema
(
description
=
"可信身份凭证"
)
private
String
trustedIdentityCredential
;
/**
* 凭证颁发日期
*/
@Schema
(
description
=
"凭证颁发日期"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
credentialTime
;
private
String
trustedIdentityCredentialUnit
=
"北京传世博润科技有限公司"
;
/******** 库表存储属性 需处理 *****/
/******** 自定义扩展 *****/
...
...
src/main/java/com/csbr/qingcloud/portal/domain/vo/TdsConnectorAdditionalRQVO.java
View file @
c9932ab
...
...
@@ -36,7 +36,7 @@ public class TdsConnectorAdditionalRQVO {
@Schema
(
description
=
"可验证身份签发单位"
)
@Size
(
max
=
100
,
message
=
"可验证身份签发单位长度超过100"
)
// @NotBlank(message = "可验证身份签发单位为空。")
private
String
identityIssuing
Unit
;
private
String
trustedIdentityCredential
Unit
;
/**
* 供应商名称
...
...
src/main/java/com/csbr/qingcloud/portal/domain/vo/TdsConnectorAdditionalRSVO.java
View file @
c9932ab
...
...
@@ -37,7 +37,7 @@ public class TdsConnectorAdditionalRSVO {
* 可验证身份签发单位
*/
@Schema
(
description
=
"可验证身份签发单位"
)
private
String
identityIssuing
Unit
;
private
String
trustedIdentityCredential
Unit
;
/**
* 供应商名称
...
...
src/main/java/com/csbr/qingcloud/portal/domain/vo/TdsConnectorIdentityManagementQueryVO.java
View file @
c9932ab
...
...
@@ -38,4 +38,10 @@ public class TdsConnectorIdentityManagementQueryVO extends FlowBizGuidQueryDTO {
@Schema
(
description
=
"是否调用查询的判断"
,
hidden
=
true
)
private
Boolean
isNeedQuery
;
/**
* 连接器名称
*/
@Schema
(
description
=
"连接器名称"
)
private
String
conName
;
}
...
...
src/main/java/com/csbr/qingcloud/portal/domain/vo/TdsConnectorIdentityManagementRQVO.java
View file @
c9932ab
...
...
@@ -91,6 +91,9 @@ public class TdsConnectorIdentityManagementRQVO extends FlowRQBaseVO {
@Schema
(
description
=
"业务审批状态"
)
private
String
bizApproveState
;
@Schema
(
title
=
"节点名称"
)
private
String
zqName
;
/******** 库表存储属性 需处理 *****/
/******** 自定义扩展 *****/
...
...
src/main/java/com/csbr/qingcloud/portal/domain/vo/TdsConnectorIdentityManagementRSVO.java
View file @
c9932ab
...
...
@@ -106,6 +106,9 @@ public class TdsConnectorIdentityManagementRSVO extends BaseVO {
@Schema
(
title
=
"跨平台审批状态(N 初始 A 审批中 Y 已通过 R 驳回 C 已撤销)"
)
private
String
crossPlatformApproveState
;
@Schema
(
title
=
"节点名称"
)
private
String
zqName
;
/******** 库表存储属性 需处理 *****/
/******** 自定义扩展 *****/
...
...
src/main/java/com/csbr/qingcloud/portal/domain/vo/TdsConnectorIdentityRQVO.java
View file @
c9932ab
...
...
@@ -7,6 +7,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import
jakarta.validation.constraints.NotBlank
;
import
jakarta.validation.constraints.NotNull
;
import
jakarta.validation.constraints.Size
;
import
jdk.jfr.Name
;
import
lombok.Data
;
import
java.util.Date
;
import
java.util.List
;
...
...
@@ -83,7 +84,7 @@ public class TdsConnectorIdentityRQVO extends FlowRQBaseVO {
* 可信身份凭证
*/
@Schema
(
description
=
"可信身份凭证"
)
private
JSONArray
trustedIdentityCredential
;
private
String
trustedIdentityCredential
;
/**
* 凭证颁发日期
...
...
@@ -98,6 +99,24 @@ public class TdsConnectorIdentityRQVO extends FlowRQBaseVO {
@Schema
(
description
=
"业务审批状态"
)
private
String
bizApproveState
;
/**
* 原始数据Guid
*/
@Schema
(
description
=
"原始数据Guid"
)
private
String
sourceBizGuid
;
/**
* 是否变更数据【N 正常数据,Y 变更数据】
*/
@Schema
(
description
=
"是否变更数据【N 正常数据,Y 变更数据】"
)
private
String
isChangeData
;
private
String
funcCode
;
@Schema
(
title
=
"节点名称"
)
private
String
zqName
;
/******** 库表存储属性 需处理 *****/
/******** 自定义扩展 *****/
...
...
src/main/java/com/csbr/qingcloud/portal/domain/vo/TdsConnectorIdentityRSVO.java
View file @
c9932ab
...
...
@@ -4,6 +4,7 @@ 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
jdk.jfr.Name
;
import
lombok.Data
;
import
java.util.Date
;
import
java.util.List
;
...
...
@@ -71,7 +72,7 @@ public class TdsConnectorIdentityRSVO extends BaseVO {
* 可信身份凭证
*/
@Schema
(
description
=
"可信身份凭证"
)
private
Map
<
String
,
String
>
trustedIdentityCredential
;
private
String
trustedIdentityCredential
;
/**
* 凭证颁发日期
...
...
@@ -89,6 +90,21 @@ public class TdsConnectorIdentityRSVO extends BaseVO {
@Schema
(
title
=
"跨平台审批状态(N 初始 A 审批中 Y 已通过 R 驳回 C 已撤销)"
)
private
String
crossPlatformApproveState
;
/**
* 原始数据Guid
*/
@Schema
(
description
=
"原始数据Guid"
)
private
String
sourceBizGuid
;
/**
* 是否变更数据【N 正常数据,Y 变更数据】
*/
@Schema
(
description
=
"是否变更数据【N 正常数据,Y 变更数据】"
)
private
String
isChangeData
;
@Schema
(
title
=
"节点名称"
)
private
String
zqName
;
/******** 库表存储属性 需处理 *****/
/******** 自定义扩展 *****/
...
...
src/main/java/com/csbr/qingcloud/portal/domain/vo/TdsConnectorVerifiableRQVO.java
View file @
c9932ab
...
...
@@ -65,49 +65,42 @@ public class TdsConnectorVerifiableRQVO {
* 加密模块认证
*/
@Schema
(
description
=
"加密模块认证"
)
@NotNull
(
message
=
"加密模块认证为空。"
)
private
JSONArray
encryptionModuleAuthentication
;
/**
* 软件供应链合规声明
*/
@Schema
(
description
=
"软件供应链合规声明"
)
@NotNull
(
message
=
"软件供应链合规声明为空。"
)
private
JSONArray
softwareScmStatemen
;
/**
* 安全漏洞修复声明
*/
@Schema
(
description
=
"安全漏洞修复声明"
)
@NotNull
(
message
=
"安全漏洞修复声明为空。"
)
private
JSONArray
securityLoopholeRepairStatement
;
/**
* 通信协议兼容性认证
*/
@Schema
(
description
=
"通信协议兼容性认证"
)
@NotNull
(
message
=
"通信协议兼容性认证为空。"
)
private
JSONArray
communicationProtocolCompatibilityCertification
;
/**
* 硬件可信执行环境(TEE)认证
*/
@Schema
(
description
=
"硬件可信执行环境(TEE)认证"
)
@NotNull
(
message
=
"硬件可信执行环境(TEE)认证为空。"
)
private
JSONArray
teeCertification
;
/**
* 接入行为审计合规报告
*/
@Schema
(
description
=
"接入行为审计合规报告"
)
@NotNull
(
message
=
"接入行为审计合规报告为空。"
)
private
JSONArray
accessAuditReport
;
/**
* 第三方认证声明
*/
@Schema
(
description
=
"第三方认证声明"
)
@NotNull
(
message
=
"第三方认证声明为空。"
)
private
JSONArray
thirdPartyCertification
;
/**
...
...
src/main/java/com/csbr/qingcloud/portal/domain/vo/TenantRQVO.java
View file @
c9932ab
...
...
@@ -38,6 +38,12 @@ public class TenantRQVO extends CsbrBaseVO {
private
String
tenantName
;
/**
* 统一社会信用代码
*/
@Schema
(
description
=
"统一社会信用代码"
)
private
String
socialCreditCode
;
/**
* 公司简称
*/
@Schema
(
description
=
"公司简称"
)
...
...
src/main/java/com/csbr/qingcloud/portal/mybatis/entity/MfEnterprise.java
View file @
c9932ab
...
...
@@ -2,6 +2,7 @@ package com.csbr.qingcloud.portal.mybatis.entity;
import
com.baomidou.mybatisplus.annotation.FieldStrategy
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler
;
import
csbr.cloud.entity.domain.base.dao.BaseDO
;
import
jdk.jfr.Name
;
import
lombok.Data
;
...
...
@@ -219,4 +220,16 @@ public class MfEnterprise extends BaseDO {
@Name
(
"经办人证件类型"
)
private
String
handlePersonIdType
;
/**
* 可信身份凭证
*/
@Name
(
"可信身份凭证"
)
private
String
trustedIdentityCredential
;
/**
* 凭证颁发日期
*/
@Name
(
"凭证颁发日期"
)
private
Date
credentialTime
;
}
...
...
src/main/java/com/csbr/qingcloud/portal/mybatis/entity/MfTdsConnectorAdditional.java
View file @
c9932ab
...
...
@@ -32,7 +32,7 @@ public class MfTdsConnectorAdditional extends BaseShardingDO {
* 可验证身份签发单位
*/
@Name
(
"可验证身份签发单位"
)
private
String
identityIssuing
Unit
;
private
String
trustedIdentityCredential
Unit
;
/**
* 供应商名称
...
...
src/main/java/com/csbr/qingcloud/portal/mybatis/entity/MfTdsConnectorIdentity.java
View file @
c9932ab
...
...
@@ -7,6 +7,8 @@ import com.baomidou.mybatisplus.annotation.TableName;
import
com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler
;
import
csbr.cloud.entity.domain.base.dao.BaseDO
;
import
csbr.cloud.entity.domain.base.dao.BaseShardingDO
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
jakarta.validation.constraints.NotBlank
;
import
jdk.jfr.Name
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
...
...
@@ -75,8 +77,7 @@ public class MfTdsConnectorIdentity extends BaseShardingDO {
* 可信身份凭证
*/
@Name
(
"可信身份凭证"
)
@TableField
(
typeHandler
=
FastjsonTypeHandler
.
class
)
private
JSONArray
trustedIdentityCredential
;
private
String
trustedIdentityCredential
;
/**
* 凭证颁发日期
...
...
@@ -93,4 +94,18 @@ public class MfTdsConnectorIdentity extends BaseShardingDO {
@Name
(
"业务审批状态"
)
private
String
bizApproveState
;
/**
* 是否变更数据【N 正常数据,Y 变更数据】
*/
@Name
(
"是否变更数据"
)
private
String
isChangeData
;
/**
* 原始数据Guid
*/
@Name
(
"原始数据Guid"
)
private
String
sourceBizGuid
;
@Name
(
"节点名称"
)
private
String
zqName
;
}
...
...
src/main/java/com/csbr/qingcloud/portal/mybatis/entity/MfTdsConnectorIdentityManagement.java
View file @
c9932ab
...
...
@@ -96,4 +96,7 @@ public class MfTdsConnectorIdentityManagement extends BaseShardingDO {
@Name
(
"所属法人或其他组织名称"
)
private
String
legalEntity
;
@Name
(
"节点名称"
)
private
String
zqName
;
}
...
...
src/main/java/com/csbr/qingcloud/portal/service/TdsConnectorIdentityManagementService.java
View file @
c9932ab
...
...
@@ -76,4 +76,6 @@ public interface TdsConnectorIdentityManagementService {
* @param rqVO
*/
void
updateVoucher
(
TdsConnectorIdentityManagementVoucherRQVO
rqVO
);
void
crossFlowCallBack
(
BizCallbackDTO
dto
);
}
...
...
src/main/java/com/csbr/qingcloud/portal/service/TdsConnectorIdentityService.java
View file @
c9932ab
...
...
@@ -94,4 +94,24 @@ public interface TdsConnectorIdentityService {
Map
<
String
,
MfTdsConnectorIdentity
>
getCrossTenantTdsConnectorIdentitys
(
Set
<
String
>
guidSet
);
Boolean
verifyUniqueness
(
TdsConnectorIdentityRQVO
rqVO
);
/**
* 变更数据申请
* @param flowBaseVO
*/
void
changeSaveTdsConnectorIdentity
(
FlowRQBaseVO
flowBaseVO
);
/**
* 检查连接器是否已经存在
* @return
*/
TdsConnectorIdentityRSVO
checkConnector
();
/**
* 跨平台业务调用
* @param dto
*/
void
crossFlowCallBack
(
BizCallbackDTO
dto
);
MfTdsConnectorIdentity
getTdsConnectorIdentityById
(
String
guid
);
}
...
...
src/main/java/com/csbr/qingcloud/portal/service/impl/DemandServiceImpl.java
View file @
c9932ab
...
...
@@ -311,10 +311,11 @@ public class DemandServiceImpl extends FlowAbstractImpl implements DemandService
// 删除主平台数据
if
(!
zqConfig
.
getIsMain
()
&&
StringUtils
.
isNotEmpty
(
crossPlatformApproveState
))
{
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"zqSystemCode"
,
SysFuncCode
);
jsonObject
.
put
(
"zqBizGuids"
,
JSON
.
toJSONString
(
guids
));
jsonObject
.
put
(
"bizCode"
,
SysFuncCode
);
jsonObject
.
put
(
"operation"
,
"DEL"
);
jsonObject
.
put
(
"zqData"
,
JSON
.
toJSONString
(
guids
));
jsonObject
.
put
(
"isCollection"
,
true
);
invokeUtil
.
invokeMainDel
(
jsonObject
,
zqConfig
.
getAppKey
(),
zqConfig
.
get
ZqDel
Url
());
invokeUtil
.
invokeMainDel
(
jsonObject
,
zqConfig
.
getAppKey
(),
zqConfig
.
get
Receive
Url
());
}
}
...
...
@@ -477,10 +478,13 @@ public class DemandServiceImpl extends FlowAbstractImpl implements DemandService
// 下架主平台数据
if
(!
zqConfig
.
getIsMain
()
&&
StringUtils
.
isNotEmpty
(
mfDemand
.
getCrossPlatformApproveState
()))
{
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"zqSystemCode"
,
SysFuncCode
);
jsonObject
.
put
(
"guid"
,
vo
.
getGuid
());
jsonObject
.
put
(
"listingStatus"
,
vo
.
getListingStatus
());
invokeUtil
.
invokeMainDel
(
jsonObject
,
zqConfig
.
getAppKey
(),
zqConfig
.
getGroundingPickUrl
());
jsonObject
.
put
(
"bizCode"
,
SysFuncCode
);
jsonObject
.
put
(
"operation"
,
"SJ"
);
JSONObject
data
=
new
JSONObject
();
data
.
put
(
"guid"
,
vo
.
getGuid
());
data
.
put
(
"listingStatus"
,
vo
.
getListingStatus
());
jsonObject
.
put
(
"zqData"
,
data
);
invokeUtil
.
invokeMainDel
(
jsonObject
,
zqConfig
.
getAppKey
(),
zqConfig
.
getReceiveUrl
());
}
return
Boolean
.
TRUE
;
}
...
...
src/main/java/com/csbr/qingcloud/portal/service/impl/EnterpriseChangeApproveServiceImpl.java
View file @
c9932ab
...
...
@@ -298,10 +298,11 @@ public class EnterpriseChangeApproveServiceImpl implements EnterpriseChangeAppro
// 删除主平台数据
if
(!
zqConfig
.
getIsMain
()
&&
StringUtils
.
isNotEmpty
(
crossPlatformApproveState
))
{
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"zqSystemCode"
,
SysFuncCode
+
"BG"
);
jsonObject
.
put
(
"zqBizGuids"
,
JSON
.
toJSONString
(
guids
));
jsonObject
.
put
(
"bizCode"
,
SysFuncCode
+
"BG"
);
jsonObject
.
put
(
"operation"
,
"DEL"
);
jsonObject
.
put
(
"zqData"
,
JSON
.
toJSONString
(
guids
));
jsonObject
.
put
(
"isCollection"
,
true
);
invokeUtil
.
invokeMainDel
(
jsonObject
,
zqConfig
.
getAppKey
(),
zqConfig
.
get
ZqDel
Url
());
invokeUtil
.
invokeMainDel
(
jsonObject
,
zqConfig
.
getAppKey
(),
zqConfig
.
get
Receive
Url
());
}
// 删除流程数据
...
...
src/main/java/com/csbr/qingcloud/portal/service/impl/EnterpriseServiceImpl.java
View file @
c9932ab
...
...
@@ -421,10 +421,11 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris
// 删除主平台数据
if
(!
zqConfig
.
getIsMain
()
&&
StringUtils
.
isNotEmpty
(
crossPlatformApproveState
))
{
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"zqSystemCode"
,
SysFuncCode
);
jsonObject
.
put
(
"zqBizGuids"
,
JSON
.
toJSONString
(
guids
));
jsonObject
.
put
(
"bizCode"
,
SysFuncCode
);
jsonObject
.
put
(
"operation"
,
"DEL"
);
jsonObject
.
put
(
"zqData"
,
JSON
.
toJSONString
(
guids
));
jsonObject
.
put
(
"isCollection"
,
true
);
invokeUtil
.
invokeMainDel
(
jsonObject
,
zqConfig
.
getAppKey
(),
zqConfig
.
get
ZqDel
Url
());
invokeUtil
.
invokeMainDel
(
jsonObject
,
zqConfig
.
getAppKey
(),
zqConfig
.
get
Receive
Url
());
}
// 删除流程数据
...
...
src/main/java/com/csbr/qingcloud/portal/service/impl/TdsConnectorIdentityManagementServiceImpl.java
View file @
c9932ab
package
com
.
csbr
.
qingcloud
.
portal
.
service
.
impl
;
import
com.
baomidou.mybatisplus.core.conditions.Wrapper
;
import
com.
alibaba.fastjson.JSON
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.
conditions.update.LambdaUpdateWrapper
;
import
com.baomidou.mybatisplus.core.
toolkit.ObjectUtils
;
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
;
import
com.csbr.cloud.common.util.CsbrBeanUtil
;
import
com.csbr.cloud.workflow.util.ApprovalFlowUtil
;
import
com.csbr.cloud.workflow.util.FlowAbstractImpl
;
import
com.csbr.cloud.common.util.MessageSourceUtil
;
import
csbr.cloud.entity.domain.base.vo.PageListVO
;
import
com.csbr.cloud.workflow.domain.vo.appove.FlowRQBaseVO
;
import
com.csbr.cloud.workflow.domain.vo.appove.BizApproveVO
;
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
;
import
com.csbr.qingcloud.portal.domain.vo.TdsConnectorIdentityManagementQueryVO
;
import
com.csbr.qingcloud.portal.domain.vo.TdsConnectorIdentityManagementRQVO
;
import
com.csbr.qingcloud.portal.domain.vo.TdsConnectorIdentityManagementRSVO
;
import
com.csbr.qingcloud.portal.domain.vo.TdsConnectorIdentityManagementVoucherRQVO
;
import
com.csbr.qingcloud.portal.mybatis.entity.MfTdsConnectorIdentity
;
import
com.csbr.qingcloud.portal.mybatis.entity.MfTdsConnectorIdentityManagement
;
import
com.csbr.qingcloud.portal.mybatis.service.MfTdsConnectorIdentityManagementService
;
import
com.csbr.qingcloud.portal.service.TdsConnectorIdentityManagementService
;
import
com.csbr.qingcloud.portal.service.TdsConnectorIdentityService
;
import
csbr.cloud.entity.domain.base.vo.PageListVO
;
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
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
import
io.seata.spring.annotation.GlobalTransactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
/**
...
...
@@ -93,6 +93,10 @@ public class TdsConnectorIdentityManagementServiceImpl extends FlowAbstractImpl
LambdaQueryWrapper
<
MfTdsConnectorIdentityManagement
>
queryWrapper
=
mfTdsConnectorIdentityManagementService
.
csbrQueryWrapper
(
queryVO
,
MfTdsConnectorIdentityManagement
.
class
);
queryWrapper
.
in
(
CollectionUtils
.
isNotEmpty
(
queryVO
.
getGuidList
()),
MfTdsConnectorIdentityManagement:
:
getGuid
,
queryVO
.
getGuidList
());
if
(
StringUtils
.
isNotBlank
(
queryVO
.
getConName
())){
String
existsSql
=
"select guid from mf_tds_connector_identity a where a.guid=mf_tds_connector_identity_management.connector_guid and is_deleted='N' and is_change_data='N' and a.connector_name like '%"
+
queryVO
.
getConName
()+
"%'"
;
queryWrapper
.
exists
(
existsSql
);
}
queryWrapper
.
orderByDesc
(
MfTdsConnectorIdentityManagement:
:
getCreateTime
);
mfTdsConnectorIdentityManagementService
.
csbrExcludeShardingLambdaQueryWrapper
(
queryWrapper
);
PageListVO
<
MfTdsConnectorIdentityManagement
>
pageList
=
mfTdsConnectorIdentityManagementService
.
csbrPageList
(
queryVO
,
queryWrapper
);
...
...
@@ -122,6 +126,13 @@ public class TdsConnectorIdentityManagementServiceImpl extends FlowAbstractImpl
throw
new
CsbrSystemException
(
SystemError
.
DATA_NOT_EXISTS
,
messageSourceUtil
.
notExistsToSelectMessage
(
String
.
format
(
"获取%s详情数据"
,
FUNCTION_NAME
)));
}
TdsConnectorIdentityManagementRSVO
vo
=
convertToVO
(
entity
,
true
);
Map
<
String
,
MfTdsConnectorIdentity
>
connectorIdentityMap
=
tdsConnectorIdentityService
.
getCrossTenantTdsConnectorIdentitys
(
CommonUtil
.
filterSetFiled
(
Arrays
.
asList
(
entity
),
MfTdsConnectorIdentityManagement:
:
getConnectorGuid
));
if
(
ObjectUtils
.
isNotEmpty
(
connectorIdentityMap
)
&&
connectorIdentityMap
.
containsKey
(
entity
.
getConnectorGuid
())){
vo
.
setConnectorName
(
connectorIdentityMap
.
get
(
vo
.
getConnectorGuid
()).
getConnectorName
());
vo
.
setLegalEntity
(
connectorIdentityMap
.
get
(
vo
.
getConnectorGuid
()).
getLegalEntity
());
vo
.
setConnectorName
(
connectorIdentityMap
.
get
(
vo
.
getConnectorGuid
()).
getConnectorName
());
}
return
vo
;
}
...
...
@@ -140,7 +151,7 @@ public class TdsConnectorIdentityManagementServiceImpl extends FlowAbstractImpl
beforeSave
(
rqVO
);
MfTdsConnectorIdentityManagement
entity
=
convertToEntity
(
rqVO
);
// 发起审批流程或保存草稿
AddApprovalDTO
approvalDTO
=
getAddApprovalDTO
(
entity
);
AddApprovalDTO
approvalDTO
=
getAddApprovalDTO
(
entity
,
rqVO
);
super
.
startWorkFlow
(
rqVO
,
approvalDTO
,
entity:
:
setBizApproveState
);
// 业务数据保存
boolean
flag
=
mfTdsConnectorIdentityManagementService
.
save
(
entity
);
...
...
@@ -168,7 +179,7 @@ public class TdsConnectorIdentityManagementServiceImpl extends FlowAbstractImpl
beforeUpdate
(
rqVO
);
MfTdsConnectorIdentityManagement
entity
=
convertToEntity
(
rqVO
);
// 发起审批流程或保存草稿
AddApprovalDTO
approvalDTO
=
getAddApprovalDTO
(
entity
);
AddApprovalDTO
approvalDTO
=
getAddApprovalDTO
(
entity
,
rqVO
);
super
.
startOrRestartWorkFlow
(
rqVO
,
rqVO
.
getBizApproveState
(),
approvalDTO
,
entity:
:
setBizApproveState
);
if
(
rqVO
.
getIsRestart
())
{
// 重新提交
...
...
@@ -274,14 +285,23 @@ public class TdsConnectorIdentityManagementServiceImpl extends FlowAbstractImpl
mfTdsConnectorIdentityManagementService
.
updateById
(
entity
);
}
@Override
public
void
crossFlowCallBack
(
BizCallbackDTO
dto
)
{
MfTdsConnectorIdentityManagement
entity
=
mfTdsConnectorIdentityManagementService
.
getById
(
dto
.
getBizGuid
());
entity
.
setBizApproveState
(
dto
.
getApprovalState
());
entity
.
setCrossPlatformApproveState
(
dto
.
getApprovalState
());
mfTdsConnectorIdentityManagementService
.
updateById
(
entity
);
}
/**
* 获取发起流程参数
* @author xup
* @date 2025-09-23 17:35
* @param entity
* @param rqVO
* @return com.csbr.cloud.workflow.domain.dto.appove.AddApprovalDTO
*/
private
AddApprovalDTO
getAddApprovalDTO
(
MfTdsConnectorIdentityManagement
entity
)
{
private
AddApprovalDTO
getAddApprovalDTO
(
MfTdsConnectorIdentityManagement
entity
,
TdsConnectorIdentityManagementRQVO
rqVO
)
{
AddApprovalDTO
approvalDTO
=
new
AddApprovalDTO
(
FLOW_TYPE
,
entity
.
getGuid
());
// todo
approvalDTO
.
setFuncCode
(
SysFuncCode
);
...
...
@@ -293,6 +313,9 @@ public class TdsConnectorIdentityManagementServiceImpl extends FlowAbstractImpl
approvalDTO
.
setParam3
(
null
);
approvalDTO
.
setParam4
(
null
);
// 增加跨服务审批字段
rqVO
.
setGuid
(
entity
.
getGuid
());
approvalDTO
.
setBizData
(
JSON
.
toJSONString
(
rqVO
));
return
approvalDTO
;
}
...
...
@@ -352,13 +375,14 @@ public class TdsConnectorIdentityManagementServiceImpl extends FlowAbstractImpl
if
(
StringUtils
.
isNotBlank
(
rqVO
.
getGuid
())){
queryWrapper
.
ne
(
MfTdsConnectorIdentityManagement:
:
getGuid
,
rqVO
.
getGuid
());
}
//排除驳回、撤回的数据
queryWrapper
.
notIn
(
MfTdsConnectorIdentityManagement:
:
getBizApproveState
,
ApprovalStateEnum
.
CANCEL
.
getValue
(),
ApprovalStateEnum
.
REJECT
.
getValue
());
//根据使用场景查询
queryWrapper
.
eq
(
MfTdsConnectorIdentityManagement:
:
getConnectorGuid
,
rqVO
.
getConnectorGuid
());
queryWrapper
.
eq
(
MfTdsConnectorIdentityManagement:
:
getUseScenariosCode
,
rqVO
.
getUseScenariosCode
());
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
//期望效期有效的
queryWrapper
.
gt
(
MfTdsConnectorIdentityManagement:
:
getExpirationTime
,
new
Date
());
queryWrapper
.
ge
(
MfTdsConnectorIdentityManagement:
:
getExpirationTime
,
sdf
.
format
(
new
Date
()));
//排除驳回、撤回的数据
queryWrapper
.
and
(
wraper
->
wraper
.
apply
(
"ifnull(cross_platform_approve_state,biz_approve_state) in ('A','Y')"
));
if
(
mfTdsConnectorIdentityManagementService
.
count
(
queryWrapper
)>
0
){
throw
new
CsbrSystemException
(
SystemError
.
DATA_ALREADY_EXISTS
,
"该连接器的使用场景已经存在。"
);
}
...
...
@@ -509,29 +533,29 @@ public class TdsConnectorIdentityManagementServiceImpl extends FlowAbstractImpl
* @return void
*/
private
void
afterQuery
(
PageListVO
<
MfTdsConnectorIdentityManagement
>
pageList
,
PageListVO
<
TdsConnectorIdentityManagementRSVO
>
rsPageList
)
{
if
(
CollectionUtils
.
isNotEmpty
(
pageList
.
getRecords
()))
{
rsPageList
.
setRecords
(
convertToVO
(
pageList
.
getRecords
()));
}
// 需要特殊处理数据时使用
// 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);
// if (CollectionUtils.isNotEmpty(pageList.getRecords())) {
// rsPageList.setRecords(convertToVO(pageList.getRecords()));
// }
// 需要特殊处理数据时使用
if
(
CollectionUtils
.
isNotEmpty
(
pageList
.
getRecords
())){
List
<
TdsConnectorIdentityManagementRSVO
>
results
=
new
ArrayList
<>();
Map
<
String
,
BizApproveVO
>
approvalInfoMap
=
approvalFlowUtil
.
getApprovalCrossTenantInfoMap
(
CommonUtil
.
filterSetFiled
(
pageList
.
getRecords
(),
MfTdsConnectorIdentityManagement:
:
getGuid
));
Map
<
String
,
MfTdsConnectorIdentity
>
connectorIdentityMap
=
tdsConnectorIdentityService
.
getCrossTenantTdsConnectorIdentitys
(
CommonUtil
.
filterSetFiled
(
pageList
.
getRecords
(),
MfTdsConnectorIdentityManagement:
:
getConnectorGuid
));
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
(
vo
.
getConnectorGuid
()))
{
vo
.
setConnectorName
(
connectorIdentityMap
.
get
(
vo
.
getConnectorGuid
()).
getConnectorName
());
vo
.
setLegalEntity
(
connectorIdentityMap
.
get
(
vo
.
getConnectorGuid
()).
getLegalEntity
());
vo
.
setConnectorName
(
connectorIdentityMap
.
get
(
vo
.
getConnectorGuid
()).
getConnectorName
());
}
results
.
add
(
vo
);
}
rsPageList
.
setRecords
(
results
);
}
}
//region 辅助操作
...
...
src/main/java/com/csbr/qingcloud/portal/service/impl/TdsConnectorIdentityServiceImpl.java
View file @
c9932ab
package
com
.
csbr
.
qingcloud
.
portal
.
service
.
impl
;
import
com.alibaba.fastjson.JSON
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.csbr.cloud.common.enums.SystemError
;
...
...
@@ -19,11 +20,15 @@ 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
;
import
com.csbr.qingcloud.portal.util.IdentificationCodeUtil
;
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.domain.user.UserInfo
;
import
csbr.cloud.entity.enums.ApprovalStateEnum
;
import
csbr.cloud.entity.utils.UserContextHolder
;
import
io.seata.spring.annotation.GlobalTransactional
;
import
jakarta.annotation.Resource
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections.CollectionUtils
;
...
...
@@ -142,17 +147,22 @@ public class TdsConnectorIdentityServiceImpl extends FlowAbstractImpl implements
* @param flowBaseVO
* @return boolean
*/
//
@GlobalTransactional(rollbackFor = Exception.class)
@Transactional
(
rollbackFor
=
Exception
.
class
)
@GlobalTransactional
(
rollbackFor
=
Exception
.
class
)
//
@Transactional(rollbackFor = Exception.class)
@Override
public
void
saveTdsConnectorIdentity
(
FlowRQBaseVO
flowBaseVO
)
{
TdsConnectorIdentityRQVO
rqVO
=
(
TdsConnectorIdentityRQVO
)
flowBaseVO
;
beforeSave
(
rqVO
);
MfTdsConnectorIdentity
entity
=
convertToEntity
(
rqVO
);
rqVO
.
setGuid
(
entity
.
getGuid
());
if
(
StringUtils
.
isBlank
(
rqVO
.
getSourceBizGuid
())
&&
StringUtils
.
isBlank
(
rqVO
.
getConnectorIdentity
())
&&
flowBaseVO
.
getImmediateApprove
())
{
entity
.
setConnectorIdentity
(
IdentificationCodeUtil
.
genConnectorCode
(
entity
.
getLegalSocialCreditCode
(),
IdentificationCodeUtil
.
medIndustry
));
}
mfTdsConnectorIdentityService
.
csbrAddEntity
(
entity
);
// 发起审批流程或保存草稿
AddApprovalDTO
approvalDTO
=
getAddApprovalDTO
(
entity
);
AddApprovalDTO
approvalDTO
=
getAddApprovalDTO
(
entity
,
rqVO
);
super
.
startWorkFlow
(
rqVO
,
approvalDTO
,
entity:
:
setBizApproveState
);
boolean
flag
=
mfTdsConnectorIdentityService
.
save
(
entity
);
if
(!
flag
)
{
...
...
@@ -166,11 +176,16 @@ public class TdsConnectorIdentityServiceImpl extends FlowAbstractImpl implements
* @author xup
* @date 2024-12-30 13:43
* @param entity
* @param rqVO
* @return com.csbr.cloud.workflow.domain.dto.appove.AddApprovalDTO
*/
private
AddApprovalDTO
getAddApprovalDTO
(
MfTdsConnectorIdentity
entity
)
{
private
AddApprovalDTO
getAddApprovalDTO
(
MfTdsConnectorIdentity
entity
,
TdsConnectorIdentityRQVO
rqVO
)
{
AddApprovalDTO
approvalDTO
=
new
AddApprovalDTO
(
FLOW_TYPE
,
entity
.
getGuid
());
if
(
StringUtils
.
isBlank
(
rqVO
.
getFuncCode
()))
{
approvalDTO
.
setFuncCode
(
SysFuncCode
);
}
else
{
approvalDTO
.
setFuncCode
(
rqVO
.
getFuncCode
());
}
// 流程消息中的变量替换参数
String
msParam
=
String
.
format
(
"%s,%s"
,
bizCommonRedisUtil
.
getTenantName
(
entity
.
getTenantGuid
()),
null
);
approvalDTO
.
setFlowMessageBody
(
msParam
);
...
...
@@ -182,6 +197,10 @@ public class TdsConnectorIdentityServiceImpl extends FlowAbstractImpl implements
approvalDTO
.
setParam3
(
null
);
approvalDTO
.
setParam4
(
null
);
// 增加跨服务审批字段
rqVO
.
setGuid
(
entity
.
getGuid
());
approvalDTO
.
setBizData
(
JSON
.
toJSONString
(
rqVO
));
return
approvalDTO
;
}
...
...
@@ -192,7 +211,7 @@ public class TdsConnectorIdentityServiceImpl extends FlowAbstractImpl implements
* @param flowBaseVO
* @return boolean
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
@
Global
Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
void
updateTdsConnectorIdentity
(
FlowRQBaseVO
flowBaseVO
)
{
// 将修改前数据查出来缓存下来,传入到修改后方法中,用于一些特殊逻辑处理,如某个值变化才进行
...
...
@@ -201,9 +220,14 @@ public class TdsConnectorIdentityServiceImpl extends FlowAbstractImpl implements
beforeUpdate
(
rqVO
);
MfTdsConnectorIdentity
oldEntity
=
mfTdsConnectorIdentityService
.
getById
(
rqVO
.
getGuid
());
MfTdsConnectorIdentity
entity
=
convertToEntity
(
rqVO
);
rqVO
.
setConnectorIdentity
(
oldEntity
.
getConnectorIdentity
());
if
(
"N"
.
equals
(
oldEntity
.
getIsChangeData
())
&&
StringUtils
.
isBlank
(
oldEntity
.
getConnectorIdentity
())
&&
flowBaseVO
.
getImmediateApprove
())
{
entity
.
setConnectorIdentity
(
IdentificationCodeUtil
.
genConnectorCode
(
entity
.
getLegalSocialCreditCode
(),
IdentificationCodeUtil
.
medIndustry
));
}
mfTdsConnectorIdentityService
.
csbrUpdateEntity
(
entity
);
// 发起审批流程或保存草稿
AddApprovalDTO
approvalDTO
=
getAddApprovalDTO
(
entity
);
AddApprovalDTO
approvalDTO
=
getAddApprovalDTO
(
entity
,
rqVO
);
super
.
restartWorkFlow
(
rqVO
,
oldEntity
.
getBizApproveState
(),
approvalDTO
,
this
::
saveTdsConnectorIdentity
,
entity:
:
setBizApproveState
);
boolean
flag
=
mfTdsConnectorIdentityService
.
updateById
(
entity
);
if
(!
flag
)
{
...
...
@@ -271,14 +295,68 @@ public class TdsConnectorIdentityServiceImpl extends FlowAbstractImpl implements
if
(
entity
==
null
)
{
throw
new
CsbrSystemException
(
SystemError
.
DATA_NOT_EXISTS
,
messageSourceUtil
.
notExistsToSelectMessage
(
FUNCTION_NAME
));
}
if
(
ApprovalStateEnum
.
REJECT
.
getValue
().
equals
(
bizApproveVO
.
getApprovalState
())
||
ApprovalStateEnum
.
CANCEL
.
getValue
().
equals
(
bizApproveVO
.
getApprovalState
()))
{
if
(
"Y"
.
equals
(
entity
.
getIsChangeData
()))
{
MfTdsConnectorIdentity
sourceEntity
=
mfTdsConnectorIdentityService
.
getById
(
entity
.
getSourceBizGuid
());
sourceEntity
.
setBizApproveState
(
ApprovalStateEnum
.
PASSED
.
getValue
());
mfTdsConnectorIdentityService
.
updateById
(
sourceEntity
);
}
}
//主平台审批通过更新数据
if
(
"MAIN"
.
equals
(
platformType
))
{
if
(
ApprovalStateEnum
.
PASSED
.
getValue
().
equals
(
bizApproveVO
.
getApprovalState
())){
changSourceConnectorInentity
(
entity
);
}
}
// 同步更新审批状态
entity
.
setBizApproveState
(
bizApproveVO
.
getApprovalState
());
mfTdsConnectorIdentityService
.
updateById
(
entity
);
}
@Transactional
public
void
changSourceConnectorInentity
(
MfTdsConnectorIdentity
entity
)
{
TdsConnectorIdentityRSVO
tdsConnectorIdentityDetail
=
getTdsConnectorIdentityDetail
(
entity
.
getGuid
());
String
sourceBizGuid
=
entity
.
getSourceBizGuid
();
TdsConnectorIdentityRSVO
oldIdentityDetail
=
getTdsConnectorIdentityDetail
(
sourceBizGuid
);
MfTdsConnectorIdentity
mfTdsConnectorIdentity
=
csbrBeanUtil
.
convert
(
tdsConnectorIdentityDetail
,
MfTdsConnectorIdentity
.
class
);
mfTdsConnectorIdentity
.
setGuid
(
oldIdentityDetail
.
getGuid
());
mfTdsConnectorIdentity
.
setBizApproveState
(
ApprovalStateEnum
.
PASSED
.
getValue
());
mfTdsConnectorIdentity
.
setCreateTime
(
null
);
mfTdsConnectorIdentity
.
setIsChangeData
(
"N"
);
mfTdsConnectorIdentityService
.
updateById
(
mfTdsConnectorIdentity
);
TdsConnectorAdditionalRSVO
tdsConnectorAdditional
=
tdsConnectorIdentityDetail
.
getTdsConnectorAdditional
();
if
(
ObjectUtils
.
isEmpty
(
tdsConnectorAdditional
)){
tdsConnectorAdditionalService
.
removeByConnectorGuids
(
Arrays
.
asList
(
sourceBizGuid
));
}
else
{
TdsConnectorAdditionalRQVO
connectorAdditionalRQVO
=
csbrBeanUtil
.
convert
(
tdsConnectorAdditional
,
TdsConnectorAdditionalRQVO
.
class
);
connectorAdditionalRQVO
.
setConnectorGuid
(
sourceBizGuid
);
if
(
ObjectUtils
.
isEmpty
(
oldIdentityDetail
.
getTdsConnectorAdditional
()))
{
tdsConnectorAdditionalService
.
saveTdsConnectorAdditional
(
connectorAdditionalRQVO
);
}
else
{
connectorAdditionalRQVO
.
setGuid
(
oldIdentityDetail
.
getTdsConnectorAdditional
().
getGuid
());
tdsConnectorAdditionalService
.
updateTdsConnectorAdditional
(
connectorAdditionalRQVO
);
}
}
TdsConnectorVerifiableRSVO
tdsConnectorVerifiable
=
tdsConnectorIdentityDetail
.
getTdsConnectorVerifiable
();
if
(
ObjectUtils
.
isEmpty
(
tdsConnectorVerifiable
)){
tdsConnectorVerifiableService
.
removeByConnectorGuids
(
Arrays
.
asList
(
sourceBizGuid
));
}
else
{
TdsConnectorVerifiableRQVO
tdsConnectorVerifiableRQVO
=
csbrBeanUtil
.
convert
(
tdsConnectorVerifiable
,
TdsConnectorVerifiableRQVO
.
class
);
tdsConnectorVerifiableRQVO
.
setConnectorGuid
(
sourceBizGuid
);
if
(
ObjectUtils
.
isEmpty
(
oldIdentityDetail
.
getTdsConnectorVerifiable
()))
{
tdsConnectorVerifiableService
.
saveTdsConnectorVerifiable
(
tdsConnectorVerifiableRQVO
);
}
else
{
tdsConnectorVerifiableRQVO
.
setGuid
(
oldIdentityDetail
.
getTdsConnectorVerifiable
().
getGuid
());
tdsConnectorVerifiableService
.
updateTdsConnectorVerifiable
(
tdsConnectorVerifiableRQVO
);
}
}
}
@Override
public
TdsConnectorIdentityRSVO
getEffectiveConnector
()
{
LambdaQueryWrapper
<
MfTdsConnectorIdentity
>
queryWrapper
=
Wrappers
.
lambdaQuery
();
queryWrapper
.
eq
(
MfTdsConnectorIdentity:
:
getIsChangeData
,
"N"
);
queryWrapper
.
eq
(
MfTdsConnectorIdentity:
:
getBizApproveState
,
ApprovalStateEnum
.
PASSED
.
getValue
());
List
<
MfTdsConnectorIdentity
>
list
=
mfTdsConnectorIdentityService
.
list
(
queryWrapper
);
if
(
ObjectUtils
.
isNotEmpty
(
list
)){
...
...
@@ -330,7 +408,7 @@ public class TdsConnectorIdentityServiceImpl extends FlowAbstractImpl implements
//region 2.2.业务数据验证
//验证接入连接器名称唯一性
if
(
"ZQ"
.
equals
(
platformType
))
{
if
(
verifyUniqueness
(
rqVO
)){
if
(
verifyUniqueness
(
rqVO
)
&&
StringUtils
.
isBlank
(
rqVO
.
getSourceBizGuid
())
){
throw
new
CsbrSystemException
(
SystemError
.
DATA_ALREADY_EXISTS
,
"该企业下已经存在连接器,无法新增。"
);
}
}
...
...
@@ -366,10 +444,112 @@ public class TdsConnectorIdentityServiceImpl extends FlowAbstractImpl implements
public
Boolean
verifyUniqueness
(
TdsConnectorIdentityRQVO
rqVO
)
{
//1、验证是否已经存在连接器
LambdaQueryWrapper
<
MfTdsConnectorIdentity
>
queryWrapper
=
Wrappers
.
lambdaQuery
();
queryWrapper
.
eq
(
MfTdsConnectorIdentity:
:
getIsChangeData
,
"N"
);
queryWrapper
.
notIn
(
MfTdsConnectorIdentity:
:
getBizApproveState
,
ApprovalStateEnum
.
CANCEL
.
getValue
(),
ApprovalStateEnum
.
REJECT
.
getValue
(),
ApprovalStateEnum
.
DISABLE
.
getValue
());
return
mfTdsConnectorIdentityService
.
count
(
queryWrapper
)>
0
;
}
@Override
@GlobalTransactional
public
void
changeSaveTdsConnectorIdentity
(
FlowRQBaseVO
flowBaseVO
)
{
TdsConnectorIdentityRQVO
rqVO
=
(
TdsConnectorIdentityRQVO
)
flowBaseVO
;
String
guid
=
rqVO
.
getGuid
();
MfTdsConnectorIdentity
oldTdsConnectorIdentity
=
beforeChangeSaveTdsConnectorIdentity
(
rqVO
);
//发起连接器入住申请
rqVO
.
setIsChangeData
(
"Y"
);
rqVO
.
setFuncCode
(
SysFuncCode
+
"BG"
);
saveTdsConnectorIdentity
(
rqVO
);
afterChangeSaveTdsConnectorIdentity
(
guid
,
oldTdsConnectorIdentity
,
rqVO
.
getIsRestart
());
}
@Override
public
TdsConnectorIdentityRSVO
checkConnector
()
{
LambdaQueryWrapper
<
MfTdsConnectorIdentity
>
queryWrapper
=
Wrappers
.
lambdaQuery
();
queryWrapper
.
eq
(
MfTdsConnectorIdentity:
:
getIsChangeData
,
"N"
);
queryWrapper
.
notIn
(
MfTdsConnectorIdentity:
:
getBizApproveState
,
ApprovalStateEnum
.
CANCEL
.
getValue
(),
ApprovalStateEnum
.
REJECT
.
getValue
(),
ApprovalStateEnum
.
DISABLE
.
getValue
());
queryWrapper
.
select
(
MfTdsConnectorIdentity:
:
getGuid
,
MfTdsConnectorIdentity:
:
getBizApproveState
,
MfTdsConnectorIdentity:
:
getCrossPlatformApproveState
,
MfTdsConnectorIdentity:
:
getConnectorName
);
List
<
MfTdsConnectorIdentity
>
list
=
mfTdsConnectorIdentityService
.
list
(
queryWrapper
);
if
(
ObjectUtils
.
isEmpty
(
list
)){
return
null
;
}
return
convertToVO
(
list
.
get
(
0
));
}
@Override
public
void
crossFlowCallBack
(
BizCallbackDTO
dto
)
{
MfTdsConnectorIdentity
entity
=
mfTdsConnectorIdentityService
.
getById
(
dto
.
getBizGuid
());
entity
.
setBizApproveState
(
dto
.
getApprovalState
());
entity
.
setCrossPlatformApproveState
(
dto
.
getApprovalState
());
mfTdsConnectorIdentityService
.
updateById
(
entity
);
UserInfo
userInfo
=
UserContextHolder
.
get
();
userInfo
.
setCurrentTenantGuid
(
entity
.
getTenantGuid
());
UserContextHolder
.
set
(
userInfo
);
//如果是变更数据需要更新原来数据信息
//审批通过
if
(
ApprovalStateEnum
.
PASSED
.
getValue
().
equals
(
dto
.
getApprovalState
())){
if
(
"Y"
.
equals
(
entity
.
getIsChangeData
()))
{
changSourceConnectorInentity
(
entity
);
}
}
//驳回和撤销是,修改原来数据状态
if
(
ApprovalStateEnum
.
REJECT
.
getValue
().
equals
(
dto
.
getApprovalState
())
||
ApprovalStateEnum
.
CANCEL
.
getValue
().
equals
(
dto
.
getApprovalState
()))
{
if
(
"Y"
.
equals
(
entity
.
getIsChangeData
()))
{
MfTdsConnectorIdentity
sourceEntity
=
mfTdsConnectorIdentityService
.
getById
(
entity
.
getSourceBizGuid
());
sourceEntity
.
setBizApproveState
(
ApprovalStateEnum
.
PASSED
.
getValue
());
mfTdsConnectorIdentityService
.
updateById
(
sourceEntity
);
}
}
}
@Override
public
MfTdsConnectorIdentity
getTdsConnectorIdentityById
(
String
guid
)
{
return
mfTdsConnectorIdentityService
.
getById
(
guid
);
}
@Transactional
public
void
afterChangeSaveTdsConnectorIdentity
(
String
guid
,
MfTdsConnectorIdentity
oldTdsConnectorIdentity
,
Boolean
isRestart
)
{
//修改变更前数据状态为已废弃
oldTdsConnectorIdentity
.
setBizApproveState
(
"B"
);
mfTdsConnectorIdentityService
.
updateById
(
oldTdsConnectorIdentity
);
//如果是重新提交,需要作废数据
if
(
isRestart
){
final
MfTdsConnectorIdentity
mfTdsConnectorIdentity
=
mfTdsConnectorIdentityService
.
getById
(
guid
);
mfTdsConnectorIdentity
.
setBizApproveState
(
"D"
);
mfTdsConnectorIdentityService
.
updateById
(
mfTdsConnectorIdentity
);
}
}
/**
* 变更申请校验
* @param rqVO
*/
private
MfTdsConnectorIdentity
beforeChangeSaveTdsConnectorIdentity
(
TdsConnectorIdentityRQVO
rqVO
)
{
//region 1.输入基础验证
if
(
ObjectUtils
.
isEmpty
(
rqVO
)){
throw
new
CsbrSystemException
(
SystemError
.
DATA_INPUT_ERROR
,
String
.
format
(
"%s参数为空。"
,
FUNCTION_NAME
));
}
if
(
StringUtils
.
isBlank
(
rqVO
.
getSourceBizGuid
())){
throw
new
CsbrSystemException
(
SystemError
.
DATA_INPUT_ERROR
,
String
.
format
(
"%s参数为空。"
,
"原始数据Guid"
));
}
String
message
=
validatorUtil
.
validateRetrunOne
(
rqVO
);
if
(
StringUtils
.
isNotBlank
(
message
)){
throw
new
CsbrSystemException
(
SystemError
.
DATA_INPUT_ERROR
,
message
);
}
MfTdsConnectorIdentity
tdsConnectorIdentity
=
mfTdsConnectorIdentityService
.
getById
(
rqVO
.
getSourceBizGuid
());
if
(
ObjectUtils
.
isEmpty
(
tdsConnectorIdentity
)){
throw
new
CsbrSystemException
(
SystemError
.
DATA_NOT_EXISTS
,
"变更数据不存在。"
);
}
//置空Guid
rqVO
.
setGuid
(
null
);
rqVO
.
setConnectorIdentity
(
tdsConnectorIdentity
.
getConnectorIdentity
());
rqVO
.
getTdsConnectorAdditional
().
setGuid
(
null
);
rqVO
.
getTdsConnectorVerifiable
().
setGuid
(
null
);
return
tdsConnectorIdentity
;
}
/**
* 连接器身份信息新增后置处理
* @author xup
...
...
@@ -382,11 +562,13 @@ public class TdsConnectorIdentityServiceImpl extends FlowAbstractImpl implements
//region 1.1.输出过滤与补充处理
if
(
ObjectUtils
.
isNotEmpty
(
rqVO
.
getTdsConnectorAdditional
())){
rqVO
.
getTdsConnectorAdditional
().
setGuid
(
null
);
rqVO
.
getTdsConnectorAdditional
().
setConnectorGuid
(
rqVO
.
getGuid
());
rqVO
.
getTdsConnectorAdditional
().
setBizApproveState
(
rqVO
.
getBizApproveState
());
tdsConnectorAdditionalService
.
saveTdsConnectorAdditional
(
rqVO
.
getTdsConnectorAdditional
());
}
if
(
ObjectUtils
.
isNotEmpty
(
rqVO
.
getTdsConnectorVerifiable
())){
rqVO
.
getTdsConnectorVerifiable
().
setGuid
(
null
);
rqVO
.
getTdsConnectorVerifiable
().
setConnectorGuid
(
rqVO
.
getGuid
());
rqVO
.
getTdsConnectorAdditional
().
setConnectorGuid
(
rqVO
.
getBizApproveState
());
tdsConnectorVerifiableService
.
saveTdsConnectorVerifiable
(
rqVO
.
getTdsConnectorVerifiable
());
...
...
@@ -427,9 +609,11 @@ public class TdsConnectorIdentityServiceImpl extends FlowAbstractImpl implements
//endregion 2.1.业务合规性验证
//region 2.2.业务数据验证
if
(!
mfTdsConnectorIdentityService
.
isExistsData
(
Collections
.
singletonList
(
rqVO
.
getGuid
()),
MfTdsConnectorIdentity
.
class
))
{
MfTdsConnectorIdentity
mfTdsConnectorIdentity
=
mfTdsConnectorIdentityService
.
getById
(
rqVO
.
getGuid
());
if
(
ObjectUtils
.
isEmpty
(
mfTdsConnectorIdentity
))
{
throw
new
CsbrSystemException
(
SystemError
.
DATA_DEL_ERROR
,
messageSourceUtil
.
notExistsToUpdateMessage
(
FUNCTION_NAME
));
}
rqVO
.
setBizApproveState
(
mfTdsConnectorIdentity
.
getBizApproveState
());
//endregion 2.2.业务数据验证
//endregion 2.数据验证特殊处理
...
...
src/main/java/com/csbr/qingcloud/portal/util/IdentificationCodeUtil.java
View file @
c9932ab
...
...
@@ -13,6 +13,7 @@ public class IdentificationCodeUtil {
private
static
final
String
CHARACTERS
=
"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
;
private
static
SecureRandom
random
=
new
SecureRandom
();
public
static
final
String
medIndustry
=
"0084"
;
/**
...
...
src/main/java/com/csbr/qingcloud/portal/util/ZQConfig.java
View file @
c9932ab
...
...
@@ -21,9 +21,7 @@ public class ZQConfig {
private
String
zqName
=
""
;
private
String
zqDelUrl
=
""
;
private
String
groundingPickUrl
=
""
;
private
String
receiveUrl
=
""
;
private
Boolean
isMain
=
false
;
...
...
src/main/resources/release-test/bootstrap.yml
View file @
c9932ab
...
...
@@ -50,3 +50,7 @@ management:
feign
:
sentinel
:
enabled
:
true
csbr
:
# 平台类型:ENTERPRISE,ZQ,MAIN
platform-type
:
MAIN
\ No newline at end of file
...
...
src/main/resources/release-test/lt/bootstrap.yml
View file @
c9932ab
...
...
@@ -50,3 +50,7 @@ management:
feign
:
sentinel
:
enabled
:
true
csbr
:
# 平台类型:ENTERPRISE,ZQ,MAIN
platform-type
:
MAIN
\ No newline at end of file
...
...
src/main/resources/zq-release/lt/bootstrap.yml
View file @
c9932ab
...
...
@@ -50,3 +50,6 @@ management:
feign
:
sentinel
:
enabled
:
true
csbr
:
# 平台类型:ENTERPRISE,ZQ,MAIN
platform-type
:
ZQ
\ No newline at end of file
...
...
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