393f021f by xu

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

Feature data port v1.0.0

See merge request !20
2 parents 1af5d0c4 d9e1300e
Showing 20 changed files with 529 additions and 6 deletions
......@@ -52,6 +52,11 @@
<version>${cabr-package.version}</version>
</dependency>
<dependency>
<groupId>com.csbr.qingcloud</groupId>
<artifactId>csbr-cloud-external</artifactId>
<version>${cabr-package.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-undertow</artifactId>
</dependency>
......
......@@ -2,11 +2,11 @@ package com.csbr.qingcloud.portal.controller;
import com.csbr.cloud.common.entity.CsbrUpdate;
import com.csbr.cloud.common.response.CommonRes;
import com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO;
import com.csbr.qingcloud.portal.domain.vo.*;
import com.csbr.qingcloud.portal.service.DemandService;
import csbr.cloud.entity.annotation.SystemLog;
import csbr.cloud.entity.domain.base.vo.PageListVO;
import com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO;
import com.csbr.qingcloud.portal.service.DemandService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
......
......@@ -4,6 +4,7 @@ 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.domain.vo.ConnectorIdentityRQVO;
import com.csbr.qingcloud.portal.mybatis.entity.MfTdsConnectorIdentity;
import csbr.cloud.entity.annotation.SystemLog;
import csbr.cloud.entity.domain.base.vo.PageListVO;
......@@ -140,6 +141,14 @@ public class TdsConnectorIdentityController {
TdsConnectorIdentityRSVO vo = tdsConnectorIdentityService.checkConnector();
return CommonRes.success(vo);
}
@PostMapping("/update-identity")
@SystemLog(value = "连接器身份信息-修改接入连接器身份标识")
@Operation(summary = "连接器身份信息-修改接入连接器身份标识")
public CommonRes<Boolean> updateIdentity(@RequestBody ConnectorIdentityRQVO vo) {
tdsConnectorIdentityService.updateIdentity(vo);
return CommonRes.success(true);
}
//endregion
}
......
package com.csbr.qingcloud.portal.domain.vo;
import com.csbr.cloud.workflow.domain.vo.appove.FlowRQBaseVO;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* @program:
* @description: 连接器身份信息新增、修改参数
* @author: xup
* @create: 2025-08-20 15:13
**/
@Data
@Schema(title = "连接器身份标识参数")
public class ConnectorIdentityRQVO {
/**
* 系统唯一标识
*/
@Schema(description = "系统唯一标识")
@NotBlank(message = "系统唯一标识为空.")
private String guid;
/**
* 接入连接器身份标识(由区域/行业功能节点下发,唯一标识连接器身份)
*/
@Schema(description = "接入连接器身份标识(由区域/行业功能节点下发,唯一标识连接器身份)")
@NotBlank(message = "接入连接器身份标识为空.")
private String connectorIdentity;
}
package com.csbr.qingcloud.portal.domain.vo.dataPort;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
* @program: daop-projects
* @description:
* @author: xiaojie
* @create: 2025-10-11 15:43
**/
@Data
@Schema(title = "公共身份附件信息参数")
public class AttachmentCommonVO {
@Schema(title = "附件类型")
private String attachType;
@Schema(title = "附件名称")
private String attachName;
@Schema(title = "附件编号")
private String attachCode;
@Schema(title = "附件签发机构")
private String issueOrg;
@Schema(title = "签发日期")
private String issueDate;
@Schema(title = "到期日期")
private String expireDate;
@Schema(title = "附件验证地址或区块链凭证索引")
private String verifyUrl;
@Schema(title = "附件描述信息")
private String description;
}
\ No newline at end of file
package com.csbr.qingcloud.portal.domain.vo.dataPort;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.List;
/**
* @program: daop-projects
* @description:
* @author: xiaojie
* @create: 2025-10-11 15:38
**/
@Data
@Schema(title = "连接器注册参数")
public class ConnectorRegisterRQVO {
@Schema(title = "连接器身份基本信息")
private IdentityBaseRQVO baseInfo;
@Schema(title = "连接器身份附加信息")
private IdentityExtendRQVO extendInfo;
@Schema(title = "连接器身份附件信息")
private AttachmentCommonVO attachInfo;
}
\ No newline at end of file
package com.csbr.qingcloud.portal.domain.vo.dataPort;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
* @program: daop-projects
* @description:
* @author: xiaojie
* @create: 2025-10-11 15:38
**/
@Data
@Schema(title = "连接器注册返回参数")
public class ConnectorRegisterRSVO {
@Schema(title = "接入连接器身份标识")
private String identityCode;
@Schema(title = "可信身份凭证(数字证书、DID 等),由平台认可的签发机构生成")
private String connectorCert;
@Schema(title = "凭证颁发日期(格式:YYYY-MM-DD)")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private String authTime;
@Schema(title = "可验证身份签发单位")
private String connectorIssueOrg;
}
\ No newline at end of file
package com.csbr.qingcloud.portal.domain.vo.dataPort;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.List;
/**
* @program: daop-projects
* @description:
* @author: xiaojie
* @create: 2025-10-11 15:38
**/
@Data
@Schema(title = "法人注册参数")
public class EnterpriseRegisterRQVO {
@Schema(title = "唯一身份标识")
private String identityCode;
@Schema(title = "法人或其他组织名称")
private String enterpriseName;
@Schema(title = "统一社会信用代码")
private String enterpriseCode;
@Schema(title = "法人或其他组织类型")
private String enterpriseType;
@Schema(title = "经营期限起始")
private String operatingPeriodBegin;
@Schema(title = "经营期限截止")
private String operatingPeriodEnd;
@Schema(title = "实名认证方式")
private String authType;
@Schema(title = "实名认证状态")
private String authStatus;
@Schema(title = "实名认证时间")
private String authDate;
@Schema(title = "法定代表人或负责人姓名")
private String legalPerson;
@Schema(title = "法定代表人或负责人证件号")
private String legalPersonCertno;
@Schema(title = "法定代表人或负责人实名等级")
private String legalPersonAuthLevel;
@Schema(title = "个人实名认证方式")
private String legalPersonAuthType;
@Schema(title = "法人用户状态")
private String identityStatus;
@Schema(title = "法人用户身份附属信息")
private EnterpriseSubordinateRQVO extendInfo;
@Schema(title = "法人用户身份附件信息")
private List<AttachmentCommonVO> attachInfo;
}
\ No newline at end of file
package com.csbr.qingcloud.portal.domain.vo.dataPort;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
* @program: daop-projects
* @description:
* @author: xiaojie
* @create: 2025-10-11 15:43
**/
@Data
@Schema(title = "法人身份附属信息参数")
public class EnterpriseSubordinateRQVO extends SubordinateCommonVO {
@Schema(title = "注册地址")
private String enterpriseAddress;
@Schema(title = "注册金额")
private String regAmount;
@Schema(title = "注册日期")
private String regDate;
@Schema(title = "经营范围")
private String businessScope;
@Schema(title = "行业类型")
private String industryCategory;
@Schema(title = "行业小类")
private String industryCategory2;
@Schema(title = "核准机构")
private String approvalAuthority;
@Schema(title = "法定代表人或负责人手机号")
private String legalPersonPhone;
@Schema(title = "法定代表人或负责人邮箱")
private String legalPersonEmail;
@Schema(title = "法定代表人或负责人身份状态")
private String legalPersonStatus;
}
\ No newline at end of file
package com.csbr.qingcloud.portal.domain.vo.dataPort;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.List;
/**
* @program: daop-projects
* @description:
* @author: xiaojie
* @create: 2025-10-11 15:38
**/
@Data
@Schema(title = "连接器身份基本参数")
public class IdentityBaseRQVO {
@Schema(title = "唯一身份标识")
private String identityCode;
@Schema(title = "接入连接器名称")
private String connectorName;
@Schema(title = "IP 地址列表")
private String connectorIpList;
@Schema(title = "域名列表")
private String connectorDomainList;
@Schema(title = "接入类型")
private String connectorJoinType;
@Schema(title = "所属法人或其他组织名称")
private String enterpriseName;
@Schema(title = "所属法人或其他组织 统一社会信用代码")
private String enterpriseCode;
}
\ No newline at end of file
package com.csbr.qingcloud.portal.domain.vo.dataPort;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.List;
/**
* @program: daop-projects
* @description:
* @author: xiaojie
* @create: 2025-10-11 15:38
**/
@Data
@Schema(title = "连接器身份附加参数")
public class IdentityExtendRQVO {
@Schema(title = "供应商名称")
private String supplierName;
@Schema(title = "供应商统一社会信用代码")
private String supplierCode;
@Schema(title = "产品 SN 号")
private String connectorSN;
@Schema(title = "产品版本号")
private String connectorVersion;
@Schema(title = "连接器类型 1-标准型接入连接器 2-全功能型接入连接器")
private String connectorType;
@Schema(title = "物理设备唯一标识符(若有多台,只登记管理 服务器 mac 地址)")
private String connectorMac;
}
\ No newline at end of file
package com.csbr.qingcloud.portal.domain.vo.dataPort;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.List;
/**
* @program: daop-projects
* @description:
* @author: xiaojie
* @create: 2025-10-11 15:38
**/
@Data
@Schema(title = "经办人注册参数")
public class OperatorRegisterRQVO {
@Schema(title = "经办人姓名")
private String operator;
@Schema(title = "经办人身份标识")
private String identityCode;
@Schema(title = "证件类型")
private String operatorIdType;
@Schema(title = "证件号码")
private String operatorId;
@Schema(title = "实名认证等级")
private String operatorAuthLevel;
@Schema(title = "经办人授权方式")
private String authorizationType;
@Schema(title = "实名认证方式")
private String operatorAuthType;
@Schema(title = "认证日期")
private String authTime;
@Schema(title = "身份状态")
private String authStatus;
@Schema(title = "统一社会信用代码")
private String enterpriseCode;
@Schema(title = "经办人用户身份附属信息")
private OperatorSubordinateRQVO extendInfo;
@Schema(title = "经办人用户身份附件信息")
private List<AttachmentCommonVO> attachInfo;
}
\ No newline at end of file
package com.csbr.qingcloud.portal.domain.vo.dataPort;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
* @program: daop-projects
* @description:
* @author: xiaojie
* @create: 2025-10-11 15:43
**/
@Data
@Schema(title = "经办人身份附属信息参数")
public class OperatorSubordinateRQVO extends SubordinateCommonVO {
@Schema(title = "法人组织名称")
private String enterpriseName;
@Schema(title = "支付宝账号")
private String alipayAccount;
@Schema(title = "微信账号")
private String weixinAccount;
}
\ No newline at end of file
package com.csbr.qingcloud.portal.domain.vo.dataPort;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
/**
* @program: daop-projects
* @description:
* @author: xiaojie
* @create: 2025-10-11 15:43
**/
@Data
@Schema(title = "公共身份附属信息参数")
public class SubordinateCommonVO {
@Schema(title = "电子营业执照")
private String businessLicense;
@Schema(title = "社保卡卡号")
private String socialSecurityCard;
@Schema(title = "社保卡发放地")
private String socialSecurityCardSite;
}
\ No newline at end of file
package com.csbr.qingcloud.portal.service;
import com.csbr.qingcloud.portal.domain.vo.TdsConnectorIdentityRSVO;
import com.csbr.qingcloud.portal.mybatis.entity.MfEnterprise;
import com.csbr.qingcloud.portal.mybatis.entity.MfEnterpriseChangeApprove;
import com.csbr.qingcloud.portal.mybatis.entity.MfTdsConnectorIdentity;
/**
* @program: daop-projects
* @description:
* @author: xiaojie
* @create: 2025-10-11 15:13
**/
public interface DataPortService {
/**
* 经办人用户注册
* @param entity
*/
void operatorRegister(MfEnterprise entity);
/**
* 经办人用户更新
* @param entity
*/
void operatorUpdate(MfEnterpriseChangeApprove entity);
/**
* 法人用户注册
* @param entity
*/
void enterpriseRegister(MfEnterprise entity);
/**
* 法人用户更新
* @param entity
*/
void enterpriseUpdate(MfEnterpriseChangeApprove entity);
/**
* 连接器注册
* @param entity
*/
void connectorRegister(MfTdsConnectorIdentity entity);
/**
* 连接器注销
* @param identityCode
*/
void destroyConnector(String identityCode);
}
\ No newline at end of file
......@@ -2,6 +2,7 @@ package com.csbr.qingcloud.portal.service;
import com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO;
import com.csbr.cloud.workflow.domain.vo.appove.FlowRQBaseVO;
import com.csbr.qingcloud.portal.domain.vo.ConnectorIdentityRQVO;
import com.csbr.qingcloud.portal.mybatis.entity.MfTdsConnectorIdentity;
import csbr.cloud.entity.domain.base.vo.PageListVO;
import com.csbr.qingcloud.portal.domain.vo.TdsConnectorIdentityQueryVO;
......@@ -114,4 +115,10 @@ public interface TdsConnectorIdentityService {
void crossFlowCallBack(BizCallbackDTO dto);
MfTdsConnectorIdentity getTdsConnectorIdentityById(String guid);
/**
* 修改接入连接器身份标识
* @param vo
*/
void updateIdentity(ConnectorIdentityRQVO vo);
}
......
......@@ -19,10 +19,7 @@ import com.csbr.qingcloud.portal.mybatis.entity.MfEnterprise;
import com.csbr.qingcloud.portal.mybatis.entity.MfEnterpriseChangeApprove;
import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseChangeApproveService;
import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseService;
import com.csbr.qingcloud.portal.service.EnterpriseAttachmentService;
import com.csbr.qingcloud.portal.service.EnterpriseChangeApproveService;
import com.csbr.qingcloud.portal.service.EnterpriseDomainService;
import com.csbr.qingcloud.portal.service.EnterpriseService;
import com.csbr.qingcloud.portal.service.*;
import com.csbr.qingcloud.portal.util.ChangeInfoUtil;
import com.csbr.qingcloud.portal.util.InvokeUtil;
import com.csbr.qingcloud.portal.util.ZQConfig;
......@@ -95,6 +92,9 @@ public class EnterpriseChangeApproveServiceImpl implements EnterpriseChangeAppro
@Resource
private EnterpriseDomainService enterpriseDomainService;
@Resource
private DataPortService dataPortService;
/** 保存变更数据 */
@Override
public void changeSave(ChangeApproveVO vo) {
......@@ -348,6 +348,10 @@ public class EnterpriseChangeApproveServiceImpl implements EnterpriseChangeAppro
//同步更新会员表
enterpriseService.updateTenant(vo);
// 调用数据港法人和经办人更新接口
dataPortService.operatorUpdate(entity);
dataPortService.enterpriseUpdate(entity);
}
}
......
......@@ -34,6 +34,7 @@ import com.csbr.qingcloud.portal.mybatis.entity.MfEnterpriseChangeApprove;
import com.csbr.qingcloud.portal.mybatis.service.MfDemandService;
import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseChangeApproveService;
import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseService;
import com.csbr.qingcloud.portal.service.DataPortService;
import com.csbr.qingcloud.portal.service.EnterpriseAttachmentService;
import com.csbr.qingcloud.portal.service.EnterpriseDomainService;
import com.csbr.qingcloud.portal.service.EnterpriseService;
......@@ -124,6 +125,9 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris
@Resource
private ValidatorUtil validatorUtil;
@Resource
private DataPortService dataPortService;
/**
* 企业信息分页查询
* @author xcq
......@@ -515,6 +519,9 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris
else{
updateTenant(entity);
}
// 调用数据港法人和经办人注册接口
dataPortService.operatorRegister(entity);
dataPortService.enterpriseRegister(entity);
}
}
......
......@@ -18,6 +18,7 @@ import com.csbr.cloud.workflow.domain.vo.appove.FlowRQBaseVO;
import com.csbr.cloud.workflow.util.ApprovalFlowUtil;
import com.csbr.cloud.workflow.util.FlowAbstractImpl;
import com.csbr.qingcloud.portal.domain.vo.*;
import com.csbr.qingcloud.portal.service.DataPortService;
import com.csbr.qingcloud.portal.service.TdsConnectorAdditionalService;
import com.csbr.qingcloud.portal.service.TdsConnectorVerifiableService;
import com.csbr.qingcloud.portal.util.IdentificationCodeUtil;
......@@ -90,6 +91,9 @@ public class TdsConnectorIdentityServiceImpl extends FlowAbstractImpl implements
@Resource
private ValidatorUtil validatorUtil;
@Resource
private DataPortService dataPortService;
/**
* 连接器身份信息分页查询
* @author xup
......@@ -491,6 +495,7 @@ public class TdsConnectorIdentityServiceImpl extends FlowAbstractImpl implements
if("Y".equals(entity.getIsChangeData())) {
changSourceConnectorInentity(entity);
}
dataPortService.connectorRegister(entity);
}
//驳回和撤销是,修改原来数据状态
if(ApprovalStateEnum.REJECT.getValue().equals(dto.getApprovalState())
......@@ -508,6 +513,15 @@ public class TdsConnectorIdentityServiceImpl extends FlowAbstractImpl implements
return mfTdsConnectorIdentityService.getById(guid);
}
@Override
public void updateIdentity(ConnectorIdentityRQVO vo) {
MfTdsConnectorIdentity entity = mfTdsConnectorIdentityService.getById(vo.getGuid());
if (ObjectUtils.isNotEmpty(entity)) {
entity.setConnectorIdentity(vo.getConnectorIdentity());
mfTdsConnectorIdentityService.updateById(entity);
}
}
@Transactional
public void afterChangeSaveTdsConnectorIdentity(String guid, MfTdsConnectorIdentity oldTdsConnectorIdentity,
Boolean isRestart) {
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!