c9932ab1 by xiaojie

Merge branch 'develop' into feature-dataPort-v1.0.0

2 parents 35a082a5 7aa2a0e0
Showing 28 changed files with 468 additions and 89 deletions
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) {
tdsConnectorIdentityService.updateTdsConnectorIdentity(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
......
......@@ -93,6 +93,14 @@ public class TdsConnectorIdentityManagementController {
tdsConnectorIdentityManagementService.updateVoucher(rqVO);
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
......
......@@ -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="北京传世博润科技有限公司";
/******** 库表存储属性 需处理 *****/
/******** 自定义扩展 *****/
......
......@@ -36,7 +36,7 @@ public class TdsConnectorAdditionalRQVO {
@Schema(description = "可验证身份签发单位")
@Size(max = 100, message = "可验证身份签发单位长度超过100")
// @NotBlank(message = "可验证身份签发单位为空。")
private String identityIssuingUnit;
private String trustedIdentityCredentialUnit;
/**
* 供应商名称
......
......@@ -37,7 +37,7 @@ public class TdsConnectorAdditionalRSVO {
* 可验证身份签发单位
*/
@Schema(description = "可验证身份签发单位")
private String identityIssuingUnit;
private String trustedIdentityCredentialUnit;
/**
* 供应商名称
......
......@@ -37,5 +37,11 @@ public class TdsConnectorIdentityManagementQueryVO extends FlowBizGuidQueryDTO {
*/
@Schema(description = "是否调用查询的判断", hidden = true)
private Boolean isNeedQuery;
/**
* 连接器名称
*/
@Schema(description = "连接器名称")
private String conName;
}
......
......@@ -90,6 +90,9 @@ public class TdsConnectorIdentityManagementRQVO extends FlowRQBaseVO {
*/
@Schema(description = "业务审批状态")
private String bizApproveState;
@Schema(title = "节点名称")
private String zqName;
/******** 库表存储属性 需处理 *****/
......
......@@ -105,6 +105,9 @@ public class TdsConnectorIdentityManagementRSVO extends BaseVO {
@Schema(title = "跨平台审批状态(N 初始 A 审批中 Y 已通过 R 驳回 C 已撤销)")
private String crossPlatformApproveState;
@Schema(title = "节点名称")
private String zqName;
/******** 库表存储属性 需处理 *****/
......
......@@ -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;
/**
* 凭证颁发日期
......@@ -97,6 +98,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;
/******** 库表存储属性 需处理 *****/
......
......@@ -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;
......@@ -66,13 +67,13 @@ public class TdsConnectorIdentityRSVO extends BaseVO {
*/
@Schema(description = "所属法人或其他组织统一社会信用代码")
private String legalSocialCreditCode;
/**
* 可信身份凭证
*/
@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;
/******** 库表存储属性 需处理 *****/
/******** 自定义扩展 *****/
......
......@@ -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;
/**
......
......@@ -38,6 +38,12 @@ public class TenantRQVO extends CsbrBaseVO {
private String tenantName;
/**
* 统一社会信用代码
*/
@Schema(description = "统一社会信用代码")
private String socialCreditCode;
/**
* 公司简称
*/
@Schema(description = "公司简称")
......
......@@ -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;
}
......
......@@ -32,7 +32,7 @@ public class MfTdsConnectorAdditional extends BaseShardingDO {
* 可验证身份签发单位
*/
@Name("可验证身份签发单位")
private String identityIssuingUnit;
private String trustedIdentityCredentialUnit;
/**
* 供应商名称
......
......@@ -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;
}
......
......@@ -96,4 +96,7 @@ public class MfTdsConnectorIdentityManagement extends BaseShardingDO {
@Name("所属法人或其他组织名称")
private String legalEntity;
@Name("节点名称")
private String zqName;
}
......
......@@ -76,4 +76,6 @@ public interface TdsConnectorIdentityManagementService {
* @param rqVO
*/
void updateVoucher(TdsConnectorIdentityManagementVoucherRQVO rqVO);
void crossFlowCallBack(BizCallbackDTO dto);
}
......
......@@ -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);
}
......
......@@ -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.getZqDelUrl());
invokeUtil.invokeMainDel(jsonObject, zqConfig.getAppKey(), zqConfig.getReceiveUrl());
}
}
......@@ -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;
}
......
......@@ -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.getZqDelUrl());
invokeUtil.invokeMainDel(jsonObject, zqConfig.getAppKey(), zqConfig.getReceiveUrl());
}
// 删除流程数据
......
......@@ -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.getZqDelUrl());
invokeUtil.invokeMainDel(jsonObject, zqConfig.getAppKey(), zqConfig.getReceiveUrl());
}
// 删除流程数据
......
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 辅助操作
......
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());
approvalDTO.setFuncCode(SysFuncCode);
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)
@GlobalTransactional(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.数据验证特殊处理
......
......@@ -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";
/**
......
......@@ -21,9 +21,7 @@ public class ZQConfig {
private String zqName = "";
private String zqDelUrl = "";
private String groundingPickUrl = "";
private String receiveUrl = "";
private Boolean isMain = false;
......
......@@ -49,4 +49,8 @@ management:
enabled: false
feign:
sentinel:
enabled: true
\ No newline at end of file
enabled: true
csbr:
# 平台类型:ENTERPRISE,ZQ,MAIN
platform-type: MAIN
\ No newline at end of file
......
......@@ -49,4 +49,8 @@ management:
enabled: false
feign:
sentinel:
enabled: true
\ No newline at end of file
enabled: true
csbr:
# 平台类型:ENTERPRISE,ZQ,MAIN
platform-type: MAIN
\ No newline at end of file
......
......@@ -49,4 +49,7 @@ management:
enabled: false
feign:
sentinel:
enabled: true
\ No newline at end of file
enabled: true
csbr:
# 平台类型:ENTERPRISE,ZQ,MAIN
platform-type: ZQ
\ No newline at end of file
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!