c9932ab1 by xiaojie

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

2 parents 35a082a5 7aa2a0e0
Showing 28 changed files with 209 additions and 38 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());
}
// 删除流程数据
......
......@@ -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!