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 823 additions and 6 deletions
...@@ -52,6 +52,11 @@ ...@@ -52,6 +52,11 @@
52 <version>${cabr-package.version}</version> 52 <version>${cabr-package.version}</version>
53 </dependency> 53 </dependency>
54 <dependency> 54 <dependency>
55 <groupId>com.csbr.qingcloud</groupId>
56 <artifactId>csbr-cloud-external</artifactId>
57 <version>${cabr-package.version}</version>
58 </dependency>
59 <dependency>
55 <groupId>org.springframework.boot</groupId> 60 <groupId>org.springframework.boot</groupId>
56 <artifactId>spring-boot-starter-undertow</artifactId> 61 <artifactId>spring-boot-starter-undertow</artifactId>
57 </dependency> 62 </dependency>
......
...@@ -2,11 +2,11 @@ package com.csbr.qingcloud.portal.controller; ...@@ -2,11 +2,11 @@ package com.csbr.qingcloud.portal.controller;
2 2
3 import com.csbr.cloud.common.entity.CsbrUpdate; 3 import com.csbr.cloud.common.entity.CsbrUpdate;
4 import com.csbr.cloud.common.response.CommonRes; 4 import com.csbr.cloud.common.response.CommonRes;
5 import com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO;
5 import com.csbr.qingcloud.portal.domain.vo.*; 6 import com.csbr.qingcloud.portal.domain.vo.*;
7 import com.csbr.qingcloud.portal.service.DemandService;
6 import csbr.cloud.entity.annotation.SystemLog; 8 import csbr.cloud.entity.annotation.SystemLog;
7 import csbr.cloud.entity.domain.base.vo.PageListVO; 9 import csbr.cloud.entity.domain.base.vo.PageListVO;
8 import com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO;
9 import com.csbr.qingcloud.portal.service.DemandService;
10 import io.swagger.v3.oas.annotations.Operation; 10 import io.swagger.v3.oas.annotations.Operation;
11 import io.swagger.v3.oas.annotations.Parameter; 11 import io.swagger.v3.oas.annotations.Parameter;
12 import io.swagger.v3.oas.annotations.tags.Tag; 12 import io.swagger.v3.oas.annotations.tags.Tag;
......
...@@ -4,6 +4,7 @@ import com.csbr.cloud.common.enums.SystemError; ...@@ -4,6 +4,7 @@ import com.csbr.cloud.common.enums.SystemError;
4 import com.csbr.cloud.common.exception.CsbrSystemException; 4 import com.csbr.cloud.common.exception.CsbrSystemException;
5 import com.csbr.cloud.common.response.CommonRes; 5 import com.csbr.cloud.common.response.CommonRes;
6 import com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO; 6 import com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO;
7 import com.csbr.qingcloud.portal.domain.vo.ConnectorIdentityRQVO;
7 import com.csbr.qingcloud.portal.mybatis.entity.MfTdsConnectorIdentity; 8 import com.csbr.qingcloud.portal.mybatis.entity.MfTdsConnectorIdentity;
8 import csbr.cloud.entity.annotation.SystemLog; 9 import csbr.cloud.entity.annotation.SystemLog;
9 import csbr.cloud.entity.domain.base.vo.PageListVO; 10 import csbr.cloud.entity.domain.base.vo.PageListVO;
...@@ -140,6 +141,14 @@ public class TdsConnectorIdentityController { ...@@ -140,6 +141,14 @@ public class TdsConnectorIdentityController {
140 TdsConnectorIdentityRSVO vo = tdsConnectorIdentityService.checkConnector(); 141 TdsConnectorIdentityRSVO vo = tdsConnectorIdentityService.checkConnector();
141 return CommonRes.success(vo); 142 return CommonRes.success(vo);
142 } 143 }
144
145 @PostMapping("/update-identity")
146 @SystemLog(value = "连接器身份信息-修改接入连接器身份标识")
147 @Operation(summary = "连接器身份信息-修改接入连接器身份标识")
148 public CommonRes<Boolean> updateIdentity(@RequestBody ConnectorIdentityRQVO vo) {
149 tdsConnectorIdentityService.updateIdentity(vo);
150 return CommonRes.success(true);
151 }
143 //endregion 152 //endregion
144 153
145 } 154 }
......
1 package com.csbr.qingcloud.portal.domain.vo;
2
3 import com.csbr.cloud.workflow.domain.vo.appove.FlowRQBaseVO;
4 import com.fasterxml.jackson.annotation.JsonFormat;
5 import io.swagger.v3.oas.annotations.media.Schema;
6 import jakarta.validation.constraints.NotBlank;
7 import jakarta.validation.constraints.NotNull;
8 import jakarta.validation.constraints.Size;
9 import lombok.Data;
10
11 import java.util.Date;
12 import java.util.List;
13
14 /**
15 * @program:
16 * @description: 连接器身份信息新增、修改参数
17 * @author: xup
18 * @create: 2025-08-20 15:13
19 **/
20 @Data
21 @Schema(title = "连接器身份标识参数")
22 public class ConnectorIdentityRQVO {
23
24 /**
25 * 系统唯一标识
26 */
27 @Schema(description = "系统唯一标识")
28 @NotBlank(message = "系统唯一标识为空.")
29 private String guid;
30
31 /**
32 * 接入连接器身份标识(由区域/行业功能节点下发,唯一标识连接器身份)
33 */
34 @Schema(description = "接入连接器身份标识(由区域/行业功能节点下发,唯一标识连接器身份)")
35 @NotBlank(message = "接入连接器身份标识为空.")
36 private String connectorIdentity;
37
38 }
1 package com.csbr.qingcloud.portal.domain.vo.dataPort;
2
3 import io.swagger.v3.oas.annotations.media.Schema;
4 import lombok.Data;
5
6 /**
7 * @program: daop-projects
8 * @description:
9 * @author: xiaojie
10 * @create: 2025-10-11 15:43
11 **/
12 @Data
13 @Schema(title = "公共身份附件信息参数")
14 public class AttachmentCommonVO {
15
16 @Schema(title = "附件类型")
17 private String attachType;
18
19 @Schema(title = "附件名称")
20 private String attachName;
21
22 @Schema(title = "附件编号")
23 private String attachCode;
24
25 @Schema(title = "附件签发机构")
26 private String issueOrg;
27
28 @Schema(title = "签发日期")
29 private String issueDate;
30
31 @Schema(title = "到期日期")
32 private String expireDate;
33
34 @Schema(title = "附件验证地址或区块链凭证索引")
35 private String verifyUrl;
36
37 @Schema(title = "附件描述信息")
38 private String description;
39
40 }
...\ No newline at end of file ...\ No newline at end of file
1 package com.csbr.qingcloud.portal.domain.vo.dataPort;
2
3 import io.swagger.v3.oas.annotations.media.Schema;
4 import lombok.Data;
5
6 import java.util.List;
7
8 /**
9 * @program: daop-projects
10 * @description:
11 * @author: xiaojie
12 * @create: 2025-10-11 15:38
13 **/
14 @Data
15 @Schema(title = "连接器注册参数")
16 public class ConnectorRegisterRQVO {
17
18 @Schema(title = "连接器身份基本信息")
19 private IdentityBaseRQVO baseInfo;
20
21 @Schema(title = "连接器身份附加信息")
22 private IdentityExtendRQVO extendInfo;
23
24 @Schema(title = "连接器身份附件信息")
25 private AttachmentCommonVO attachInfo;
26
27 }
...\ No newline at end of file ...\ No newline at end of file
1 package com.csbr.qingcloud.portal.domain.vo.dataPort;
2
3 import com.fasterxml.jackson.annotation.JsonFormat;
4 import io.swagger.v3.oas.annotations.media.Schema;
5 import lombok.Data;
6
7 /**
8 * @program: daop-projects
9 * @description:
10 * @author: xiaojie
11 * @create: 2025-10-11 15:38
12 **/
13 @Data
14 @Schema(title = "连接器注册返回参数")
15 public class ConnectorRegisterRSVO {
16
17 @Schema(title = "接入连接器身份标识")
18 private String identityCode;
19
20 @Schema(title = "可信身份凭证(数字证书、DID 等),由平台认可的签发机构生成")
21 private String connectorCert;
22
23 @Schema(title = "凭证颁发日期(格式:YYYY-MM-DD)")
24 @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
25 private String authTime;
26
27 @Schema(title = "可验证身份签发单位")
28 private String connectorIssueOrg;
29
30 }
...\ No newline at end of file ...\ No newline at end of file
1 package com.csbr.qingcloud.portal.domain.vo.dataPort;
2
3 import io.swagger.v3.oas.annotations.media.Schema;
4 import lombok.Data;
5
6 import java.util.List;
7
8 /**
9 * @program: daop-projects
10 * @description:
11 * @author: xiaojie
12 * @create: 2025-10-11 15:38
13 **/
14 @Data
15 @Schema(title = "法人注册参数")
16 public class EnterpriseRegisterRQVO {
17
18 @Schema(title = "唯一身份标识")
19 private String identityCode;
20
21 @Schema(title = "法人或其他组织名称")
22 private String enterpriseName;
23
24 @Schema(title = "统一社会信用代码")
25 private String enterpriseCode;
26
27 @Schema(title = "法人或其他组织类型")
28 private String enterpriseType;
29
30 @Schema(title = "经营期限起始")
31 private String operatingPeriodBegin;
32
33 @Schema(title = "经营期限截止")
34 private String operatingPeriodEnd;
35
36 @Schema(title = "实名认证方式")
37 private String authType;
38
39 @Schema(title = "实名认证状态")
40 private String authStatus;
41
42 @Schema(title = "实名认证时间")
43 private String authDate;
44
45 @Schema(title = "法定代表人或负责人姓名")
46 private String legalPerson;
47
48 @Schema(title = "法定代表人或负责人证件号")
49 private String legalPersonCertno;
50
51 @Schema(title = "法定代表人或负责人实名等级")
52 private String legalPersonAuthLevel;
53
54 @Schema(title = "个人实名认证方式")
55 private String legalPersonAuthType;
56
57 @Schema(title = "法人用户状态")
58 private String identityStatus;
59
60 @Schema(title = "法人用户身份附属信息")
61 private EnterpriseSubordinateRQVO extendInfo;
62
63 @Schema(title = "法人用户身份附件信息")
64 private List<AttachmentCommonVO> attachInfo;
65
66 }
...\ No newline at end of file ...\ No newline at end of file
1 package com.csbr.qingcloud.portal.domain.vo.dataPort;
2
3 import io.swagger.v3.oas.annotations.media.Schema;
4 import lombok.Data;
5
6 /**
7 * @program: daop-projects
8 * @description:
9 * @author: xiaojie
10 * @create: 2025-10-11 15:43
11 **/
12 @Data
13 @Schema(title = "法人身份附属信息参数")
14 public class EnterpriseSubordinateRQVO extends SubordinateCommonVO {
15
16 @Schema(title = "注册地址")
17 private String enterpriseAddress;
18
19 @Schema(title = "注册金额")
20 private String regAmount;
21
22 @Schema(title = "注册日期")
23 private String regDate;
24
25 @Schema(title = "经营范围")
26 private String businessScope;
27
28 @Schema(title = "行业类型")
29 private String industryCategory;
30
31 @Schema(title = "行业小类")
32 private String industryCategory2;
33
34 @Schema(title = "核准机构")
35 private String approvalAuthority;
36
37 @Schema(title = "法定代表人或负责人手机号")
38 private String legalPersonPhone;
39
40 @Schema(title = "法定代表人或负责人邮箱")
41 private String legalPersonEmail;
42
43 @Schema(title = "法定代表人或负责人身份状态")
44 private String legalPersonStatus;
45
46 }
...\ No newline at end of file ...\ No newline at end of file
1 package com.csbr.qingcloud.portal.domain.vo.dataPort;
2
3 import io.swagger.v3.oas.annotations.media.Schema;
4 import lombok.Data;
5
6 import java.util.List;
7
8 /**
9 * @program: daop-projects
10 * @description:
11 * @author: xiaojie
12 * @create: 2025-10-11 15:38
13 **/
14 @Data
15 @Schema(title = "连接器身份基本参数")
16 public class IdentityBaseRQVO {
17
18 @Schema(title = "唯一身份标识")
19 private String identityCode;
20
21 @Schema(title = "接入连接器名称")
22 private String connectorName;
23
24 @Schema(title = "IP 地址列表")
25 private String connectorIpList;
26
27 @Schema(title = "域名列表")
28 private String connectorDomainList;
29
30 @Schema(title = "接入类型")
31 private String connectorJoinType;
32
33 @Schema(title = "所属法人或其他组织名称")
34 private String enterpriseName;
35
36 @Schema(title = "所属法人或其他组织 统一社会信用代码")
37 private String enterpriseCode;
38
39 }
...\ No newline at end of file ...\ No newline at end of file
1 package com.csbr.qingcloud.portal.domain.vo.dataPort;
2
3 import io.swagger.v3.oas.annotations.media.Schema;
4 import lombok.Data;
5
6 import java.util.List;
7
8 /**
9 * @program: daop-projects
10 * @description:
11 * @author: xiaojie
12 * @create: 2025-10-11 15:38
13 **/
14 @Data
15 @Schema(title = "连接器身份附加参数")
16 public class IdentityExtendRQVO {
17
18 @Schema(title = "供应商名称")
19 private String supplierName;
20
21 @Schema(title = "供应商统一社会信用代码")
22 private String supplierCode;
23
24 @Schema(title = "产品 SN 号")
25 private String connectorSN;
26
27 @Schema(title = "产品版本号")
28 private String connectorVersion;
29
30 @Schema(title = "连接器类型 1-标准型接入连接器 2-全功能型接入连接器")
31 private String connectorType;
32
33 @Schema(title = "物理设备唯一标识符(若有多台,只登记管理 服务器 mac 地址)")
34 private String connectorMac;
35
36 }
...\ No newline at end of file ...\ No newline at end of file
1 package com.csbr.qingcloud.portal.domain.vo.dataPort;
2
3 import io.swagger.v3.oas.annotations.media.Schema;
4 import lombok.Data;
5
6 import java.util.List;
7
8 /**
9 * @program: daop-projects
10 * @description:
11 * @author: xiaojie
12 * @create: 2025-10-11 15:38
13 **/
14 @Data
15 @Schema(title = "经办人注册参数")
16 public class OperatorRegisterRQVO {
17
18 @Schema(title = "经办人姓名")
19 private String operator;
20
21 @Schema(title = "经办人身份标识")
22 private String identityCode;
23
24 @Schema(title = "证件类型")
25 private String operatorIdType;
26
27 @Schema(title = "证件号码")
28 private String operatorId;
29
30 @Schema(title = "实名认证等级")
31 private String operatorAuthLevel;
32
33 @Schema(title = "经办人授权方式")
34 private String authorizationType;
35
36 @Schema(title = "实名认证方式")
37 private String operatorAuthType;
38
39 @Schema(title = "认证日期")
40 private String authTime;
41
42 @Schema(title = "身份状态")
43 private String authStatus;
44
45 @Schema(title = "统一社会信用代码")
46 private String enterpriseCode;
47
48 @Schema(title = "经办人用户身份附属信息")
49 private OperatorSubordinateRQVO extendInfo;
50
51 @Schema(title = "经办人用户身份附件信息")
52 private List<AttachmentCommonVO> attachInfo;
53
54 }
...\ No newline at end of file ...\ No newline at end of file
1 package com.csbr.qingcloud.portal.domain.vo.dataPort;
2
3 import io.swagger.v3.oas.annotations.media.Schema;
4 import lombok.Data;
5
6 /**
7 * @program: daop-projects
8 * @description:
9 * @author: xiaojie
10 * @create: 2025-10-11 15:43
11 **/
12 @Data
13 @Schema(title = "经办人身份附属信息参数")
14 public class OperatorSubordinateRQVO extends SubordinateCommonVO {
15
16 @Schema(title = "法人组织名称")
17 private String enterpriseName;
18
19 @Schema(title = "支付宝账号")
20 private String alipayAccount;
21
22 @Schema(title = "微信账号")
23 private String weixinAccount;
24
25 }
...\ No newline at end of file ...\ No newline at end of file
1 package com.csbr.qingcloud.portal.domain.vo.dataPort;
2
3 import io.swagger.v3.oas.annotations.media.Schema;
4 import lombok.Data;
5
6 /**
7 * @program: daop-projects
8 * @description:
9 * @author: xiaojie
10 * @create: 2025-10-11 15:43
11 **/
12 @Data
13 @Schema(title = "公共身份附属信息参数")
14 public class SubordinateCommonVO {
15
16 @Schema(title = "电子营业执照")
17 private String businessLicense;
18
19 @Schema(title = "社保卡卡号")
20 private String socialSecurityCard;
21
22 @Schema(title = "社保卡发放地")
23 private String socialSecurityCardSite;
24
25 }
...\ No newline at end of file ...\ No newline at end of file
1 package com.csbr.qingcloud.portal.service;
2
3 import com.csbr.qingcloud.portal.domain.vo.TdsConnectorIdentityRSVO;
4 import com.csbr.qingcloud.portal.mybatis.entity.MfEnterprise;
5 import com.csbr.qingcloud.portal.mybatis.entity.MfEnterpriseChangeApprove;
6 import com.csbr.qingcloud.portal.mybatis.entity.MfTdsConnectorIdentity;
7
8 /**
9 * @program: daop-projects
10 * @description:
11 * @author: xiaojie
12 * @create: 2025-10-11 15:13
13 **/
14 public interface DataPortService {
15
16 /**
17 * 经办人用户注册
18 * @param entity
19 */
20 void operatorRegister(MfEnterprise entity);
21
22 /**
23 * 经办人用户更新
24 * @param entity
25 */
26 void operatorUpdate(MfEnterpriseChangeApprove entity);
27
28 /**
29 * 法人用户注册
30 * @param entity
31 */
32 void enterpriseRegister(MfEnterprise entity);
33
34 /**
35 * 法人用户更新
36 * @param entity
37 */
38 void enterpriseUpdate(MfEnterpriseChangeApprove entity);
39
40 /**
41 * 连接器注册
42 * @param entity
43 */
44 void connectorRegister(MfTdsConnectorIdentity entity);
45
46 /**
47 * 连接器注销
48 * @param identityCode
49 */
50 void destroyConnector(String identityCode);
51 }
...\ No newline at end of file ...\ No newline at end of file
...@@ -2,6 +2,7 @@ package com.csbr.qingcloud.portal.service; ...@@ -2,6 +2,7 @@ package com.csbr.qingcloud.portal.service;
2 2
3 import com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO; 3 import com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO;
4 import com.csbr.cloud.workflow.domain.vo.appove.FlowRQBaseVO; 4 import com.csbr.cloud.workflow.domain.vo.appove.FlowRQBaseVO;
5 import com.csbr.qingcloud.portal.domain.vo.ConnectorIdentityRQVO;
5 import com.csbr.qingcloud.portal.mybatis.entity.MfTdsConnectorIdentity; 6 import com.csbr.qingcloud.portal.mybatis.entity.MfTdsConnectorIdentity;
6 import csbr.cloud.entity.domain.base.vo.PageListVO; 7 import csbr.cloud.entity.domain.base.vo.PageListVO;
7 import com.csbr.qingcloud.portal.domain.vo.TdsConnectorIdentityQueryVO; 8 import com.csbr.qingcloud.portal.domain.vo.TdsConnectorIdentityQueryVO;
...@@ -114,4 +115,10 @@ public interface TdsConnectorIdentityService { ...@@ -114,4 +115,10 @@ public interface TdsConnectorIdentityService {
114 void crossFlowCallBack(BizCallbackDTO dto); 115 void crossFlowCallBack(BizCallbackDTO dto);
115 116
116 MfTdsConnectorIdentity getTdsConnectorIdentityById(String guid); 117 MfTdsConnectorIdentity getTdsConnectorIdentityById(String guid);
118
119 /**
120 * 修改接入连接器身份标识
121 * @param vo
122 */
123 void updateIdentity(ConnectorIdentityRQVO vo);
117 } 124 }
......
1 package com.csbr.qingcloud.portal.service.impl;
2
3 import com.alibaba.fastjson.JSON;
4 import com.alibaba.fastjson.JSONArray;
5 import com.alibaba.fastjson.JSONObject;
6 import com.csbr.cloud.common.enums.RedisKeyEnum;
7 import com.csbr.cloud.common.util.CsbrBeanUtil;
8 import com.csbr.cloud.distributelock.util.RedisUtil;
9 import com.csbr.cloud.external.config.DataPortConfig;
10 import com.csbr.cloud.external.util.DataPortConnectUtil;
11 import com.csbr.qingcloud.portal.domain.vo.TdsConnectorAdditionalRSVO;
12 import com.csbr.qingcloud.portal.domain.vo.TdsConnectorVerifiableRSVO;
13 import com.csbr.qingcloud.portal.domain.vo.dataPort.*;
14 import com.csbr.qingcloud.portal.mybatis.entity.MfEnterprise;
15 import com.csbr.qingcloud.portal.mybatis.entity.MfEnterpriseChangeApprove;
16 import com.csbr.qingcloud.portal.mybatis.entity.MfTdsConnectorIdentity;
17 import com.csbr.qingcloud.portal.mybatis.service.MfTdsConnectorIdentityService;
18 import com.csbr.qingcloud.portal.service.DataPortService;
19 import com.csbr.qingcloud.portal.service.TdsConnectorAdditionalService;
20 import com.csbr.qingcloud.portal.service.TdsConnectorVerifiableService;
21 import com.csbr.qingcloud.portal.util.InvokeUtil;
22 import com.csbr.qingcloud.portal.util.ZQConfig;
23 import jakarta.annotation.Resource;
24 import lombok.extern.slf4j.Slf4j;
25 import org.apache.commons.lang3.ObjectUtils;
26 import org.apache.commons.lang3.StringUtils;
27 import org.springframework.stereotype.Service;
28
29 import java.text.SimpleDateFormat;
30 import java.util.Date;
31 import java.util.HashMap;
32 import java.util.Map;
33
34 /**
35 * @program: daop-projects
36 * @description:
37 * @author: xiaojie
38 * @create: 2025-10-11 15:13
39 **/
40 @Slf4j
41 @Service
42 public class DataPortServiceImpl implements DataPortService {
43
44 @Resource
45 private DataPortConnectUtil dataPortConnectUtil;
46
47 @Resource
48 private DataPortConfig dataPortConfig;
49
50 @Resource
51 private RedisUtil redisUtil;
52
53 @Resource
54 private CsbrBeanUtil csbrBeanUtil;
55
56 @Resource
57 private ZQConfig zqConfig;
58
59 @Resource
60 private InvokeUtil invokeUtil;
61
62 @Resource
63 private TdsConnectorAdditionalService tdsConnectorAdditionalService;
64
65 @Resource
66 private TdsConnectorVerifiableService tdsConnectorVerifiableService;
67
68 @Resource
69 private MfTdsConnectorIdentityService mfTdsConnectorIdentityService;
70
71 @Override
72 public void operatorRegister(MfEnterprise entity) {
73 log.info("======经办人用户注册开始======");
74 OperatorRegisterRQVO operatorRegisterRQVO = beforeOperator(entity);
75 dataPortConnectUtil.postByAuthKey(operatorRegisterRQVO, dataPortConfig.getOperatorRegisterUri());
76 log.info("======经办人用户注册结束======");
77 }
78
79 @Override
80 public void operatorUpdate(MfEnterpriseChangeApprove entity) {
81 log.info("======经办人用户更新开始======");
82 MfEnterprise mfEnterprise = csbrBeanUtil.convert(entity, MfEnterprise.class);
83 OperatorRegisterRQVO operatorRegisterRQVO = beforeOperator(mfEnterprise);
84 dataPortConnectUtil.postByAuthKey(operatorRegisterRQVO, dataPortConfig.getOperatorUpdateUri());
85 log.info("======经办人用户更新结束======");
86 }
87
88 @Override
89 public void enterpriseRegister(MfEnterprise entity) {
90 log.info("======法人用户注册开始======");
91 EnterpriseRegisterRQVO enterpriseRegisterRQVO = beforeEnterprise(entity);
92 dataPortConnectUtil.postByAuthKey(enterpriseRegisterRQVO, dataPortConfig.getEnterpriseRegisterUri());
93 log.info("======法人用户注册结束======");
94 }
95
96 @Override
97 public void enterpriseUpdate(MfEnterpriseChangeApprove entity) {
98 log.info("======法人用户更新开始======");
99 MfEnterprise mfEnterprise = csbrBeanUtil.convert(entity, MfEnterprise.class);
100 EnterpriseRegisterRQVO enterpriseRegisterRQVO = beforeEnterprise(mfEnterprise);
101 dataPortConnectUtil.postByAuthKey(enterpriseRegisterRQVO, dataPortConfig.getEnterpriseUpdateUri());
102 log.info("======法人用户更新结束======");
103 }
104
105 @Override
106 public void connectorRegister(MfTdsConnectorIdentity entity) {
107 log.info("======连接器注册开始======");
108 ConnectorRegisterRQVO registerRQVO = beforeConnector(entity);
109 Object object = dataPortConnectUtil.postByAuthorization(registerRQVO, dataPortConfig.getConnectorRegisterUri());
110 ConnectorRegisterRSVO connectorRegisterRSVO = JSON.parseObject(JSON.toJSONString(object), ConnectorRegisterRSVO.class);
111 log.info("object, {}", object);
112 log.info("connectorRegisterRSVO, {}", connectorRegisterRSVO);
113 // 修改接入连接器身份标识
114 entity.setConnectorIdentity(connectorRegisterRSVO.getIdentityCode());
115 mfTdsConnectorIdentityService.updateById(entity);
116 // 修改主平台连接器身份标识
117 JSONObject jsonObject = new JSONObject();
118 jsonObject.put("bizCode", "TDSCONNECTOR");
119 jsonObject.put("operation", "XGSFBS");
120 JSONObject data = new JSONObject();
121 data.put("guid", entity.getGuid());
122 data.put("connectorIdentity", entity.getConnectorIdentity());
123 jsonObject.put("zqData", data);
124 invokeUtil.invokeMainDel(jsonObject, zqConfig.getAppKey(), zqConfig.getReceiveUrl());
125 log.info("======连接器注册结束======");
126 }
127
128 @Override
129 public void destroyConnector(String identityCode) {
130 log.info("======连接器注销开始======");
131 JSONObject jsonObject = new JSONObject();
132 jsonObject.put("identityCode", identityCode);
133 dataPortConnectUtil.postByAuthorization(jsonObject, dataPortConfig.getDestroyConnector());
134 log.info("======连接器注销结束======");
135 }
136
137 private ConnectorRegisterRQVO beforeConnector(MfTdsConnectorIdentity entity) {
138 ConnectorRegisterRQVO registerRQVO = new ConnectorRegisterRQVO();
139 IdentityBaseRQVO baseInfo = new IdentityBaseRQVO();
140 baseInfo.setConnectorName(entity.getConnectorName());
141 baseInfo.setIdentityCode(entity.getLegalSocialCreditCode());
142 if (ObjectUtils.isNotEmpty(entity.getIpAddressList())) {
143 baseInfo.setConnectorIpList(String.join(",", entity.getIpAddressList()));
144 }
145 if (ObjectUtils.isNotEmpty(entity.getDomainList())) {
146 baseInfo.setConnectorDomainList(String.join(",", entity.getDomainList()));
147 }
148 baseInfo.setConnectorJoinType(String.valueOf(entity.getAccessMethod()));
149 baseInfo.setEnterpriseName(entity.getLegalEntity());
150 baseInfo.setEnterpriseCode(entity.getLegalSocialCreditCode());
151 registerRQVO.setBaseInfo(baseInfo);
152
153 // 添加附加信息
154 TdsConnectorAdditionalRSVO tdsConnectorAdditional = tdsConnectorAdditionalService.getTdsConnectorAdditionalByConnectorGuid(entity.getGuid());
155 if (ObjectUtils.isNotEmpty(tdsConnectorAdditional)) {
156 IdentityExtendRQVO extendInfo = new IdentityExtendRQVO();
157 extendInfo.setSupplierName(tdsConnectorAdditional.getSupplierName());
158 extendInfo.setSupplierCode(tdsConnectorAdditional.getSupplierCode());
159 extendInfo.setConnectorSN(tdsConnectorAdditional.getProductSn());
160 extendInfo.setConnectorVersion(tdsConnectorAdditional.getProductVersion());
161 Integer connectorType = tdsConnectorAdditional.getConnectorType();
162 if (ObjectUtils.isNotEmpty(connectorType)) {
163 String connectorTypeStr;
164 if (connectorType == 0) {
165 connectorTypeStr = "1";
166 } else {
167 connectorTypeStr = "2";
168 }
169 extendInfo.setConnectorType(connectorTypeStr);
170 }
171 extendInfo.setConnectorMac(tdsConnectorAdditional.getDeviceMacAddress());
172 registerRQVO.setExtendInfo(extendInfo);
173 }
174
175 // 添加附件信息
176 TdsConnectorVerifiableRSVO tdsConnectorVerifiable = tdsConnectorVerifiableService.getTdsConnectorVerifiableByConnectorGuid(entity.getGuid());
177 if (ObjectUtils.isNotEmpty(tdsConnectorVerifiable)) {
178 JSONArray levelProtectionEvaluationResults = tdsConnectorVerifiable.getLevelProtectionEvaluationResults();
179 if (ObjectUtils.isNotEmpty(levelProtectionEvaluationResults)) {
180 AttachmentCommonVO attachInfo = new AttachmentCommonVO();
181 JSONObject jsonObject = levelProtectionEvaluationResults.getJSONObject(0);
182 attachInfo.setAttachType("等级保护测评结果");
183 String name = jsonObject.getString("name");
184 attachInfo.setAttachName(StringUtils.isNotEmpty(name) ? name.split("\\.")[0] : name);
185 attachInfo.setVerifyUrl(jsonObject.getString("url"));
186 registerRQVO.setAttachInfo(attachInfo);
187 }
188 }
189 return registerRQVO;
190 }
191
192 /**
193 * 经办人注册前置
194 * @param entity
195 * @return
196 */
197 private OperatorRegisterRQVO beforeOperator(MfEnterprise entity) {
198 Map<String, String> documentsDicMap = getSystemParamsMap("证件类型");
199 SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
200 OperatorRegisterRQVO operatorRegisterRQVO = new OperatorRegisterRQVO();
201 operatorRegisterRQVO.setOperator(entity.getContacts());
202 // operatorRegisterRQVO.setIdentityCode(entity.getManagerPersonId());
203 operatorRegisterRQVO.setOperatorIdType(documentsDicMap.get(entity.getHandlePersonIdType()));
204 operatorRegisterRQVO.setOperatorId(entity.getManagerPersonId());
205 // operatorRegisterRQVO.setOperatorAuthLevel(entity.getAuthenticationLevel());
206 operatorRegisterRQVO.setOperatorAuthLevel("1");
207 // operatorRegisterRQVO.setAuthorizationType(entity.getAuthenticationMethod());
208 operatorRegisterRQVO.setAuthorizationType("1");
209 // operatorRegisterRQVO.setAuthTime(simpleDateFormat.format(entity.getAuthenticationTime()));
210 operatorRegisterRQVO.setAuthTime(simpleDateFormat.format(new Date()));
211 // operatorRegisterRQVO.setAuthStatus(entity.getIdentityState());
212 operatorRegisterRQVO.setAuthStatus("1");
213 operatorRegisterRQVO.setOperatorAuthType("1");
214 operatorRegisterRQVO.setEnterpriseCode(entity.getSocialCreditCode());
215 OperatorSubordinateRQVO operatorSubordinateRQVO = new OperatorSubordinateRQVO();
216 operatorSubordinateRQVO.setEnterpriseName(entity.getTenantName());
217 operatorSubordinateRQVO.setBusinessLicense(getName(entity.getBusinessLicenseJson()));
218 operatorRegisterRQVO.setExtendInfo(operatorSubordinateRQVO);
219 return operatorRegisterRQVO;
220 }
221
222 /**
223 * 法人注册前置
224 * @param entity
225 * @return
226 */
227 private EnterpriseRegisterRQVO beforeEnterprise(MfEnterprise entity) {
228 Map<String, String> industryDicMap = getSystemParamsMap("行业分类");
229 EnterpriseRegisterRQVO enterpriseRegisterRQVO = new EnterpriseRegisterRQVO();
230 enterpriseRegisterRQVO.setEnterpriseName(entity.getTenantName());
231 enterpriseRegisterRQVO.setIdentityCode(entity.getSocialCreditCode());
232 enterpriseRegisterRQVO.setEnterpriseCode(entity.getSocialCreditCode());
233 enterpriseRegisterRQVO.setEnterpriseType("4");
234 SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
235 enterpriseRegisterRQVO.setOperatingPeriodBegin(simpleDateFormat.format(entity.getBusinessLicenseStartDate()));
236 enterpriseRegisterRQVO.setOperatingPeriodEnd(simpleDateFormat.format(entity.getBusinessLicenseEndDate()));
237 // enterpriseRegisterRQVO.setAuthType(entity.getAuthenticationMethod());
238 enterpriseRegisterRQVO.setAuthType("3");
239 // enterpriseRegisterRQVO.setAuthStatus(entity.getAuthenticationState());
240 enterpriseRegisterRQVO.setAuthStatus("1");
241 // enterpriseRegisterRQVO.setAuthDate(simpleDateFormat.format(entity.getAuthenticationTime()));
242 enterpriseRegisterRQVO.setAuthDate(simpleDateFormat.format(new Date()));
243 enterpriseRegisterRQVO.setLegalPerson(entity.getJuridicalPerson());
244 enterpriseRegisterRQVO.setLegalPersonCertno(entity.getJuridicalPersonId());
245 enterpriseRegisterRQVO.setLegalPersonAuthLevel("1");
246 enterpriseRegisterRQVO.setLegalPersonAuthType("1");
247 // enterpriseRegisterRQVO.setIdentityStatus(entity.getIdentityState());
248 enterpriseRegisterRQVO.setIdentityStatus("1");
249 EnterpriseSubordinateRQVO extendInfo = new EnterpriseSubordinateRQVO();
250 extendInfo.setEnterpriseAddress(entity.getDetailedAddress());
251 extendInfo.setRegAmount(entity.getRegisteredCapital().toString());
252 extendInfo.setRegDate(simpleDateFormat.format(entity.getRegistrationDate()));
253 extendInfo.setBusinessScope(entity.getBusinessLicenseScope());
254 extendInfo.setIndustryCategory(industryDicMap.get(entity.getIndustry()));
255 extendInfo.setIndustryCategory2(industryDicMap.get(entity.getIndustrySmallcode()));
256 extendInfo.setBusinessLicense(getName(entity.getBusinessLicenseJson()));
257 enterpriseRegisterRQVO.setExtendInfo(extendInfo);
258 return enterpriseRegisterRQVO;
259 }
260
261 /**
262 * 取数据字典
263 * @param paramCode
264 * @return
265 */
266 private Map<String, String> getSystemParamsMap(String paramCode) {
267 //获取平台字典信息
268 Object dictMapValue= redisUtil.get(String.format(RedisKeyEnum.DICT_ITEM_MAP.getCode(), paramCode));
269 if(ObjectUtils.isEmpty(dictMapValue)){
270 return new HashMap<>();
271 }
272 return (Map<String, String>) dictMapValue;
273 }
274
275 private String getUrl(String businessLicenseJson) {
276 if (StringUtils.isEmpty(businessLicenseJson)) {
277 return null;
278 }
279 if (businessLicenseJson.contains("[")) {
280 return JSON.parseArray(businessLicenseJson).getJSONObject(0).getString("url");
281 }
282 return JSON.parseObject(businessLicenseJson).getString("url");
283 }
284
285 private String getName(String businessLicenseJson) {
286 if (StringUtils.isEmpty(businessLicenseJson)) {
287 return null;
288 }
289 if (businessLicenseJson.contains("[")) {
290 return JSON.parseArray(businessLicenseJson).getJSONObject(0).getString("name");
291 }
292 return JSON.parseObject(businessLicenseJson).getString("name");
293 }
294 }
...\ No newline at end of file ...\ No newline at end of file
...@@ -19,10 +19,7 @@ import com.csbr.qingcloud.portal.mybatis.entity.MfEnterprise; ...@@ -19,10 +19,7 @@ import com.csbr.qingcloud.portal.mybatis.entity.MfEnterprise;
19 import com.csbr.qingcloud.portal.mybatis.entity.MfEnterpriseChangeApprove; 19 import com.csbr.qingcloud.portal.mybatis.entity.MfEnterpriseChangeApprove;
20 import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseChangeApproveService; 20 import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseChangeApproveService;
21 import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseService; 21 import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseService;
22 import com.csbr.qingcloud.portal.service.EnterpriseAttachmentService; 22 import com.csbr.qingcloud.portal.service.*;
23 import com.csbr.qingcloud.portal.service.EnterpriseChangeApproveService;
24 import com.csbr.qingcloud.portal.service.EnterpriseDomainService;
25 import com.csbr.qingcloud.portal.service.EnterpriseService;
26 import com.csbr.qingcloud.portal.util.ChangeInfoUtil; 23 import com.csbr.qingcloud.portal.util.ChangeInfoUtil;
27 import com.csbr.qingcloud.portal.util.InvokeUtil; 24 import com.csbr.qingcloud.portal.util.InvokeUtil;
28 import com.csbr.qingcloud.portal.util.ZQConfig; 25 import com.csbr.qingcloud.portal.util.ZQConfig;
...@@ -95,6 +92,9 @@ public class EnterpriseChangeApproveServiceImpl implements EnterpriseChangeAppro ...@@ -95,6 +92,9 @@ public class EnterpriseChangeApproveServiceImpl implements EnterpriseChangeAppro
95 @Resource 92 @Resource
96 private EnterpriseDomainService enterpriseDomainService; 93 private EnterpriseDomainService enterpriseDomainService;
97 94
95 @Resource
96 private DataPortService dataPortService;
97
98 /** 保存变更数据 */ 98 /** 保存变更数据 */
99 @Override 99 @Override
100 public void changeSave(ChangeApproveVO vo) { 100 public void changeSave(ChangeApproveVO vo) {
...@@ -348,6 +348,10 @@ public class EnterpriseChangeApproveServiceImpl implements EnterpriseChangeAppro ...@@ -348,6 +348,10 @@ public class EnterpriseChangeApproveServiceImpl implements EnterpriseChangeAppro
348 348
349 //同步更新会员表 349 //同步更新会员表
350 enterpriseService.updateTenant(vo); 350 enterpriseService.updateTenant(vo);
351
352 // 调用数据港法人和经办人更新接口
353 dataPortService.operatorUpdate(entity);
354 dataPortService.enterpriseUpdate(entity);
351 } 355 }
352 } 356 }
353 357
......
...@@ -34,6 +34,7 @@ import com.csbr.qingcloud.portal.mybatis.entity.MfEnterpriseChangeApprove; ...@@ -34,6 +34,7 @@ import com.csbr.qingcloud.portal.mybatis.entity.MfEnterpriseChangeApprove;
34 import com.csbr.qingcloud.portal.mybatis.service.MfDemandService; 34 import com.csbr.qingcloud.portal.mybatis.service.MfDemandService;
35 import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseChangeApproveService; 35 import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseChangeApproveService;
36 import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseService; 36 import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseService;
37 import com.csbr.qingcloud.portal.service.DataPortService;
37 import com.csbr.qingcloud.portal.service.EnterpriseAttachmentService; 38 import com.csbr.qingcloud.portal.service.EnterpriseAttachmentService;
38 import com.csbr.qingcloud.portal.service.EnterpriseDomainService; 39 import com.csbr.qingcloud.portal.service.EnterpriseDomainService;
39 import com.csbr.qingcloud.portal.service.EnterpriseService; 40 import com.csbr.qingcloud.portal.service.EnterpriseService;
...@@ -124,6 +125,9 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris ...@@ -124,6 +125,9 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris
124 @Resource 125 @Resource
125 private ValidatorUtil validatorUtil; 126 private ValidatorUtil validatorUtil;
126 127
128 @Resource
129 private DataPortService dataPortService;
130
127 /** 131 /**
128 * 企业信息分页查询 132 * 企业信息分页查询
129 * @author xcq 133 * @author xcq
...@@ -515,6 +519,9 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris ...@@ -515,6 +519,9 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris
515 else{ 519 else{
516 updateTenant(entity); 520 updateTenant(entity);
517 } 521 }
522 // 调用数据港法人和经办人注册接口
523 dataPortService.operatorRegister(entity);
524 dataPortService.enterpriseRegister(entity);
518 } 525 }
519 } 526 }
520 527
......
...@@ -18,6 +18,7 @@ import com.csbr.cloud.workflow.domain.vo.appove.FlowRQBaseVO; ...@@ -18,6 +18,7 @@ import com.csbr.cloud.workflow.domain.vo.appove.FlowRQBaseVO;
18 import com.csbr.cloud.workflow.util.ApprovalFlowUtil; 18 import com.csbr.cloud.workflow.util.ApprovalFlowUtil;
19 import com.csbr.cloud.workflow.util.FlowAbstractImpl; 19 import com.csbr.cloud.workflow.util.FlowAbstractImpl;
20 import com.csbr.qingcloud.portal.domain.vo.*; 20 import com.csbr.qingcloud.portal.domain.vo.*;
21 import com.csbr.qingcloud.portal.service.DataPortService;
21 import com.csbr.qingcloud.portal.service.TdsConnectorAdditionalService; 22 import com.csbr.qingcloud.portal.service.TdsConnectorAdditionalService;
22 import com.csbr.qingcloud.portal.service.TdsConnectorVerifiableService; 23 import com.csbr.qingcloud.portal.service.TdsConnectorVerifiableService;
23 import com.csbr.qingcloud.portal.util.IdentificationCodeUtil; 24 import com.csbr.qingcloud.portal.util.IdentificationCodeUtil;
...@@ -90,6 +91,9 @@ public class TdsConnectorIdentityServiceImpl extends FlowAbstractImpl implements ...@@ -90,6 +91,9 @@ public class TdsConnectorIdentityServiceImpl extends FlowAbstractImpl implements
90 @Resource 91 @Resource
91 private ValidatorUtil validatorUtil; 92 private ValidatorUtil validatorUtil;
92 93
94 @Resource
95 private DataPortService dataPortService;
96
93 /** 97 /**
94 * 连接器身份信息分页查询 98 * 连接器身份信息分页查询
95 * @author xup 99 * @author xup
...@@ -491,6 +495,7 @@ public class TdsConnectorIdentityServiceImpl extends FlowAbstractImpl implements ...@@ -491,6 +495,7 @@ public class TdsConnectorIdentityServiceImpl extends FlowAbstractImpl implements
491 if("Y".equals(entity.getIsChangeData())) { 495 if("Y".equals(entity.getIsChangeData())) {
492 changSourceConnectorInentity(entity); 496 changSourceConnectorInentity(entity);
493 } 497 }
498 dataPortService.connectorRegister(entity);
494 } 499 }
495 //驳回和撤销是,修改原来数据状态 500 //驳回和撤销是,修改原来数据状态
496 if(ApprovalStateEnum.REJECT.getValue().equals(dto.getApprovalState()) 501 if(ApprovalStateEnum.REJECT.getValue().equals(dto.getApprovalState())
...@@ -508,6 +513,15 @@ public class TdsConnectorIdentityServiceImpl extends FlowAbstractImpl implements ...@@ -508,6 +513,15 @@ public class TdsConnectorIdentityServiceImpl extends FlowAbstractImpl implements
508 return mfTdsConnectorIdentityService.getById(guid); 513 return mfTdsConnectorIdentityService.getById(guid);
509 } 514 }
510 515
516 @Override
517 public void updateIdentity(ConnectorIdentityRQVO vo) {
518 MfTdsConnectorIdentity entity = mfTdsConnectorIdentityService.getById(vo.getGuid());
519 if (ObjectUtils.isNotEmpty(entity)) {
520 entity.setConnectorIdentity(vo.getConnectorIdentity());
521 mfTdsConnectorIdentityService.updateById(entity);
522 }
523 }
524
511 @Transactional 525 @Transactional
512 public void afterChangeSaveTdsConnectorIdentity(String guid, MfTdsConnectorIdentity oldTdsConnectorIdentity, 526 public void afterChangeSaveTdsConnectorIdentity(String guid, MfTdsConnectorIdentity oldTdsConnectorIdentity,
513 Boolean isRestart) { 527 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!