0988b67d by xu

Merge branch 'develop-v1.0.6' into feature-tds-v1.0.0

# Conflicts:
#	src/main/java/com/csbr/qingcloud/portal/service/EnterpriseService.java
2 parents 21fc2263 2be08149
Showing 25 changed files with 1859 additions and 356 deletions
1 package com.csbr.qingcloud.portal.controller;
2
3 import com.csbr.cloud.common.response.CommonRes;
4 import csbr.cloud.entity.annotation.SystemLog;
5 import csbr.cloud.entity.domain.base.vo.PageListVO;
6 import com.csbr.qingcloud.portal.domain.vo.EnterpriseAttachmentQueryVO;
7 import com.csbr.qingcloud.portal.domain.vo.EnterpriseAttachmentRQVO;
8 import com.csbr.qingcloud.portal.domain.vo.EnterpriseAttachmentRSVO;
9 import com.csbr.qingcloud.portal.service.EnterpriseAttachmentService;
10 import io.swagger.v3.oas.annotations.Operation;
11 import io.swagger.v3.oas.annotations.Parameter;
12 import io.swagger.v3.oas.annotations.tags.Tag;
13 import jakarta.annotation.Resource;
14 import jakarta.validation.Valid;
15 import org.springframework.web.bind.annotation.*;
16
17 import java.util.List;
18
19 /**
20 * @program:
21 * @description: 开发主体附件信息-控制器
22 * @author: makejava
23 * @create: 2025-09-05 13:50
24 **/
25 @RestController
26 @RequestMapping("/enterprise-attachment")
27 @Tag(name = "开发主体附件信息-控制器")
28 public class EnterpriseAttachmentController {
29
30 @Resource
31 private EnterpriseAttachmentService enterpriseAttachmentService;
32
33 //region 基本操作
34
35 @PostMapping("/save")
36 @SystemLog(value = "开发主体附件信息-新增")
37 @Operation(summary = "开发主体附件信息-新增")
38 public CommonRes<Boolean> saveEnterpriseAttachment(@RequestBody @Valid EnterpriseAttachmentRQVO vo) {
39 enterpriseAttachmentService.saveEnterpriseAttachment(vo);
40 return CommonRes.success(true);
41 }
42
43 @PutMapping("/update")
44 @SystemLog(value = "开发主体附件信息-修改")
45 @Operation(summary = "开发主体附件信息-修改")
46 public CommonRes<Boolean> updateEnterpriseAttachment(@RequestBody @Valid EnterpriseAttachmentRQVO vo) {
47 enterpriseAttachmentService.updateEnterpriseAttachment(vo);
48 return CommonRes.success(true);
49 }
50
51 @DeleteMapping("/delete")
52 @SystemLog(value = "开发主体附件信息-批量删除")
53 @Operation(summary = "开发主体附件信息-批量删除")
54 public CommonRes<Boolean> removeByGuids(@RequestBody List<String> guids) {
55 enterpriseAttachmentService.removeByGuids(guids);
56 return CommonRes.success(true);
57 }
58
59 @PostMapping("/page-list")
60 @SystemLog(value = "开发主体附件信息-分页")
61 @Operation(summary = "开发主体附件信息-分页")
62 public CommonRes<PageListVO<EnterpriseAttachmentRSVO>> pageList(@RequestBody @Valid EnterpriseAttachmentQueryVO queryVO) {
63 PageListVO<EnterpriseAttachmentRSVO> pageVO = enterpriseAttachmentService.pageList(queryVO);
64 return CommonRes.success(pageVO);
65 }
66
67 @GetMapping("/detail")
68 @SystemLog(value = "开发主体附件信息-详情")
69 @Operation(
70 summary = "开发主体附件信息-详情",
71 parameters = {
72 @Parameter(name = "guid", description = "开发主体附件信息唯一标识", required = true)}
73 )
74 public CommonRes<EnterpriseAttachmentRSVO> getEnterpriseAttachmentDetail(@RequestParam String guid) {
75 EnterpriseAttachmentRSVO vo = enterpriseAttachmentService.getEnterpriseAttachmentDetail(guid);
76 return CommonRes.success(vo);
77 }
78
79 @GetMapping("/get-fileUrl")
80 @SystemLog(value = "开发主体附件信息-查询文件Url地址")
81 @Operation(
82 summary = "开发主体附件信息-查询文件Url地址",
83 parameters = {
84 @Parameter(name = "fileId", description = "文件Id", required = true)},
85 hidden = true
86 )
87 public CommonRes<String> getFileUrl(@RequestParam String fileId) {
88 String fileUrl = enterpriseAttachmentService.getEnterpriseAttachmentUrl(fileId);
89 return CommonRes.success(fileUrl);
90 }
91
92 //endregion
93
94 }
...@@ -129,6 +129,19 @@ public class EnterpriseController { ...@@ -129,6 +129,19 @@ public class EnterpriseController {
129 enterpriseService.moveOldData(vo); 129 enterpriseService.moveOldData(vo);
130 return CommonRes.success(true); 130 return CommonRes.success(true);
131 } 131 }
132
133 @PostMapping("/list-by-tenant-guids")
134 @SystemLog(value = "企业信息-根据会员guids查询企业信息")
135 public CommonRes<List<EnterpriseRSVO>> listByTenantGuids(@RequestBody List<String> guids) {
136 List<EnterpriseRSVO> vo = enterpriseService.listByTenantGuids(guids);
137 return CommonRes.success(vo);
138 }
139
140 @GetMapping("/update-identity-state")
141 @SystemLog(value = "企业信息-修改身份状态")
142 public CommonRes<Boolean> updateIdentityState(@RequestParam String logonUser, @RequestParam String identityState) {
143 return CommonRes.success(enterpriseService.updateIdentityState(logonUser, identityState));
144 }
132 145
133 //endregion 146 //endregion
134 147
......
1 package com.csbr.qingcloud.portal.domain.vo;
2
3
4 import io.swagger.v3.oas.annotations.media.Schema;
5 import lombok.Data;
6
7 /**
8 * @program: ms-zcgl-system-manager-service
9 * @description: TODO
10 * @author: lixiang
11 * @create: 2023-10-19 16:28
12 **/
13 @Data
14 public class DataDictDetailVO {
15
16 /** 系统唯一标识 */
17 @Schema(title="系统唯一标识")
18 private String guid;
19
20 /** 参数名称 */
21 @Schema(title="参数名称")
22 private String paramName;
23
24 /** 参数编码 */
25 @Schema(title="参数编码")
26 private String paramCode;
27
28 /** 参数类型(用途归类) */
29 @Schema(title="参数类型(用途归类)")
30 private String paramType;
31
32 /** 参数值 */
33 @Schema(title="参数值")
34 private String paramValue;
35
36 /** 排序 */
37 @Schema(title="排序")
38 private Integer orderNum;
39
40 }
1 package com.csbr.qingcloud.portal.domain.vo;
2
3 import com.fasterxml.jackson.annotation.JsonFormat;
4 import io.swagger.v3.oas.annotations.media.Schema;
5 import lombok.Data;
6
7 import java.util.List;
8
9 /**
10 * @program: @program:
11 * @description: 数据字典返回对象
12 * @author: csbrAuthor
13 * @create: 2023-08-25
14 **/
15 @Data
16 @Schema(title="数据字典返回对象")
17 public class DataDictVO {
18
19 /** 系统唯一标识 */
20 @Schema(title="系统唯一标识")
21 private String guid;
22
23 /** 参数类型(用途归类) */
24 @Schema(title="参数类型(用途归类)")
25 private String paramType;
26
27 /** 参数编码 */
28 @Schema(title="参数编码")
29 private String paramCode;
30
31 /** 参数名称 */
32 @Schema(title="参数名称")
33 private String paramName;
34
35 /** 描述 */
36 @Schema(title="描述")
37 private String remarks;
38
39 /** 参数值 */
40 @Schema(title="参数值")
41 private String paramValue;
42
43 /** 排序 */
44 @Schema(title="排序")
45 private Integer orderNum;
46
47 /** 修改姓名 */
48 @Schema(title="修改姓名")
49 private String updateUserName;
50
51 /** 修改时间 */
52 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
53 @Schema(title="修改时间")
54 private String updateTime;
55
56 @Schema(title="系统参数子明细")
57 List<DataDictDetailVO> detailVOList;
58
59
60 }
...\ No newline at end of file ...\ No newline at end of file
1 package com.csbr.qingcloud.portal.domain.vo; 1 package com.csbr.qingcloud.portal.domain.vo;
2 2
3 import io.swagger.v3.oas.annotations.media.Schema; 3 import io.swagger.v3.oas.annotations.media.Schema;
4 import com.fasterxml.jackson.annotation.JsonFormat; 4 import jakarta.validation.constraints.NotBlank;
5 import jakarta.validation.constraints.Size; 5 import jakarta.validation.constraints.Size;
6 import lombok.Data; 6 import lombok.Data;
7
7 import java.math.BigDecimal; 8 import java.math.BigDecimal;
8 import java.util.Date;
9 9
10 /** 10 /**
11 * @program: 11 * @program:
12 * @description: 开发主体附件信息新增、修改参数 12 * @description: 开发主体附件信息新增、修改参数
13 * @author: makejava 13 * @author: makejava
14 * @create: 2025-09-05 13:50 14 * @create: 2025-09-05 13:50
...@@ -16,59 +16,68 @@ import java.util.Date; ...@@ -16,59 +16,68 @@ import java.util.Date;
16 @Data 16 @Data
17 @Schema(title = "开发主体附件信息新增、修改参数") 17 @Schema(title = "开发主体附件信息新增、修改参数")
18 public class EnterpriseAttachmentRQVO { 18 public class EnterpriseAttachmentRQVO {
19 19
20 /** 20 /**
21 * 系统唯一标识 21 * 系统唯一标识
22 */ 22 */
23 @Schema(description = "系统唯一标识") 23 @Schema(description = "系统唯一标识")
24 @Size(max = 32, message = "系统唯一标识长度超过32") 24 @Size(max = 32, message = "系统唯一标识长度超过32")
25 private String guid; 25 private String guid;
26 26
27 /** 27 /**
28 * 企业唯一标识 28 * 企业唯一标识
29 */ 29 */
30 @Schema(description = "企业唯一标识") 30 @Schema(description = "企业唯一标识")
31 @Size(max = 32, message = "企业唯一标识长度超过32") 31 @Size(max = 32, message = "企业唯一标识长度超过32")
32 private String tenantGuid; 32 private String tenantGuid;
33 33
34 /** 34 /**
35 * 企业认证唯一标识 35 * 企业认证唯一标识
36 */ 36 */
37 @Schema(description = "企业认证唯一标识") 37 @Schema(description = "企业认证唯一标识")
38 @Size(max = 32, message = "企业认证唯一标识长度超过32") 38 @Size(max = 32, message = "企业认证唯一标识长度超过32")
39 private String enterpriseGuid; 39 private String enterpriseGuid;
40 40
41 /**
42 * 文件唯一标识
43 */
44 @Schema(description = "文件唯一标识")
45 private String fileId;
46
41 /** 47 /**
42 * 文件名称 48 * 文件名称
43 */ 49 */
44 @Schema(description = "文件名称") 50 @Schema(description = "文件名称")
45 @Size(max = 50, message = "文件名称长度超过50") 51 @Size(max = 50, message = "文件名称长度超过50")
52 @NotBlank(message = "文件名称为空.")
46 private String fileName; 53 private String fileName;
47 54
48 /** 55 /**
49 * 文件类型【详情 开发主体附件类型数据字典】 56 * 文件类型【详情 开发主体附件类型数据字典】
50 */ 57 */
51 @Schema(description = "文件类型【详情 开发主体附件类型数据字典】") 58 @Schema(description = "文件类型【详情 开发主体附件类型数据字典】")
52 @Size(max = 10, message = "文件类型【详情 开发主体附件类型数据字典】长度超过10") 59 @Size(max = 10, message = "文件类型【详情 开发主体附件类型数据字典】长度超过10")
60 @NotBlank(message = "文件类型为空.")
53 private String fileType; 61 private String fileType;
54 62
55 /** 63 /**
56 * 文件大小 64 * 文件大小
57 */ 65 */
58 @Schema(description = "文件大小") 66 @Schema(description = "文件大小")
59 private BigDecimal fileSize; 67 private BigDecimal fileSize;
60 68
61 /** 69 /**
62 * 文件地址 70 * 文件地址
63 */ 71 */
64 @Schema(description = "文件地址") 72 @Schema(description = "文件地址")
65 @Size(max = 500, message = "文件地址长度超过500") 73 @Size(max = 500, message = "文件地址长度超过500")
74 @NotBlank(message = "文件地址为空.")
66 private String fileUrl; 75 private String fileUrl;
67 76
68 /******** 库表存储属性 需处理 *****/ 77 /******** 库表存储属性 需处理 *****/
69 78
70 /******** 自定义扩展 *****/ 79 /******** 自定义扩展 *****/
71 80
72 /******** 子对象 *****/ 81 /******** 子对象 *****/
73 82
74 } 83 }
......
1 package com.csbr.qingcloud.portal.domain.vo; 1 package com.csbr.qingcloud.portal.domain.vo;
2 2
3 import com.csbr.cloud.common.annotations.SystemParamsDict;
3 import io.swagger.v3.oas.annotations.media.Schema; 4 import io.swagger.v3.oas.annotations.media.Schema;
4 import com.fasterxml.jackson.annotation.JsonFormat;
5 import lombok.Data; 5 import lombok.Data;
6
6 import java.math.BigDecimal; 7 import java.math.BigDecimal;
7 import java.util.Date;
8 8
9 /** 9 /**
10 * @program: 10 * @program:
11 * @description: 开发主体附件信息返回参数 11 * @description: 开发主体附件信息返回参数
12 * @author: makejava 12 * @author: makejava
13 * @create: 2025-09-05 13:50 13 * @create: 2025-09-05 13:50
...@@ -15,53 +15,60 @@ import java.util.Date; ...@@ -15,53 +15,60 @@ import java.util.Date;
15 @Data 15 @Data
16 @Schema(title = "开发主体附件信息返回参数") 16 @Schema(title = "开发主体附件信息返回参数")
17 public class EnterpriseAttachmentRSVO { 17 public class EnterpriseAttachmentRSVO {
18 18
19 /** 19 /**
20 * 系统唯一标识 20 * 系统唯一标识
21 */ 21 */
22 @Schema(description = "系统唯一标识") 22 @Schema(description = "系统唯一标识")
23 private String guid; 23 private String guid;
24 24
25 /** 25 /**
26 * 企业唯一标识 26 * 企业唯一标识
27 */ 27 */
28 @Schema(description = "企业唯一标识") 28 @Schema(description = "企业唯一标识")
29 private String tenantGuid; 29 private String tenantGuid;
30 30
31 /** 31 /**
32 * 企业认证唯一标识 32 * 企业认证唯一标识
33 */ 33 */
34 @Schema(description = "企业认证唯一标识") 34 @Schema(description = "企业认证唯一标识")
35 private String enterpriseGuid; 35 private String enterpriseGuid;
36 36
37 /** 37 /**
38 * 文件名称 38 * 文件名称
39 */ 39 */
40 @Schema(description = "文件名称") 40 @Schema(description = "文件名称")
41 private String fileName; 41 private String fileName;
42 42
43 /** 43 /**
44 * 文件类型【详情 开发主体附件类型数据字典】 44 * 文件类型【详情 开发主体附件类型数据字典】
45 */ 45 */
46 @Schema(description = "文件类型【详情 开发主体附件类型数据字典】") 46 @Schema(description = "文件类型【详情 开发主体附件类型数据字典】")
47 private String fileType; 47 private String fileType;
48 48
49 /**
50 * 文件类型名称
51 */
52 @Schema(description = "文件类型名称")
53 @SystemParamsDict(dictTypeName = "开发主体附件类型", codeFieldName = "fileType")
54 private String fileTypeName;
55
49 /** 56 /**
50 * 文件大小 57 * 文件大小
51 */ 58 */
52 @Schema(description = "文件大小") 59 @Schema(description = "文件大小")
53 private BigDecimal fileSize; 60 private BigDecimal fileSize;
54 61
55 /** 62 /**
56 * 文件地址 63 * 文件地址
57 */ 64 */
58 @Schema(description = "文件地址") 65 @Schema(description = "文件地址")
59 private String fileUrl; 66 private String fileUrl;
60 67
61 /******** 库表存储属性 需处理 *****/ 68 /******** 库表存储属性 需处理 *****/
62 69
63 /******** 自定义扩展 *****/ 70 /******** 自定义扩展 *****/
64 71
65 /******** 子对象 *****/ 72 /******** 子对象 *****/
66 73
67 } 74 }
......
1 package com.csbr.qingcloud.portal.domain.vo;
2
3 import csbr.cloud.entity.domain.base.dto.BasePageDTO;
4 import io.swagger.v3.oas.annotations.media.Schema;
5 import lombok.EqualsAndHashCode;
6 import lombok.Data;
7 import java.util.Date;
8
9 /**
10 * @program:
11 * @description: 开发主体领域信息查询参数
12 * @author: makejava
13 * @create: 2025-09-12 11:02
14 **/
15 @EqualsAndHashCode(callSuper = true)
16 @Data
17 @Schema(title = "开发主体领域信息查询参数")
18 public class EnterpriseDomainQueryVO extends BasePageDTO {
19
20 }
1 package com.csbr.qingcloud.portal.domain.vo;
2
3 import com.fasterxml.jackson.annotation.JsonFormat;
4 import io.swagger.v3.oas.annotations.media.Schema;
5 import jakarta.validation.constraints.NotBlank;
6 import jakarta.validation.constraints.NotNull;
7 import jakarta.validation.constraints.Pattern;
8 import jakarta.validation.constraints.Size;
9 import lombok.Data;
10
11 import java.util.Date;
12
13 /**
14 * @program:
15 * @description: 开发主体领域信息新增、修改参数
16 * @author: makejava
17 * @create: 2025-09-12 11:02
18 **/
19 @Data
20 @Schema(title = "开发主体领域信息新增、修改参数")
21 public class EnterpriseDomainRQVO {
22
23 /**
24 * 系统唯一标识
25 */
26 @Schema(description = "系统唯一标识")
27 @Size(max = 32, message = "系统唯一标识长度超过32")
28 private String guid;
29
30 /**
31 * 企业认证唯一标识
32 */
33 @Schema(description = "企业认证唯一标识")
34 @Size(max = 32, message = "企业认证唯一标识长度超过32")
35 private String enterpriseGuid;
36
37 /**
38 * 领域代码
39 */
40 @Schema(description = "领域代码")
41 @Size(max = 10, message = "领域代码长度超过10")
42 @NotBlank(message = "领域代码为空.")
43 private String domainId;
44
45 /**
46 * 授权协议号
47 */
48 @Schema(description = "授权协议号")
49 @Size(max = 50, message = "授权协议号长度超过50")
50 @NotBlank(message = "授权协议号为空.")
51 private String authId;
52
53 /**
54 * 协议开始日期
55 */
56 @Schema(description = "协议开始日期")
57 @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
58 @NotNull(message = "协议开始日期为空.")
59 private Date domainStartTime;
60
61 /**
62 * 协议结束日期
63 */
64 @Schema(description = "协议结束日期")
65 @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
66 @NotNull(message = "协议结束日期为空.")
67 private Date domainEndTime;
68
69 /**
70 * 协议签订日期
71 */
72 @Schema(description = "协议签订日期")
73 @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
74 @NotNull(message = "协议签订日期为空.")
75 private Date domainSignTime;
76
77 /**
78 * 协议签订人
79 */
80 @Schema(description = "协议签订人")
81 @Size(max = 20, message = "协议签订人长度超过20")
82 @NotBlank(message = "协议签订人为空.")
83 private String signee;
84
85 /**
86 * 协议状态,如10【10-生效中;20-已终止】
87 */
88 @Schema(description = "协议状态,如10【10-生效中;20-已终止】")
89 @Size(max = 10, message = "协议状态,如10【10-生效中;20-已终止】长度超过10")
90 @NotBlank(message = "协议状态为空.")
91 @Pattern(regexp = "^10|20$", message = "领域代码应该为10、20中的值。")
92 private String domainStatus;
93
94 /******** 库表存储属性 需处理 *****/
95
96 /******** 自定义扩展 *****/
97
98 /******** 子对象 *****/
99
100 }
1 package com.csbr.qingcloud.portal.domain.vo;
2
3 import com.csbr.cloud.common.annotations.SystemParamsDict;
4 import com.fasterxml.jackson.annotation.JsonFormat;
5 import io.swagger.v3.oas.annotations.media.Schema;
6 import lombok.Data;
7
8 import java.util.Date;
9
10 /**
11 * @program:
12 * @description: 开发主体领域信息返回参数
13 * @author: makejava
14 * @create: 2025-09-12 11:02
15 **/
16 @Data
17 @Schema(title = "开发主体领域信息返回参数")
18 public class EnterpriseDomainRSVO {
19
20 /**
21 * 系统唯一标识
22 */
23 @Schema(description = "系统唯一标识")
24 private String guid;
25
26 /**
27 * 企业唯一标识
28 */
29 @Schema(description = "企业唯一标识")
30 private String tenantGuid;
31
32 /**
33 * 企业认证唯一标识
34 */
35 @Schema(description = "企业认证唯一标识")
36 private String enterpriseGuid;
37
38 /**
39 * 领域代码
40 */
41 @Schema(description = "领域代码")
42 private String domainId;
43
44 @Schema(title = "领域名称")
45 @SystemParamsDict(dictTypeName = "领域", codeFieldName = "domainId")
46 private String domainIdName;
47
48 /**
49 * 授权协议号
50 */
51 @Schema(description = "授权协议号")
52 private String authId;
53
54 /**
55 * 协议开始日期
56 */
57 @Schema(description = "协议开始日期")
58 @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
59 private Date domainStartTime;
60
61 /**
62 * 协议结束日期
63 */
64 @Schema(description = "协议结束日期")
65 @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
66 private Date domainEndTime;
67
68 /**
69 * 协议签订日期
70 */
71 @Schema(description = "协议签订日期")
72 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
73 private Date domainSignTime;
74
75 /**
76 * 协议签订人
77 */
78 @Schema(description = "协议签订人")
79 private String signee;
80
81 /**
82 * 协议状态,如10【10-生效中;20-已终止】
83 */
84 @Schema(description = "协议状态,如10【10-生效中;20-已终止】")
85 private String domainStatus;
86
87 @Schema(title = "协议状态名称")
88 @SystemParamsDict(dictTypeName = "协议状态", codeFieldName = "domainStatus")
89 private String domainStatusName;
90
91 /******** 库表存储属性 需处理 *****/
92
93 /******** 自定义扩展 *****/
94
95 /******** 子对象 *****/
96
97 }
1 package com.csbr.qingcloud.portal.domain.vo; 1 package com.csbr.qingcloud.portal.domain.vo;
2 2
3 import com.csbr.cloud.workflow.domain.vo.appove.FlowRQBaseVO; 3 import com.csbr.cloud.workflow.domain.vo.appove.FlowRQBaseVO;
4 import io.swagger.v3.oas.annotations.media.Schema;
5 import com.fasterxml.jackson.annotation.JsonFormat; 4 import com.fasterxml.jackson.annotation.JsonFormat;
5 import io.swagger.v3.oas.annotations.media.Schema;
6 import lombok.Data; 6 import lombok.Data;
7
7 import java.math.BigDecimal; 8 import java.math.BigDecimal;
8 import java.util.Date; 9 import java.util.Date;
10 import java.util.List;
9 11
10 /** 12 /**
11 * @program: D:/git/ms-data-circulation-portal-service 13 * @program: D:/git/ms-data-circulation-portal-service
...@@ -27,158 +29,185 @@ public class EnterpriseRQVO extends FlowRQBaseVO { ...@@ -27,158 +29,185 @@ public class EnterpriseRQVO extends FlowRQBaseVO {
27 29
28 @Schema(title = "节点名称") 30 @Schema(title = "节点名称")
29 private String zqName; 31 private String zqName;
30 32
31 /** 33 /**
32 * 统一社会信用代码 34 * 统一社会信用代码
33 */ 35 */
34 @Schema(description = "统一社会信用代码") 36 @Schema(description = "统一社会信用代码")
35 private String socialCreditCode; 37 private String socialCreditCode;
36 38
37 /** 39 /**
38 * 企业类型【选择平台字典【公司类型】的选项】 40 * 企业类型【选择平台字典【公司类型】的选项】
39 */ 41 */
40 @Schema(description = "企业类型【选择平台字典【公司类型】的选项】") 42 @Schema(description = "企业类型【选择平台字典【公司类型】的选项】")
41 private String tenantType; 43 private String tenantType;
42 44
43 /** 45 /**
44 * 注册日期 46 * 注册日期
45 */ 47 */
46 @Schema(description = "注册日期") 48 @Schema(description = "注册日期")
47 @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") 49 @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
48 private Date registrationDate; 50 private Date registrationDate;
49 51
50 /** 52 /**
51 * 注册资本【(万元)】 53 * 注册资本【(万元)】
52 */ 54 */
53 @Schema(description = "注册资本【(万元)】") 55 @Schema(description = "注册资本【(万元)】")
54 private BigDecimal registeredCapital; 56 private BigDecimal registeredCapital;
55 57
56 /** 58 /**
57 * 税号 59 * 税号
58 */ 60 */
59 @Schema(description = "税号") 61 @Schema(description = "税号")
60 private String bankTaxNo; 62 private String bankTaxNo;
61 63
62 /** 64 /**
63 * 省 65 * 省
64 */ 66 */
65 @Schema(description = "省") 67 @Schema(description = "省")
66 private String province; 68 private String province;
67 69
68 /** 70 /**
69 * 市 71 * 市
70 */ 72 */
71 @Schema(description = "市") 73 @Schema(description = "市")
72 private String city; 74 private String city;
73 75
74 /** 76 /**
75 * 区 77 * 区
76 */ 78 */
77 @Schema(description = "区") 79 @Schema(description = "区")
78 private String district; 80 private String district;
79 81
80 /** 82 /**
81 * 营业期限【1 长期有效;2 自定义】 83 * 营业期限【1 长期有效;2 自定义】
82 */ 84 */
83 @Schema(description = "营业期限【1 长期有效;2 自定义】") 85 @Schema(description = "营业期限【1 长期有效;2 自定义】")
84 private String businessLicenseTerm; 86 private String businessLicenseTerm;
85 87
86 /** 88 /**
87 * 营业开始日期 89 * 营业开始日期
88 */ 90 */
89 @Schema(description = "营业开始日期") 91 @Schema(description = "营业开始日期")
90 @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") 92 @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
91 private Date businessLicenseStartDate; 93 private Date businessLicenseStartDate;
92 94
93 /** 95 /**
94 * 营业结束日期 96 * 营业结束日期
95 */ 97 */
96 @Schema(description = "营业结束日期") 98 @Schema(description = "营业结束日期")
97 @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") 99 @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
98 private Date businessLicenseEndDate; 100 private Date businessLicenseEndDate;
99 101
100 /** 102 /**
101 * 营业执照 103 * 营业执照
102 */ 104 */
103 @Schema(description = "营业执照") 105 @Schema(description = "营业执照")
104 private String businessLicenseJson; 106 private String businessLicenseJson;
105 107
106 /** 108 /**
107 * 营业执照经营范围 109 * 营业执照经营范围
108 */ 110 */
109 @Schema(description = "营业执照经营范围") 111 @Schema(description = "营业执照经营范围")
110 private String businessLicenseScope; 112 private String businessLicenseScope;
111 113
112 /** 114 /**
113 * 公司法人 115 * 公司法人
114 */ 116 */
115 @Schema(description = "公司法人") 117 @Schema(description = "公司法人")
116 private String juridicalPerson; 118 private String juridicalPerson;
117 119
118 /** 120 /**
119 * 法人证件类型 121 * 法人证件类型
120 */ 122 */
121 @Schema(description = "法人证件类型") 123 @Schema(description = "法人证件类型")
122 private String juridicalPersonIdType; 124 private String juridicalPersonIdType;
123 125
124 /** 126 /**
125 * 法人证件号 127 * 法人证件号
126 */ 128 */
127 @Schema(description = "法人证件号") 129 @Schema(description = "法人证件号")
128 private String juridicalPersonId; 130 private String juridicalPersonId;
129 131
130 /** 132 /**
131 * 法人证件照 133 * 法人证件照
132 */ 134 */
133 @Schema(description = "法人证件照") 135 @Schema(description = "法人证件照")
134 private String juridicalPersonIdPhotoJson; 136 private String juridicalPersonIdPhotoJson;
135 137
136 /** 138 /**
137 * 登录账号 139 * 登录账号
138 */ 140 */
139 @Schema(description = "登录账号") 141 @Schema(description = "登录账号")
140 private String logonUser; 142 private String logonUser;
141 143
142 /** 144 /**
143 * 联系人 145 * 联系人
144 */ 146 */
145 @Schema(description = "联系人") 147 @Schema(description = "联系人")
146 private String contacts; 148 private String contacts;
147 149
148 /** 150 /**
149 * 联系人电话 151 * 联系人电话
150 */ 152 */
151 @Schema(description = "联系人电话") 153 @Schema(description = "联系人电话")
152 private String contactTel; 154 private String contactTel;
153 155
154 /** 156 /**
155 * 管理员证件号 157 * 管理员证件号
156 */ 158 */
157 @Schema(description = "管理员证件号") 159 @Schema(description = "管理员证件号")
158 private String managerPersonId; 160 private String managerPersonId;
159 161
160 /** 162 /**
161 * 管理员证件照 163 * 管理员证件照
162 */ 164 */
163 @Schema(description = "管理员证件照") 165 @Schema(description = "管理员证件照")
164 private String managerPersonIdPhotoJson; 166 private String managerPersonIdPhotoJson;
165 167
166 /** 168 /**
167 * 授权委托书 169 * 授权委托书
168 */ 170 */
169 @Schema(description = "授权委托书") 171 @Schema(description = "授权委托书")
170 private String authorizationLetter; 172 private String authorizationLetter;
171 173
172 /** 174 /**
173 * 业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃; 默认 N】 175 * 业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃; 默认 N】
174 */ 176 */
175 @Schema(description = "业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃;B 变更中; 默认 N】") 177 @Schema(description = "业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃;B 变更中; 默认 N】")
176 private String bizApproveState; 178 private String bizApproveState;
177 179
180 @Schema(description = "组织机构性质")
181 private String institutionType;
182
183 @Schema(description = "详细地址")
184 private String detailedAddress;
185
186 @Schema(description = "行业分类")
187 private String industry;
188
189 @Schema(description = "行业小类")
190 private String industrySmallcode;
191
192 @Schema(description = "授权方式")
193 private String authorizationMethod = "2";
194
195 @Schema(description = "身份状态")
196 private String identityState = "N";
197
198 @Schema(description = "经办人证件类型")
199 private String handlePersonIdType;
200
178 /******** 库表存储属性 需处理 *****/ 201 /******** 库表存储属性 需处理 *****/
179 202
180 /******** 自定义扩展 *****/ 203 /******** 自定义扩展 *****/
181 204
182 /******** 子对象 *****/ 205 /******** 子对象 *****/
183 206
207 @Schema(description = "开发主体附件信息")
208 private List<EnterpriseAttachmentRQVO> attachmentRQVOS;
209
210 @Schema(description = "开发主体领域信息")
211 private List<EnterpriseDomainRQVO> domainRQVOS;
212
184 } 213 }
......
1 package com.csbr.qingcloud.portal.domain.vo; 1 package com.csbr.qingcloud.portal.domain.vo;
2 2
3 import io.swagger.v3.oas.annotations.media.Schema; 3 import com.csbr.cloud.common.annotations.SystemParamsDict;
4 import com.csbr.cloud.workflow.domain.vo.appove.BizApproveVO;
4 import com.fasterxml.jackson.annotation.JsonFormat; 5 import com.fasterxml.jackson.annotation.JsonFormat;
6 import io.swagger.v3.oas.annotations.media.Schema;
5 import lombok.Data; 7 import lombok.Data;
6 import com.csbr.cloud.workflow.domain.vo.appove.BizApproveVO; 8
7 import java.math.BigDecimal; 9 import java.math.BigDecimal;
8 import java.util.Date; 10 import java.util.Date;
9 import java.util.List; 11 import java.util.List;
...@@ -17,7 +19,7 @@ import java.util.List; ...@@ -17,7 +19,7 @@ import java.util.List;
17 @Data 19 @Data
18 @Schema(title = "企业信息返回参数") 20 @Schema(title = "企业信息返回参数")
19 public class EnterpriseRSVO { 21 public class EnterpriseRSVO {
20 22
21 /** 23 /**
22 * 系统唯一标识 24 * 系统唯一标识
23 */ 25 */
...@@ -32,50 +34,50 @@ public class EnterpriseRSVO { ...@@ -32,50 +34,50 @@ public class EnterpriseRSVO {
32 */ 34 */
33 @Schema(description = "公司名称") 35 @Schema(description = "公司名称")
34 private String tenantName; 36 private String tenantName;
35 37
36 /** 38 /**
37 * 统一社会信用代码 39 * 统一社会信用代码
38 */ 40 */
39 @Schema(description = "统一社会信用代码") 41 @Schema(description = "统一社会信用代码")
40 private String socialCreditCode; 42 private String socialCreditCode;
41 43
42 /** 44 /**
43 * 企业类型【选择平台字典【公司类型】的选项】 45 * 企业类型【选择平台字典【公司类型】的选项】
44 */ 46 */
45 @Schema(description = "企业类型【选择平台字典【公司类型】的选项】") 47 @Schema(description = "企业类型【选择平台字典【公司类型】的选项】")
46 private String tenantType; 48 private String tenantType;
47 49
48 /** 50 /**
49 * 注册日期 51 * 注册日期
50 */ 52 */
51 @Schema(description = "注册日期") 53 @Schema(description = "注册日期")
52 @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") 54 @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
53 private Date registrationDate; 55 private Date registrationDate;
54 56
55 /** 57 /**
56 * 注册资本【(万元)】 58 * 注册资本【(万元)】
57 */ 59 */
58 @Schema(description = "注册资本【(万元)】") 60 @Schema(description = "注册资本【(万元)】")
59 private BigDecimal registeredCapital; 61 private BigDecimal registeredCapital;
60 62
61 /** 63 /**
62 * 税号 64 * 税号
63 */ 65 */
64 @Schema(description = "税号") 66 @Schema(description = "税号")
65 private String bankTaxNo; 67 private String bankTaxNo;
66 68
67 /** 69 /**
68 * 省 70 * 省
69 */ 71 */
70 @Schema(description = "省") 72 @Schema(description = "省")
71 private String province; 73 private String province;
72 74
73 /** 75 /**
74 * 市 76 * 市
75 */ 77 */
76 @Schema(description = "市") 78 @Schema(description = "市")
77 private String city; 79 private String city;
78 80
79 /** 81 /**
80 * 区 82 * 区
81 */ 83 */
...@@ -84,20 +86,20 @@ public class EnterpriseRSVO { ...@@ -84,20 +86,20 @@ public class EnterpriseRSVO {
84 86
85 @Schema(description = "注册地") 87 @Schema(description = "注册地")
86 private String venue; 88 private String venue;
87 89
88 /** 90 /**
89 * 营业期限【1 长期有效;2 自定义】 91 * 营业期限【1 长期有效;2 自定义】
90 */ 92 */
91 @Schema(description = "营业期限【1 长期有效;2 自定义】") 93 @Schema(description = "营业期限【1 长期有效;2 自定义】")
92 private String businessLicenseTerm; 94 private String businessLicenseTerm;
93 95
94 /** 96 /**
95 * 营业开始日期 97 * 营业开始日期
96 */ 98 */
97 @Schema(description = "营业开始日期") 99 @Schema(description = "营业开始日期")
98 @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") 100 @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
99 private Date businessLicenseStartDate; 101 private Date businessLicenseStartDate;
100 102
101 /** 103 /**
102 * 营业结束日期 104 * 营业结束日期
103 */ 105 */
...@@ -107,79 +109,79 @@ public class EnterpriseRSVO { ...@@ -107,79 +109,79 @@ public class EnterpriseRSVO {
107 109
108 @Schema(description = "营业日期范围") 110 @Schema(description = "营业日期范围")
109 private String businessLicenseStartEnd; 111 private String businessLicenseStartEnd;
110 112
111 /** 113 /**
112 * 营业执照 114 * 营业执照
113 */ 115 */
114 @Schema(description = "营业执照") 116 @Schema(description = "营业执照")
115 private String businessLicenseJson; 117 private String businessLicenseJson;
116 118
117 /** 119 /**
118 * 营业执照经营范围 120 * 营业执照经营范围
119 */ 121 */
120 @Schema(description = "营业执照经营范围") 122 @Schema(description = "营业执照经营范围")
121 private String businessLicenseScope; 123 private String businessLicenseScope;
122 124
123 /** 125 /**
124 * 公司法人 126 * 公司法人
125 */ 127 */
126 @Schema(description = "公司法人") 128 @Schema(description = "公司法人")
127 private String juridicalPerson; 129 private String juridicalPerson;
128 130
129 /** 131 /**
130 * 法人证件类型 132 * 法人证件类型
131 */ 133 */
132 @Schema(description = "法人证件类型") 134 @Schema(description = "法人证件类型")
133 private String juridicalPersonIdType; 135 private String juridicalPersonIdType;
134 136
135 /** 137 /**
136 * 法人证件号 138 * 法人证件号
137 */ 139 */
138 @Schema(description = "法人证件号") 140 @Schema(description = "法人证件号")
139 private String juridicalPersonId; 141 private String juridicalPersonId;
140 142
141 /** 143 /**
142 * 法人证件照 144 * 法人证件照
143 */ 145 */
144 @Schema(description = "法人证件照") 146 @Schema(description = "法人证件照")
145 private String juridicalPersonIdPhotoJson; 147 private String juridicalPersonIdPhotoJson;
146 148
147 /** 149 /**
148 * 登录账号 150 * 登录账号
149 */ 151 */
150 @Schema(description = "登录账号") 152 @Schema(description = "登录账号")
151 private String logonUser; 153 private String logonUser;
152 154
153 /** 155 /**
154 * 联系人 156 * 联系人
155 */ 157 */
156 @Schema(description = "联系人") 158 @Schema(description = "联系人")
157 private String contacts; 159 private String contacts;
158 160
159 /** 161 /**
160 * 联系人电话 162 * 联系人电话
161 */ 163 */
162 @Schema(description = "联系人电话") 164 @Schema(description = "联系人电话")
163 private String contactTel; 165 private String contactTel;
164 166
165 /** 167 /**
166 * 管理员证件号 168 * 管理员证件号
167 */ 169 */
168 @Schema(description = "管理员证件号") 170 @Schema(description = "管理员证件号")
169 private String managerPersonId; 171 private String managerPersonId;
170 172
171 /** 173 /**
172 * 管理员证件照 174 * 管理员证件照
173 */ 175 */
174 @Schema(description = "管理员证件照") 176 @Schema(description = "管理员证件照")
175 private String managerPersonIdPhotoJson; 177 private String managerPersonIdPhotoJson;
176 178
177 /** 179 /**
178 * 授权委托书 180 * 授权委托书
179 */ 181 */
180 @Schema(description = "授权委托书") 182 @Schema(description = "授权委托书")
181 private String authorizationLetter; 183 private String authorizationLetter;
182 184
183 /** 185 /**
184 * 业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃; 默认 N】 186 * 业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃; 默认 N】
185 */ 187 */
...@@ -197,11 +199,61 @@ public class EnterpriseRSVO { ...@@ -197,11 +199,61 @@ public class EnterpriseRSVO {
197 */ 199 */
198 @Schema(title = "跨平台审批状态(N 初始 A 审批中 Y 已通过 R 驳回 C 已撤销)") 200 @Schema(title = "跨平台审批状态(N 初始 A 审批中 Y 已通过 R 驳回 C 已撤销)")
199 private String crossPlatformApproveState; 201 private String crossPlatformApproveState;
200 202
203 @Schema(description = "组织机构性质")
204 private String institutionType;
205
206 @Schema(description = "组织机构性质名称")
207 @SystemParamsDict(dictTypeName = "组织机构性质", codeFieldName = "institutionType")
208 private String institutionTypeName;
209
210 @Schema(description = "详细地址")
211 private String detailedAddress;
212
213 @Schema(description = "行业分类")
214 private String industry;
215
216 @Schema(description = "行业分类名称")
217 @SystemParamsDict(dictTypeName = "行业分类", codeFieldName = "industry")
218 private String industryName;
219
220 @Schema(description = "行业小类")
221 private String industrySmallcode;
222
223 @Schema(description = "行业小类名称")
224 @SystemParamsDict(dictTypeName = "行业分类", codeFieldName = "industrySmallcode")
225 private String industrySmallcodeName;
226
227 @Schema(description = "认证方式")
228 private String authenticationMethod;
229
230 @Schema(description = "认证状态")
231 private String authenticationState;
232
233 @Schema(description = "认证时间")
234 @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
235 private Date authenticationTime;
236
237 @Schema(description = "认证等级")
238 private String authenticationLevel;
239
240 @Schema(description = "身份状态")
241 private String identityState;
242
243 @Schema(description = "授权方式")
244 private String authorizationMethod;
245
246 @Schema(description = "经办人证件类型")
247 private String handlePersonIdType;
248
249 @Schema(description = "经办人证件类型名称")
250 @SystemParamsDict(dictTypeName = "证件类型", codeFieldName = "handlePersonIdType")
251 private String handlePersonIdTypeName;
252
201 /******** 库表存储属性 需处理 *****/ 253 /******** 库表存储属性 需处理 *****/
202 254
203 /******** 自定义扩展 *****/ 255 /******** 自定义扩展 *****/
204 256
205 /** 257 /**
206 * 审批信息 258 * 审批信息
207 */ 259 */
...@@ -213,7 +265,13 @@ public class EnterpriseRSVO { ...@@ -213,7 +265,13 @@ public class EnterpriseRSVO {
213 265
214 @Schema(description = "变更前信息列表") 266 @Schema(description = "变更前信息列表")
215 private List<ChangeInfoVO> beforeChangeList; 267 private List<ChangeInfoVO> beforeChangeList;
216 268
217 /******** 子对象 *****/ 269 /******** 子对象 *****/
218 270
271 @Schema(description = "开发主体附件信息返回参数")
272 private List<EnterpriseAttachmentRSVO> attachmentRSVOS;
273
274 @Schema(description = "开发主体领域信息返回参数")
275 private List<EnterpriseDomainRSVO> domainRSVOS;
276
219 } 277 }
......
1 package com.csbr.qingcloud.portal.feign;
2
3 import com.csbr.cloud.common.config.FastCallFeignConfiguration;
4 import com.netflix.hystrix.contrib.javanica.annotation.HystrixCommand;
5 import com.netflix.hystrix.contrib.javanica.annotation.HystrixProperty;
6 import org.springframework.cloud.openfeign.FeignClient;
7 import org.springframework.core.io.ByteArrayResource;
8 import org.springframework.http.MediaType;
9 import org.springframework.http.ResponseEntity;
10 import org.springframework.web.bind.annotation.RequestMapping;
11 import org.springframework.web.bind.annotation.RequestMethod;
12 import org.springframework.web.bind.annotation.RequestParam;
13
14 /**
15 * @program:
16 * @description: 公共服务调用
17 * @author: lixiang
18 * @create: 2023-11-07 17:55
19 **/
20 @FeignClient(value = "ms-daop-common-service", configuration = FastCallFeignConfiguration.class)
21 public interface DaopCommonFeign {
22 /**
23 * 下载文件流
24 * @param filePath
25 * @return
26 */
27 @HystrixCommand(fallbackMethod = "CommonUtil.sleepFallback", commandProperties =
28 {
29 @HystrixProperty(name = "execution.isolation.thread.timeoutInMilliseconds", value = "9000")
30 })
31 @RequestMapping(value = "/obs/download-file-stream",method = RequestMethod.GET, produces = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
32 ResponseEntity<ByteArrayResource> downloadFile(@RequestParam(value = "filePath", required = true) String filePath);
33
34 }
...@@ -26,149 +26,149 @@ public class MfEnterprise extends BaseDO { ...@@ -26,149 +26,149 @@ public class MfEnterprise extends BaseDO {
26 private String tenantGuid; 26 private String tenantGuid;
27 27
28 /** 28 /**
29 * 公司名称 29 * 公司名称
30 */ 30 */
31 @Name("公司名称") 31 @Name("公司名称")
32 private String tenantName; 32 private String tenantName;
33 33
34 /** 34 /**
35 * 统一社会信用代码 35 * 统一社会信用代码
36 */ 36 */
37 @Name("统一社会信用代码") 37 @Name("统一社会信用代码")
38 private String socialCreditCode; 38 private String socialCreditCode;
39 39
40 /** 40 /**
41 * 企业类型【选择平台字典【公司类型】的选项】 41 * 企业类型【选择平台字典【公司类型】的选项】
42 */ 42 */
43 @Name("企业类型") 43 @Name("企业类型")
44 private String tenantType; 44 private String tenantType;
45 45
46 /** 46 /**
47 * 注册日期 47 * 注册日期
48 */ 48 */
49 @Name("注册日期") 49 @Name("注册日期")
50 private Date registrationDate; 50 private Date registrationDate;
51 51
52 /** 52 /**
53 * 注册资本【(万元)】 53 * 注册资本【(万元)】
54 */ 54 */
55 @Name("注册资本") 55 @Name("注册资本")
56 private BigDecimal registeredCapital; 56 private BigDecimal registeredCapital;
57 57
58 /** 58 /**
59 * 税号 59 * 税号
60 */ 60 */
61 @Name("税号") 61 @Name("税号")
62 private String bankTaxNo; 62 private String bankTaxNo;
63 63
64 /** 64 /**
65 * 省 65 * 省
66 */ 66 */
67 @Name("省") 67 @Name("省")
68 private String province; 68 private String province;
69 69
70 /** 70 /**
71 * 市 71 * 市
72 */ 72 */
73 @Name("市") 73 @Name("市")
74 private String city; 74 private String city;
75 75
76 /** 76 /**
77 * 区 77 * 区
78 */ 78 */
79 @Name("区") 79 @Name("区")
80 private String district; 80 private String district;
81 81
82 /** 82 /**
83 * 营业期限【1 长期有效;2 自定义】 83 * 营业期限【1 长期有效;2 自定义】
84 */ 84 */
85 @Name("营业期限") 85 @Name("营业期限")
86 private String businessLicenseTerm; 86 private String businessLicenseTerm;
87 87
88 /** 88 /**
89 * 营业开始日期 89 * 营业开始日期
90 */ 90 */
91 @Name("营业开始日期") 91 @Name("营业开始日期")
92 private Date businessLicenseStartDate; 92 private Date businessLicenseStartDate;
93 93
94 /** 94 /**
95 * 营业结束日期 95 * 营业结束日期
96 */ 96 */
97 @Name("营业结束日期") 97 @Name("营业结束日期")
98 private Date businessLicenseEndDate; 98 private Date businessLicenseEndDate;
99 99
100 /** 100 /**
101 * 营业执照 101 * 营业执照
102 */ 102 */
103 @Name("营业执照") 103 @Name("营业执照")
104 @TableField(updateStrategy = FieldStrategy.ALWAYS) 104 @TableField(updateStrategy = FieldStrategy.ALWAYS)
105 private String businessLicenseJson; 105 private String businessLicenseJson;
106 106
107 /** 107 /**
108 * 经营范围 108 * 经营范围
109 */ 109 */
110 @Name("经营范围") 110 @Name("经营范围")
111 private String businessLicenseScope; 111 private String businessLicenseScope;
112 112
113 /** 113 /**
114 * 公司法人 114 * 公司法人
115 */ 115 */
116 @Name("公司法人") 116 @Name("公司法人")
117 private String juridicalPerson; 117 private String juridicalPerson;
118 118
119 /** 119 /**
120 * 法人证件类型 120 * 法人证件类型
121 */ 121 */
122 @Name("法人证件类型") 122 @Name("法人证件类型")
123 private String juridicalPersonIdType; 123 private String juridicalPersonIdType;
124 124
125 /** 125 /**
126 * 法人证件号 126 * 法人证件号
127 */ 127 */
128 @Name("法人证件号") 128 @Name("法人证件号")
129 private String juridicalPersonId; 129 private String juridicalPersonId;
130 130
131 /** 131 /**
132 * 法人证件照 132 * 法人证件照
133 */ 133 */
134 @Name("法人证件照") 134 @Name("法人证件照")
135 @TableField(updateStrategy = FieldStrategy.ALWAYS) 135 @TableField(updateStrategy = FieldStrategy.ALWAYS)
136 private String juridicalPersonIdPhotoJson; 136 private String juridicalPersonIdPhotoJson;
137 137
138 /** 138 /**
139 * 登录账号 139 * 登录账号
140 */ 140 */
141 @Name("登录账号") 141 @Name("登录账号")
142 private String logonUser; 142 private String logonUser;
143 143
144 /** 144 /**
145 * 联系人 145 * 联系人
146 */ 146 */
147 @Name("联系人") 147 @Name("联系人")
148 private String contacts; 148 private String contacts;
149 149
150 /** 150 /**
151 * 联系人电话 151 * 联系人电话
152 */ 152 */
153 @Name("联系人电话") 153 @Name("联系人电话")
154 private String contactTel; 154 private String contactTel;
155 155
156 /** 156 /**
157 * 管理员证件号 157 * 管理员证件号
158 */ 158 */
159 @Name("管理员证件号") 159 @Name("管理员证件号")
160 private String managerPersonId; 160 private String managerPersonId;
161 161
162 /** 162 /**
163 * 管理员证件照 163 * 管理员证件照
164 */ 164 */
165 @Name("管理员证件照") 165 @Name("管理员证件照")
166 @TableField(updateStrategy = FieldStrategy.ALWAYS) 166 @TableField(updateStrategy = FieldStrategy.ALWAYS)
167 private String managerPersonIdPhotoJson; 167 private String managerPersonIdPhotoJson;
168 168
169 /** 169 /**
170 * 授权委托书 170 * 授权委托书
171 */ 171 */
172 @Name("授权委托书") 172 @Name("授权委托书")
173 private String authorizationLetter; 173 private String authorizationLetter;
174 174
...@@ -180,11 +180,43 @@ public class MfEnterprise extends BaseDO { ...@@ -180,11 +180,43 @@ public class MfEnterprise extends BaseDO {
180 180
181 @Name("审批状态(N 初始 A 审批中 Y 已通过 R 驳回 C 已撤销)") 181 @Name("审批状态(N 初始 A 审批中 Y 已通过 R 驳回 C 已撤销)")
182 private String crossPlatformApproveState; 182 private String crossPlatformApproveState;
183 183
184 /** 184 /**
185 * 业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃; 默认 N】 185 * 业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃; 默认 N】
186 */ 186 */
187 @Name("业务审批状态") 187 @Name("业务审批状态")
188 private String bizApproveState; 188 private String bizApproveState;
189 189
190 @Name("组织机构性质")
191 private String institutionType;
192
193 @Name("详细地址")
194 private String detailedAddress;
195
196 @Name("行业分类")
197 private String industry;
198
199 @Name("行业小类")
200 private String industrySmallcode;
201
202 @Name("认证方式")
203 private String authenticationMethod;
204
205 @Name("认证状态")
206 private String authenticationState;
207
208 @Name("认证时间")
209 private Date authenticationTime;
210
211 @Name("认证等级")
212 private String authenticationLevel;
213
214 @Name("身份状态")
215 private String identityState;
216
217 @Name("授权方式")
218 private String authorizationMethod;
219
220 @Name("经办人证件类型")
221 private String handlePersonIdType;
190 } 222 }
......
...@@ -26,167 +26,167 @@ public class MfEnterpriseChangeApprove extends BaseDO { ...@@ -26,167 +26,167 @@ public class MfEnterpriseChangeApprove extends BaseDO {
26 private String tenantGuid; 26 private String tenantGuid;
27 27
28 /** 28 /**
29 * 公司名称 29 * 公司名称
30 */ 30 */
31 @Name("公司名称") 31 @Name("公司名称")
32 private String tenantName; 32 private String tenantName;
33 33
34 /** 34 /**
35 * 统一社会信用代码 35 * 统一社会信用代码
36 */ 36 */
37 @Name("统一社会信用代码") 37 @Name("统一社会信用代码")
38 private String socialCreditCode; 38 private String socialCreditCode;
39 39
40 /** 40 /**
41 * 企业类型【选择平台字典【公司类型】的选项】 41 * 企业类型【选择平台字典【公司类型】的选项】
42 */ 42 */
43 @Name("企业类型") 43 @Name("企业类型")
44 private String tenantType; 44 private String tenantType;
45 45
46 /** 46 /**
47 * 注册日期 47 * 注册日期
48 */ 48 */
49 @Name("注册日期") 49 @Name("注册日期")
50 private Date registrationDate; 50 private Date registrationDate;
51 51
52 /** 52 /**
53 * 注册资本【(万元)】 53 * 注册资本【(万元)】
54 */ 54 */
55 @Name("注册资本") 55 @Name("注册资本")
56 private BigDecimal registeredCapital; 56 private BigDecimal registeredCapital;
57 57
58 /** 58 /**
59 * 税号 59 * 税号
60 */ 60 */
61 @Name("税号") 61 @Name("税号")
62 private String bankTaxNo; 62 private String bankTaxNo;
63 63
64 /** 64 /**
65 * 省 65 * 省
66 */ 66 */
67 @Name("省") 67 @Name("省")
68 private String province; 68 private String province;
69 69
70 /** 70 /**
71 * 市 71 * 市
72 */ 72 */
73 @Name("市") 73 @Name("市")
74 private String city; 74 private String city;
75 75
76 /** 76 /**
77 * 区 77 * 区
78 */ 78 */
79 @Name("区") 79 @Name("区")
80 private String district; 80 private String district;
81 81
82 /** 82 /**
83 * 营业期限【1 长期有效;2 自定义】 83 * 营业期限【1 长期有效;2 自定义】
84 */ 84 */
85 @Name("营业期限") 85 @Name("营业期限")
86 private String businessLicenseTerm; 86 private String businessLicenseTerm;
87 87
88 /** 88 /**
89 * 营业开始日期 89 * 营业开始日期
90 */ 90 */
91 @Name("营业开始日期") 91 @Name("营业开始日期")
92 private Date businessLicenseStartDate; 92 private Date businessLicenseStartDate;
93 93
94 /** 94 /**
95 * 营业结束日期 95 * 营业结束日期
96 */ 96 */
97 @Name("营业结束日期") 97 @Name("营业结束日期")
98 private Date businessLicenseEndDate; 98 private Date businessLicenseEndDate;
99 99
100 /** 100 /**
101 * 营业执照 101 * 营业执照
102 */ 102 */
103 @Name("营业执照") 103 @Name("营业执照")
104 @TableField(updateStrategy = FieldStrategy.ALWAYS) 104 @TableField(updateStrategy = FieldStrategy.ALWAYS)
105 private String businessLicenseJson; 105 private String businessLicenseJson;
106 106
107 /** 107 /**
108 * 营业执照经营范围 108 * 营业执照经营范围
109 */ 109 */
110 @Name("营业执照经营范围") 110 @Name("营业执照经营范围")
111 private String businessLicenseScope; 111 private String businessLicenseScope;
112 112
113 /** 113 /**
114 * 公司法人 114 * 公司法人
115 */ 115 */
116 @Name("公司法人") 116 @Name("公司法人")
117 private String juridicalPerson; 117 private String juridicalPerson;
118 118
119 /** 119 /**
120 * 法人证件类型 120 * 法人证件类型
121 */ 121 */
122 @Name("法人证件类型") 122 @Name("法人证件类型")
123 private String juridicalPersonIdType; 123 private String juridicalPersonIdType;
124 124
125 /** 125 /**
126 * 法人证件号 126 * 法人证件号
127 */ 127 */
128 @Name("法人证件号") 128 @Name("法人证件号")
129 private String juridicalPersonId; 129 private String juridicalPersonId;
130 130
131 /** 131 /**
132 * 法人证件照 132 * 法人证件照
133 */ 133 */
134 @Name("法人证件照") 134 @Name("法人证件照")
135 @TableField(updateStrategy = FieldStrategy.ALWAYS) 135 @TableField(updateStrategy = FieldStrategy.ALWAYS)
136 private String juridicalPersonIdPhotoJson; 136 private String juridicalPersonIdPhotoJson;
137 137
138 /** 138 /**
139 * 登录账号 139 * 登录账号
140 */ 140 */
141 @Name("登录账号") 141 @Name("登录账号")
142 private String logonUser; 142 private String logonUser;
143 143
144 /** 144 /**
145 * 联系人 145 * 联系人
146 */ 146 */
147 @Name("联系人") 147 @Name("联系人")
148 private String contacts; 148 private String contacts;
149 149
150 /** 150 /**
151 * 联系人电话 151 * 联系人电话
152 */ 152 */
153 @Name("联系人电话") 153 @Name("联系人电话")
154 private String contactTel; 154 private String contactTel;
155 155
156 /** 156 /**
157 * 管理员证件号 157 * 管理员证件号
158 */ 158 */
159 @Name("管理员证件号") 159 @Name("管理员证件号")
160 private String managerPersonId; 160 private String managerPersonId;
161 161
162 /** 162 /**
163 * 管理员证件照 163 * 管理员证件照
164 */ 164 */
165 @Name("管理员证件照") 165 @Name("管理员证件照")
166 @TableField(updateStrategy = FieldStrategy.ALWAYS) 166 @TableField(updateStrategy = FieldStrategy.ALWAYS)
167 private String managerPersonIdPhotoJson; 167 private String managerPersonIdPhotoJson;
168 168
169 /** 169 /**
170 * 授权委托书 170 * 授权委托书
171 */ 171 */
172 @Name("授权委托书") 172 @Name("授权委托书")
173 private String authorizationLetter; 173 private String authorizationLetter;
174 174
175 /** 175 /**
176 * 业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃; 默认 N】 176 * 业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃; 默认 N】
177 */ 177 */
178 @Name("业务审批状态") 178 @Name("业务审批状态")
179 private String bizApproveState; 179 private String bizApproveState;
180 180
181 /** 181 /**
182 * 审批流唯一标识 182 * 审批流唯一标识
183 */ 183 */
184 @Name("审批流唯一标识") 184 @Name("审批流唯一标识")
185 private String approveGuid; 185 private String approveGuid;
186 186
187 /** 187 /**
188 * 原数据唯一标识 188 * 原数据唯一标识
189 */ 189 */
190 @Name("原数据唯一标识") 190 @Name("原数据唯一标识")
191 private String sourceGuid; 191 private String sourceGuid;
192 192
...@@ -198,11 +198,44 @@ public class MfEnterpriseChangeApprove extends BaseDO { ...@@ -198,11 +198,44 @@ public class MfEnterpriseChangeApprove extends BaseDO {
198 198
199 @Name("审批状态(N 初始 A 审批中 Y 已通过 R 驳回 C 已撤销)") 199 @Name("审批状态(N 初始 A 审批中 Y 已通过 R 驳回 C 已撤销)")
200 private String crossPlatformApproveState; 200 private String crossPlatformApproveState;
201 201
202 /** 202 /**
203 * 数据类型【数据类型 1原数据 2新数据 0认证表数据】 203 * 数据类型【数据类型 1原数据 2新数据 0认证表数据】
204 */ 204 */
205 @Name("数据类型") 205 @Name("数据类型")
206 private String dataType; 206 private String dataType;
207 207
208 @Name("组织机构性质")
209 private String institutionType;
210
211 @Name("详细地址")
212 private String detailedAddress;
213
214 @Name("行业分类")
215 private String industry;
216
217 @Name("行业小类")
218 private String industrySmallcode;
219
220 @Name("认证方式")
221 private String authenticationMethod;
222
223 @Name("认证状态")
224 private String authenticationState;
225
226 @Name("认证时间")
227 private Date authenticationTime;
228
229 @Name("认证等级")
230 private String authenticationLevel;
231
232 @Name("身份状态")
233 private String identityState;
234
235 @Name("授权方式")
236 private String authorizationMethod;
237
238 @Name("经办人证件类型")
239 private String handlePersonIdType;
240
208 } 241 }
......
1 package com.csbr.qingcloud.portal.mybatis.entity;
2
3 import com.baomidou.mybatisplus.annotation.FieldStrategy;
4 import com.baomidou.mybatisplus.annotation.TableField;
5 import csbr.cloud.entity.domain.base.dao.BaseDO;
6 import jdk.jfr.Name;
7 import lombok.Data;
8 import lombok.EqualsAndHashCode;
9 import lombok.experimental.Accessors;
10 import java.util.Date;
11
12 /**
13 * @program:
14 * @description: 开发主体领域信息实体
15 * @author: makejava
16 * @create: 2025-09-12 11:02
17 **/
18 @Data
19 @EqualsAndHashCode(callSuper = true)
20 @Accessors(chain = true)
21 @Name("开发主体领域信息")
22 public class MfEnterpriseDomain extends BaseDO {
23
24 /**
25 * 企业唯一标识
26 */
27 @Name("企业唯一标识")
28 private String tenantGuid;
29
30 /**
31 * 企业认证唯一标识
32 */
33 @Name("企业认证唯一标识")
34 private String enterpriseGuid;
35
36 /**
37 * 领域代码
38 */
39 @Name("领域代码")
40 private String domainId;
41
42 /**
43 * 授权协议号
44 */
45 @Name("授权协议号")
46 private String authId;
47
48 /**
49 * 协议开始日期
50 */
51 @Name("协议开始日期")
52 private Date domainStartTime;
53
54 /**
55 * 协议结束日期
56 */
57 @Name("协议结束日期")
58 private Date domainEndTime;
59
60 /**
61 *
62 */
63 @Name("协议签订日期")
64 private Date domainSignTime;
65
66 /**
67 * 协议签订人
68 */
69 @Name("协议签订人")
70 private String signee;
71
72 /**
73 * 协议状态,如10【10-生效中;20-已终止】
74 */
75 @Name("协议状态,如10【10-生效中;20-已终止】")
76 private String domainStatus;
77
78 }
1 package com.csbr.qingcloud.portal.mybatis.mapper;
2
3 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 import org.apache.ibatis.annotations.Mapper;
5 import com.csbr.qingcloud.portal.mybatis.entity.MfEnterpriseDomain;
6
7 /**
8 * @program:
9 * @description: 开发主体领域信息 Mapper 接口
10 * @author: makejava
11 * @create: 2025-09-12 11:02
12 **/
13 @Mapper
14 public interface MfEnterpriseDomainMapper extends BaseMapper<MfEnterpriseDomain> {
15
16 }
1 package com.csbr.qingcloud.portal.mybatis.service;
2
3 import com.csbr.cloud.base.service.CsbrService;
4 import com.csbr.qingcloud.portal.mybatis.entity.MfEnterpriseDomain;
5
6 /**
7 * @program:
8 * @description: 开发主体领域信息逻辑层接口
9 * @author: makejava
10 * @create: 2025-09-12 11:02
11 **/
12 public interface MfEnterpriseDomainService extends CsbrService<MfEnterpriseDomain> {
13
14 }
1 package com.csbr.qingcloud.portal.mybatis.service.impl;
2
3 import com.csbr.cloud.mybatis.service.impl.CsbrServiceImpl;
4 import com.csbr.qingcloud.portal.mybatis.mapper.MfEnterpriseDomainMapper;
5 import com.csbr.qingcloud.portal.mybatis.entity.MfEnterpriseDomain;
6 import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseDomainService;
7 import jakarta.annotation.Resource;
8 import org.springframework.stereotype.Service;
9
10 /**
11 * @program:
12 * @description: 开发主体领域信息逻辑层接口实现
13 * @author: makejava
14 * @create: 2025-09-12 11:02
15 **/
16 @Service
17 public class MfEnterpriseDomainServiceImpl extends CsbrServiceImpl<MfEnterpriseDomainMapper, MfEnterpriseDomain> implements MfEnterpriseDomainService {
18
19 @Resource
20 private MfEnterpriseDomainMapper mfEnterpriseDomainMapper;
21
22 }
1 package com.csbr.qingcloud.portal.service; 1 package com.csbr.qingcloud.portal.service;
2 2
3 import com.csbr.qingcloud.portal.domain.vo.dataExchange.*; 3 import com.csbr.qingcloud.portal.domain.vo.dataExchange.*;
4 import com.csbr.qingcloud.portal.mybatis.entity.MfEnterprise;
4 import csbr.cloud.entity.domain.base.vo.PageListVO; 5 import csbr.cloud.entity.domain.base.vo.PageListVO;
5 import com.csbr.qingcloud.portal.domain.vo.EnterpriseAttachmentQueryVO; 6 import com.csbr.qingcloud.portal.domain.vo.EnterpriseAttachmentQueryVO;
6 import com.csbr.qingcloud.portal.domain.vo.EnterpriseAttachmentRQVO; 7 import com.csbr.qingcloud.portal.domain.vo.EnterpriseAttachmentRQVO;
7 import com.csbr.qingcloud.portal.domain.vo.EnterpriseAttachmentRSVO; 8 import com.csbr.qingcloud.portal.domain.vo.EnterpriseAttachmentRSVO;
8 9
9 import java.util.List; 10 import java.util.List;
11 import java.util.Map;
10 12
11 /** 13 /**
12 * @program: 14 * @program:
13 * @description: 开发主体附件信息业务逻辑接口 15 * @description: 开发主体附件信息业务逻辑接口
14 * @author: makejava 16 * @author: makejava
15 * @create: 2025-09-05 13:50 17 * @create: 2025-09-05 13:50
...@@ -83,4 +85,36 @@ public interface EnterpriseAttachmentService { ...@@ -83,4 +85,36 @@ public interface EnterpriseAttachmentService {
83 * @return 85 * @return
84 */ 86 */
85 String getEnterpriseAttachmentUrl(String fileId); 87 String getEnterpriseAttachmentUrl(String fileId);
88
89 /**
90 * 批量新增开发主体附件信息
91 * @param attachmentRQVOS
92 * @param guid
93 * @param tenantGuid
94 * @param isRequired
95 */
96 void batchSave(List<EnterpriseAttachmentRQVO> attachmentRQVOS, String guid, String tenantGuid, Boolean isRequired);
97
98 /**
99 * 删除开发主体附件信息
100 * @param enterpriseGuids
101 */
102 void removeByEnterpriseGuids(List<String> enterpriseGuids);
103
104 /**
105 * 批量修改开发主体附件信息
106 * @param attachmentRQVOS
107 * @param guid
108 * @param tenantGuid
109 * @param isRequired
110 */
111 void batchUpdate(List<EnterpriseAttachmentRQVO> attachmentRQVOS, String guid, String tenantGuid, Boolean isRequired);
112
113 /**
114 * 根据企业认证guid查询附件信息
115 * @param enterpriseGuids
116 * @return
117 */
118 Map<String, List<EnterpriseAttachmentRSVO>> getMapByEnterpriseGuids(List<String> enterpriseGuids);
119
86 } 120 }
......
1 package com.csbr.qingcloud.portal.service;
2
3 import com.csbr.qingcloud.portal.domain.vo.EnterpriseDomainQueryVO;
4 import com.csbr.qingcloud.portal.domain.vo.EnterpriseDomainRQVO;
5 import com.csbr.qingcloud.portal.domain.vo.EnterpriseDomainRSVO;
6 import csbr.cloud.entity.domain.base.vo.PageListVO;
7
8 import java.util.List;
9 import java.util.Map;
10
11 /**
12 * @program:
13 * @description: 开发主体领域信息业务逻辑接口
14 * @author: makejava
15 * @create: 2025-09-12 11:02
16 **/
17 public interface EnterpriseDomainService {
18
19 /**
20 * 开发主体领域信息分页查询
21 * @author makejava
22 * @date 2025-09-12 11:02
23 * @param queryVO
24 * @return com.csbr.cloud.mybatis.entity.PageListVO<com.csbr.qingcloud.portal.domain.vo.EnterpriseDomainRSVO>
25 */
26 PageListVO<EnterpriseDomainRSVO> pageList(EnterpriseDomainQueryVO queryVO);
27
28 /**
29 * 开发主体领域信息获取详情数据
30 * @author makejava
31 * @date 2025-09-12 11:02
32 * @param guid
33 * @return com.csbr.qingcloud.portal.domain.vo.EnterpriseDomainRSVO
34 */
35 EnterpriseDomainRSVO getEnterpriseDomainDetail(String guid);
36
37 /**
38 * 开发主体领域信息数据新增
39 * @author makejava
40 * @date 2025-09-12 11:02
41 * @param rqVO
42 * @return boolean
43 */
44 void saveEnterpriseDomain(EnterpriseDomainRQVO rqVO);
45
46 /**
47 * 开发主体领域信息数据修改
48 * @author makejava
49 * @date 2025-09-12 11:02
50 * @param rqVO
51 * @return boolean
52 */
53 void updateEnterpriseDomain(EnterpriseDomainRQVO rqVO);
54
55 /**
56 * 开发主体领域信息数据删除
57 * @author makejava
58 * @date 2025-09-12 11:02
59 * @param guids
60 * @return void
61 */
62 void removeByGuids(List<String> guids);
63
64 /**
65 * 开发主体领域信息数据删除、并有相关的处理操作
66 * @author makejava
67 * @date 2025-09-12 11:02
68 * @param guids
69 * @return void
70 */
71 void removeHandleByGuids(List<String> guids);
72
73 /**
74 * 批量新增开发主体领域信息
75 * @param domainRQVOS
76 * @param guid
77 */
78 void batchSave(List<EnterpriseDomainRQVO> domainRQVOS, String guid);
79
80 /**
81 * 删除开发主体领域信息
82 * @param enterpriseGuids
83 */
84 void removeByEnterpriseGuids(List<String> enterpriseGuids);
85
86 /**
87 * 批量新增开发主体领域信息
88 * @param domainRQVOS
89 * @param guid
90 */
91 void batchUpdate(List<EnterpriseDomainRQVO> domainRQVOS, String guid);
92
93 /**
94 * 根据企业认证guid查询企业领域信息
95 * @param enterpriseGuids
96 * @return
97 */
98 Map<String, List<EnterpriseDomainRSVO>> getMapByEnterpriseGuids(List<String> enterpriseGuids);
99 }
...@@ -115,6 +115,21 @@ public interface EnterpriseService { ...@@ -115,6 +115,21 @@ public interface EnterpriseService {
115 JSExchageCommonRes<JSExchagePageListVO<JSEnterpriseRSVO>> enterpriseData(JSBaseRQVO<JSEnterpriseQueryVO> queryVO); 115 JSExchageCommonRes<JSExchagePageListVO<JSEnterpriseRSVO>> enterpriseData(JSBaseRQVO<JSEnterpriseQueryVO> queryVO);
116 116
117 /** 117 /**
118 * 根据会员guids查询企业信息
119 * @param guids
120 * @return
121 */
122 List<EnterpriseRSVO> listByTenantGuids(List<String> guids);
123
124 /**
125 * 企业信息-修改身份状态
126 * @param logonUser
127 * @param identityState
128 * @return
129 */
130 Boolean updateIdentityState(String logonUser, String identityState);
131
132 /**
118 * 按名称或者统一社会信用代码查企业信息详情 133 * 按名称或者统一社会信用代码查企业信息详情
119 * @param tenantName 134 * @param tenantName
120 * @param uscc 135 * @param uscc
......
1 package com.csbr.qingcloud.portal.service.impl; 1 package com.csbr.qingcloud.portal.service.impl;
2 2
3 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 3 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
4 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
4 import com.baomidou.mybatisplus.core.toolkit.Wrappers; 5 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
5 import com.csbr.cloud.common.enums.SystemError; 6 import com.csbr.cloud.common.enums.SystemError;
6 import com.csbr.cloud.common.exception.CsbrSystemException; 7 import com.csbr.cloud.common.exception.CsbrSystemException;
...@@ -8,6 +9,7 @@ import com.csbr.cloud.common.util.CommonUtil; ...@@ -8,6 +9,7 @@ import com.csbr.cloud.common.util.CommonUtil;
8 import com.csbr.cloud.common.util.CsbrBeanUtil; 9 import com.csbr.cloud.common.util.CsbrBeanUtil;
9 import com.csbr.cloud.common.util.MessageSourceUtil; 10 import com.csbr.cloud.common.util.MessageSourceUtil;
10 import com.csbr.qingcloud.portal.domain.vo.dataExchange.*; 11 import com.csbr.qingcloud.portal.domain.vo.dataExchange.*;
12 import com.csbr.qingcloud.portal.feign.DaopCommonFeign;
11 import com.csbr.qingcloud.portal.mybatis.entity.MfEnterprise; 13 import com.csbr.qingcloud.portal.mybatis.entity.MfEnterprise;
12 import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseService; 14 import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseService;
13 import csbr.cloud.entity.domain.base.vo.PageListVO; 15 import csbr.cloud.entity.domain.base.vo.PageListVO;
...@@ -17,21 +19,28 @@ import com.csbr.qingcloud.portal.domain.vo.EnterpriseAttachmentRSVO; ...@@ -17,21 +19,28 @@ import com.csbr.qingcloud.portal.domain.vo.EnterpriseAttachmentRSVO;
17 import com.csbr.qingcloud.portal.mybatis.entity.MfEnterpriseAttachment; 19 import com.csbr.qingcloud.portal.mybatis.entity.MfEnterpriseAttachment;
18 import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseAttachmentService; 20 import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseAttachmentService;
19 import com.csbr.qingcloud.portal.service.EnterpriseAttachmentService; 21 import com.csbr.qingcloud.portal.service.EnterpriseAttachmentService;
22 import csbr.cloud.entity.domain.easyexcel.MockMultipartFile;
20 import csbr.cloud.entity.enums.ApprovalStateEnum; 23 import csbr.cloud.entity.enums.ApprovalStateEnum;
21 import jakarta.annotation.Resource; 24 import jakarta.annotation.Resource;
22 import lombok.extern.slf4j.Slf4j; 25 import lombok.extern.slf4j.Slf4j;
23 import org.apache.commons.collections.CollectionUtils; 26 import org.apache.commons.collections.CollectionUtils;
24 import org.apache.commons.lang3.ObjectUtils; 27 import org.apache.commons.lang3.ObjectUtils;
25 import org.apache.commons.lang3.StringUtils; 28 import org.apache.commons.lang3.StringUtils;
29 import org.springframework.core.io.ByteArrayResource;
30 import org.springframework.http.HttpStatus;
31 import org.springframework.http.ResponseEntity;
26 import org.springframework.stereotype.Service; 32 import org.springframework.stereotype.Service;
27 import org.springframework.transaction.annotation.Transactional; 33 import org.springframework.transaction.annotation.Transactional;
34 import org.springframework.web.multipart.MultipartFile;
28 35
29 import java.util.ArrayList; 36 import java.math.BigDecimal;
30 import java.util.Collections; 37 import java.net.URLDecoder;
31 import java.util.List; 38 import java.nio.charset.StandardCharsets;
39 import java.util.*;
40 import java.util.stream.Collectors;
32 41
33 /** 42 /**
34 * @program: 43 * @program:
35 * @description: 开发主体附件信息业务逻辑实现 44 * @description: 开发主体附件信息业务逻辑实现
36 * @author: makejava 45 * @author: makejava
37 * @create: 2025-09-05 13:50 46 * @create: 2025-09-05 13:50
...@@ -39,7 +48,7 @@ import java.util.List; ...@@ -39,7 +48,7 @@ import java.util.List;
39 @Slf4j 48 @Slf4j
40 @Service 49 @Service
41 public class EnterpriseAttachmentServiceImpl implements EnterpriseAttachmentService { 50 public class EnterpriseAttachmentServiceImpl implements EnterpriseAttachmentService {
42 51
43 /** 52 /**
44 * 功能名称 53 * 功能名称
45 */ 54 */
...@@ -57,6 +66,9 @@ public class EnterpriseAttachmentServiceImpl implements EnterpriseAttachmentServ ...@@ -57,6 +66,9 @@ public class EnterpriseAttachmentServiceImpl implements EnterpriseAttachmentServ
57 @Resource 66 @Resource
58 private MfEnterpriseService mfEnterpriseService; 67 private MfEnterpriseService mfEnterpriseService;
59 68
69 @Resource
70 private DaopCommonFeign daopCommonFeign;
71
60 /** 72 /**
61 * 开发主体附件信息分页查询 73 * 开发主体附件信息分页查询
62 * @author makejava 74 * @author makejava
...@@ -266,6 +278,76 @@ public class EnterpriseAttachmentServiceImpl implements EnterpriseAttachmentServ ...@@ -266,6 +278,76 @@ public class EnterpriseAttachmentServiceImpl implements EnterpriseAttachmentServ
266 return null; 278 return null;
267 } 279 }
268 280
281 @Override
282 @Transactional
283 public void batchSave(List<EnterpriseAttachmentRQVO> attachmentRQVOS, String guid, String tenantGuid, Boolean isRequired) {
284 if (ObjectUtils.isNotEmpty(attachmentRQVOS)) {
285 List<MfEnterpriseAttachment> attachmentList = new ArrayList<>();
286 for (EnterpriseAttachmentRQVO attachmentRQVO : attachmentRQVOS) {
287 attachmentRQVO.setGuid(null);
288 attachmentRQVO.setEnterpriseGuid(guid);
289 attachmentRQVO.setTenantGuid(tenantGuid);
290 // 获取文件大小
291 // 下载文件流
292 String fileUrl = attachmentRQVO.getFileUrl();
293 String url = URLDecoder.decode(fileUrl.split("\\?AccessKeyId")[0], StandardCharsets.UTF_8);
294 String fileName = attachmentRQVO.getFileName().split("\\.")[0];
295 MultipartFile multipartFile = null;
296 ResponseEntity<ByteArrayResource> responseEntity = daopCommonFeign.downloadFile(url);
297 if (HttpStatus.OK.equals(responseEntity.getStatusCode()) && ObjectUtils.isNotEmpty(responseEntity.getBody())) {
298 multipartFile = new MockMultipartFile(fileName, fileName, "application/octet-stream", responseEntity.getBody().getByteArray());
299 }
300 if (multipartFile == null || multipartFile.isEmpty()) {
301 attachmentRQVO.setFileSize(BigDecimal.ZERO);
302 } else {
303 attachmentRQVO.setFileSize(BigDecimal.valueOf(multipartFile.getSize() / 1024.0));
304 }
305 attachmentRQVO.setFileId("enterprise_" + CommonUtil.newGuid().toUpperCase(Locale.ROOT));
306
307 MfEnterpriseAttachment mfEnterpriseAttachment = convertToEntity(attachmentRQVO);
308 mfEnterpriseAttachmentService.csbrAddEntity(mfEnterpriseAttachment);
309 attachmentList.add(mfEnterpriseAttachment);
310 }
311 mfEnterpriseAttachmentService.saveBatch(attachmentList);
312 }
313 }
314
315 @Transactional
316 @Override
317 public void removeByEnterpriseGuids(List<String> enterpriseGuids) {
318 if (CollectionUtils.isEmpty(enterpriseGuids)) {
319 return;
320 }
321 LambdaUpdateWrapper<MfEnterpriseAttachment> updateWrapper = Wrappers.lambdaUpdate(MfEnterpriseAttachment.class);
322 updateWrapper.in(MfEnterpriseAttachment::getEnterpriseGuid, enterpriseGuids);
323 mfEnterpriseAttachmentService.remove(updateWrapper);
324 }
325
326 @Override
327 @Transactional
328 public void batchUpdate(List<EnterpriseAttachmentRQVO> attachmentRQVOS, String guid, String tenantGuid, Boolean isRequired) {
329 // 删除开发主体附件信息
330 removeByEnterpriseGuids(Collections.singletonList(guid));
331
332 // 批量新增开发主体附件信息
333 batchSave(attachmentRQVOS, guid, tenantGuid, isRequired);
334 }
335
336 @Override
337 public Map<String, List<EnterpriseAttachmentRSVO>> getMapByEnterpriseGuids(List<String> enterpriseGuids) {
338 if (ObjectUtils.isEmpty(enterpriseGuids)) {
339 return null;
340 }
341 LambdaQueryWrapper<MfEnterpriseAttachment> queryWrapper = Wrappers.lambdaQuery(MfEnterpriseAttachment.class);
342 queryWrapper.in(MfEnterpriseAttachment::getEnterpriseGuid, enterpriseGuids);
343 queryWrapper.orderByAsc(MfEnterpriseAttachment::getCreateTime);
344 List<MfEnterpriseAttachment> enterpriseAttachments = mfEnterpriseAttachmentService.list(queryWrapper);
345 if (ObjectUtils.isEmpty(enterpriseAttachments)) {
346 return null;
347 }
348 return convertToVO(enterpriseAttachments).stream().collect(Collectors.groupingBy(EnterpriseAttachmentRSVO::getEnterpriseGuid));
349 }
350
269 /** 351 /**
270 * 开发主体附件信息新新增前置处理 352 * 开发主体附件信息新新增前置处理
271 * @author makejava 353 * @author makejava
...@@ -422,7 +504,7 @@ public class EnterpriseAttachmentServiceImpl implements EnterpriseAttachmentServ ...@@ -422,7 +504,7 @@ public class EnterpriseAttachmentServiceImpl implements EnterpriseAttachmentServ
422 * @return void 504 * @return void
423 */ 505 */
424 private void beforeQuery(EnterpriseAttachmentQueryVO rqQueryVO) { 506 private void beforeQuery(EnterpriseAttachmentQueryVO rqQueryVO) {
425 507
426 } 508 }
427 509
428 /** 510 /**
...@@ -470,7 +552,7 @@ public class EnterpriseAttachmentServiceImpl implements EnterpriseAttachmentServ ...@@ -470,7 +552,7 @@ public class EnterpriseAttachmentServiceImpl implements EnterpriseAttachmentServ
470 } 552 }
471 return voList; 553 return voList;
472 } 554 }
473 555
474 /** 556 /**
475 * 开发主体附件信息实体数据转换为视图对象数据 557 * 开发主体附件信息实体数据转换为视图对象数据
476 * @author makejava 558 * @author makejava
...@@ -500,5 +582,5 @@ public class EnterpriseAttachmentServiceImpl implements EnterpriseAttachmentServ ...@@ -500,5 +582,5 @@ public class EnterpriseAttachmentServiceImpl implements EnterpriseAttachmentServ
500 } 582 }
501 583
502 //endregion 584 //endregion
503 585
504 } 586 }
......
...@@ -12,17 +12,16 @@ import com.csbr.cloud.common.util.CsbrBeanUtil; ...@@ -12,17 +12,16 @@ import com.csbr.cloud.common.util.CsbrBeanUtil;
12 import com.csbr.cloud.common.util.MessageSourceUtil; 12 import com.csbr.cloud.common.util.MessageSourceUtil;
13 import com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO; 13 import com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO;
14 import com.csbr.cloud.workflow.util.ApprovalFlowUtil; 14 import com.csbr.cloud.workflow.util.ApprovalFlowUtil;
15 import com.csbr.qingcloud.portal.domain.vo.ChangeApproveVO; 15 import com.csbr.qingcloud.portal.domain.vo.*;
16 import com.csbr.qingcloud.portal.domain.vo.ChangeInfoVO;
17 import com.csbr.qingcloud.portal.domain.vo.EnterpriseRQVO;
18 import com.csbr.qingcloud.portal.domain.vo.EnterpriseRSVO;
19 import com.csbr.qingcloud.portal.feign.ConfigureFeign; 16 import com.csbr.qingcloud.portal.feign.ConfigureFeign;
20 import com.csbr.qingcloud.portal.feign.PersonelFeign; 17 import com.csbr.qingcloud.portal.feign.PersonelFeign;
21 import com.csbr.qingcloud.portal.mybatis.entity.MfEnterprise; 18 import com.csbr.qingcloud.portal.mybatis.entity.MfEnterprise;
22 import com.csbr.qingcloud.portal.mybatis.entity.MfEnterpriseChangeApprove; 19 import com.csbr.qingcloud.portal.mybatis.entity.MfEnterpriseChangeApprove;
23 import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseChangeApproveService; 20 import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseChangeApproveService;
24 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;
25 import com.csbr.qingcloud.portal.service.EnterpriseChangeApproveService; 23 import com.csbr.qingcloud.portal.service.EnterpriseChangeApproveService;
24 import com.csbr.qingcloud.portal.service.EnterpriseDomainService;
26 import com.csbr.qingcloud.portal.service.EnterpriseService; 25 import com.csbr.qingcloud.portal.service.EnterpriseService;
27 import com.csbr.qingcloud.portal.util.ChangeInfoUtil; 26 import com.csbr.qingcloud.portal.util.ChangeInfoUtil;
28 import com.csbr.qingcloud.portal.util.InvokeUtil; 27 import com.csbr.qingcloud.portal.util.InvokeUtil;
...@@ -35,6 +34,7 @@ import org.apache.commons.collections.CollectionUtils; ...@@ -35,6 +34,7 @@ import org.apache.commons.collections.CollectionUtils;
35 import org.apache.commons.lang.StringUtils; 34 import org.apache.commons.lang.StringUtils;
36 import org.apache.commons.lang3.ObjectUtils; 35 import org.apache.commons.lang3.ObjectUtils;
37 import org.springframework.beans.factory.annotation.Autowired; 36 import org.springframework.beans.factory.annotation.Autowired;
37 import org.springframework.beans.factory.annotation.Value;
38 import org.springframework.stereotype.Component; 38 import org.springframework.stereotype.Component;
39 39
40 import java.util.*; 40 import java.util.*;
...@@ -62,6 +62,9 @@ public class EnterpriseChangeApproveServiceImpl implements EnterpriseChangeAppro ...@@ -62,6 +62,9 @@ public class EnterpriseChangeApproveServiceImpl implements EnterpriseChangeAppro
62 @Autowired 62 @Autowired
63 private InvokeUtil invokeUtil; 63 private InvokeUtil invokeUtil;
64 64
65 @Value("${enterpriseAttachment.isRequired:true}")
66 private Boolean isRequired;
67
65 @Resource 68 @Resource
66 private MfEnterpriseChangeApproveService mfEnterpriseChangeApproveService; 69 private MfEnterpriseChangeApproveService mfEnterpriseChangeApproveService;
67 70
...@@ -86,6 +89,12 @@ public class EnterpriseChangeApproveServiceImpl implements EnterpriseChangeAppro ...@@ -86,6 +89,12 @@ public class EnterpriseChangeApproveServiceImpl implements EnterpriseChangeAppro
86 @Resource 89 @Resource
87 private ConfigureFeign configureFeign; 90 private ConfigureFeign configureFeign;
88 91
92 @Resource
93 private EnterpriseAttachmentService enterpriseAttachmentService;
94
95 @Resource
96 private EnterpriseDomainService enterpriseDomainService;
97
89 /** 保存变更数据 */ 98 /** 保存变更数据 */
90 @Override 99 @Override
91 public void changeSave(ChangeApproveVO vo) { 100 public void changeSave(ChangeApproveVO vo) {
...@@ -108,6 +117,12 @@ public class EnterpriseChangeApproveServiceImpl implements EnterpriseChangeAppro ...@@ -108,6 +117,12 @@ public class EnterpriseChangeApproveServiceImpl implements EnterpriseChangeAppro
108 entity.setGuid(vo.getGuid()); 117 entity.setGuid(vo.getGuid());
109 mfEnterpriseChangeApproveService.save(entity); 118 mfEnterpriseChangeApproveService.save(entity);
110 119
120 // 保存新数据的附件和领域数据
121 List<EnterpriseAttachmentRQVO> attachmentRQVOS = beanVO.getAttachmentRQVOS();
122 enterpriseAttachmentService.batchSave(attachmentRQVOS, entity.getGuid(), entity.getTenantGuid(), isRequired);
123 List<EnterpriseDomainRQVO> domainRQVOS = beanVO.getDomainRQVOS();
124 enterpriseDomainService.batchSave(domainRQVOS, entity.getGuid());
125
111 //保存原数据 126 //保存原数据
112 beanVO = JSON.parseObject(vo.getOldBizDataJson(),EnterpriseRQVO.class); 127 beanVO = JSON.parseObject(vo.getOldBizDataJson(),EnterpriseRQVO.class);
113 entity = csbrBeanUtil.convert(beanVO,MfEnterpriseChangeApprove.class); 128 entity = csbrBeanUtil.convert(beanVO,MfEnterpriseChangeApprove.class);
...@@ -117,6 +132,12 @@ public class EnterpriseChangeApproveServiceImpl implements EnterpriseChangeAppro ...@@ -117,6 +132,12 @@ public class EnterpriseChangeApproveServiceImpl implements EnterpriseChangeAppro
117 entity.setTenantGuid(tenantGuid); 132 entity.setTenantGuid(tenantGuid);
118 mfEnterpriseChangeApproveService.save(entity); 133 mfEnterpriseChangeApproveService.save(entity);
119 134
135 // 保存旧数据的附件和领域数据
136 List<EnterpriseAttachmentRQVO> attachmentRQVOSOld = beanVO.getAttachmentRQVOS();
137 enterpriseAttachmentService.batchSave(attachmentRQVOSOld, entity.getGuid(), entity.getTenantGuid(), isRequired);
138 List<EnterpriseDomainRQVO> domainRQVOSOld = beanVO.getDomainRQVOS();
139 enterpriseDomainService.batchSave(domainRQVOSOld, entity.getGuid());
140
120 log.info("========entity, {}", entity); 141 log.info("========entity, {}", entity);
121 MfEnterprise bean = mfEnterpriseService.getById(entity.getSourceGuid()); 142 MfEnterprise bean = mfEnterpriseService.getById(entity.getSourceGuid());
122 bean.setBizApproveState("B"); 143 bean.setBizApproveState("B");
...@@ -146,7 +167,21 @@ public class EnterpriseChangeApproveServiceImpl implements EnterpriseChangeAppro ...@@ -146,7 +167,21 @@ public class EnterpriseChangeApproveServiceImpl implements EnterpriseChangeAppro
146 vo.setGuid(bean.getGuid()); 167 vo.setGuid(bean.getGuid());
147 vo.setApproveGuid(bean.getApproveGuid()); 168 vo.setApproveGuid(bean.getApproveGuid());
148 vo.setSourceGuid(bean.getSourceGuid()); 169 vo.setSourceGuid(bean.getSourceGuid());
149 vo.setBizDataJson(convertToVO(bean)); 170 if (ObjectUtils.isNotEmpty(bean)) {
171 EnterpriseRSVO enterpriseRSVO = csbrBeanUtil.convert(bean, EnterpriseRSVO.class);
172 // 查询附件信息
173 Map<String, List<EnterpriseAttachmentRSVO>> attachmentByEnterpriseGuids = enterpriseAttachmentService.getMapByEnterpriseGuids(Collections.singletonList(enterpriseRSVO.getGuid()));
174 if (ObjectUtils.isNotEmpty(attachmentByEnterpriseGuids) && attachmentByEnterpriseGuids.containsKey(enterpriseRSVO.getGuid())) {
175 enterpriseRSVO.setAttachmentRSVOS(attachmentByEnterpriseGuids.get(enterpriseRSVO.getGuid()));
176 }
177
178 // 查询领域信息
179 Map<String, List<EnterpriseDomainRSVO>> domainByEnterpriseGuids = enterpriseDomainService.getMapByEnterpriseGuids(Collections.singletonList(enterpriseRSVO.getGuid()));
180 if (ObjectUtils.isNotEmpty(domainByEnterpriseGuids) && domainByEnterpriseGuids.containsKey(enterpriseRSVO.getGuid())) {
181 enterpriseRSVO.setDomainRSVOS(domainByEnterpriseGuids.get(enterpriseRSVO.getGuid()));
182 }
183 vo.setBizDataJson(JSON.toJSONString(enterpriseRSVO));
184 }
150 185
151 //取原数据 186 //取原数据
152 queryWrapper = new LambdaQueryWrapper<>(); 187 queryWrapper = new LambdaQueryWrapper<>();
...@@ -154,7 +189,19 @@ public class EnterpriseChangeApproveServiceImpl implements EnterpriseChangeAppro ...@@ -154,7 +189,19 @@ public class EnterpriseChangeApproveServiceImpl implements EnterpriseChangeAppro
154 queryWrapper.eq(MfEnterpriseChangeApprove::getDataType,"1"); 189 queryWrapper.eq(MfEnterpriseChangeApprove::getDataType,"1");
155 tempList = mfEnterpriseChangeApproveService.list(queryWrapper); 190 tempList = mfEnterpriseChangeApproveService.list(queryWrapper);
156 if(CollectionUtils.isNotEmpty(tempList)){ 191 if(CollectionUtils.isNotEmpty(tempList)){
157 vo.setOldBizDataJson(convertToVO(tempList.get(0))); 192 EnterpriseRSVO enterpriseRSVO = csbrBeanUtil.convert(tempList.get(0), EnterpriseRSVO.class);
193 // 查询附件信息
194 Map<String, List<EnterpriseAttachmentRSVO>> attachmentByEnterpriseGuids = enterpriseAttachmentService.getMapByEnterpriseGuids(Collections.singletonList(enterpriseRSVO.getGuid()));
195 if (ObjectUtils.isNotEmpty(attachmentByEnterpriseGuids) && attachmentByEnterpriseGuids.containsKey(enterpriseRSVO.getGuid())) {
196 enterpriseRSVO.setAttachmentRSVOS(attachmentByEnterpriseGuids.get(enterpriseRSVO.getGuid()));
197 }
198
199 // 查询领域信息
200 Map<String, List<EnterpriseDomainRSVO>> domainByEnterpriseGuids = enterpriseDomainService.getMapByEnterpriseGuids(Collections.singletonList(enterpriseRSVO.getGuid()));
201 if (ObjectUtils.isNotEmpty(domainByEnterpriseGuids) && domainByEnterpriseGuids.containsKey(enterpriseRSVO.getGuid())) {
202 enterpriseRSVO.setDomainRSVOS(domainByEnterpriseGuids.get(enterpriseRSVO.getGuid()));
203 }
204 vo.setOldBizDataJson(JSON.toJSONString(enterpriseRSVO));
158 } 205 }
159 206
160 return vo; 207 return vo;
...@@ -184,6 +231,21 @@ public class EnterpriseChangeApproveServiceImpl implements EnterpriseChangeAppro ...@@ -184,6 +231,21 @@ public class EnterpriseChangeApproveServiceImpl implements EnterpriseChangeAppro
184 vo.setBizApproveState("Y"); 231 vo.setBizApproveState("Y");
185 mfEnterpriseService.updateById(vo); 232 mfEnterpriseService.updateById(vo);
186 233
234 // 修改附件和领域数据
235 Map<String, List<EnterpriseAttachmentRSVO>> attachmentByEnterpriseGuids = enterpriseAttachmentService.getMapByEnterpriseGuids(Collections.singletonList(entity.getGuid()));
236 if (ObjectUtils.isNotEmpty(attachmentByEnterpriseGuids) && attachmentByEnterpriseGuids.containsKey(entity.getGuid())) {
237 List<EnterpriseAttachmentRSVO> attachmentRSVOS = attachmentByEnterpriseGuids.get(entity.getGuid());
238 List<EnterpriseAttachmentRQVO> attachmentRQVOS = csbrBeanUtil.convert(attachmentRSVOS, EnterpriseAttachmentRQVO.class);
239 enterpriseAttachmentService.batchUpdate(attachmentRQVOS, entity.getSourceGuid(), entity.getTenantGuid(), isRequired);
240 }
241
242 Map<String, List<EnterpriseDomainRSVO>> domainByEnterpriseGuids = enterpriseDomainService.getMapByEnterpriseGuids(Collections.singletonList(entity.getGuid()));
243 if (ObjectUtils.isNotEmpty(domainByEnterpriseGuids) && domainByEnterpriseGuids.containsKey(entity.getGuid())) {
244 List<EnterpriseDomainRSVO> domainRSVOS = domainByEnterpriseGuids.get(entity.getGuid());
245 List<EnterpriseDomainRQVO> domainRQVOS = csbrBeanUtil.convert(domainRSVOS, EnterpriseDomainRQVO.class);
246 enterpriseDomainService.batchUpdate(domainRQVOS, entity.getSourceGuid());
247 }
248
187 //同步更新会员表 249 //同步更新会员表
188 enterpriseService.updateTenant(vo); 250 enterpriseService.updateTenant(vo);
189 } 251 }
...@@ -209,6 +271,10 @@ public class EnterpriseChangeApproveServiceImpl implements EnterpriseChangeAppro ...@@ -209,6 +271,10 @@ public class EnterpriseChangeApproveServiceImpl implements EnterpriseChangeAppro
209 } 271 }
210 mfEnterpriseChangeApproveService.removeById(guid); 272 mfEnterpriseChangeApproveService.removeById(guid);
211 273
274 // 删除领域和附件信息
275 enterpriseAttachmentService.removeByEnterpriseGuids(Collections.singletonList(entity.getGuid()));
276 enterpriseDomainService.removeByEnterpriseGuids(Collections.singletonList(entity.getGuid()));
277
212 // 修改企业认证审批状态 278 // 修改企业认证审批状态
213 LambdaQueryWrapper<MfEnterpriseChangeApprove> lambdaQueryWrapper = Wrappers.lambdaQuery(MfEnterpriseChangeApprove.class); 279 LambdaQueryWrapper<MfEnterpriseChangeApprove> lambdaQueryWrapper = Wrappers.lambdaQuery(MfEnterpriseChangeApprove.class);
214 lambdaQueryWrapper.eq(MfEnterpriseChangeApprove::getSourceGuid, entity.getSourceGuid()); 280 lambdaQueryWrapper.eq(MfEnterpriseChangeApprove::getSourceGuid, entity.getSourceGuid());
...@@ -264,6 +330,21 @@ public class EnterpriseChangeApproveServiceImpl implements EnterpriseChangeAppro ...@@ -264,6 +330,21 @@ public class EnterpriseChangeApproveServiceImpl implements EnterpriseChangeAppro
264 vo.setCrossPlatformApproveState("Y"); 330 vo.setCrossPlatformApproveState("Y");
265 mfEnterpriseService.updateById(vo); 331 mfEnterpriseService.updateById(vo);
266 332
333 // 修改附件和领域数据
334 Map<String, List<EnterpriseAttachmentRSVO>> attachmentByEnterpriseGuids = enterpriseAttachmentService.getMapByEnterpriseGuids(Collections.singletonList(entity.getGuid()));
335 if (ObjectUtils.isNotEmpty(attachmentByEnterpriseGuids) && attachmentByEnterpriseGuids.containsKey(entity.getGuid())) {
336 List<EnterpriseAttachmentRSVO> attachmentRSVOS = attachmentByEnterpriseGuids.get(entity.getGuid());
337 List<EnterpriseAttachmentRQVO> attachmentRQVOS = csbrBeanUtil.convert(attachmentRSVOS, EnterpriseAttachmentRQVO.class);
338 enterpriseAttachmentService.batchUpdate(attachmentRQVOS, entity.getSourceGuid(), entity.getTenantGuid(), isRequired);
339 }
340
341 Map<String, List<EnterpriseDomainRSVO>> domainByEnterpriseGuids = enterpriseDomainService.getMapByEnterpriseGuids(Collections.singletonList(entity.getGuid()));
342 if (ObjectUtils.isNotEmpty(domainByEnterpriseGuids) && domainByEnterpriseGuids.containsKey(entity.getGuid())) {
343 List<EnterpriseDomainRSVO> domainRSVOS = domainByEnterpriseGuids.get(entity.getGuid());
344 List<EnterpriseDomainRQVO> domainRQVOS = csbrBeanUtil.convert(domainRSVOS, EnterpriseDomainRQVO.class);
345 enterpriseDomainService.batchUpdate(domainRQVOS, entity.getSourceGuid());
346 }
347
267 //同步更新会员表 348 //同步更新会员表
268 enterpriseService.updateTenant(vo); 349 enterpriseService.updateTenant(vo);
269 } 350 }
...@@ -321,6 +402,19 @@ public class EnterpriseChangeApproveServiceImpl implements EnterpriseChangeAppro ...@@ -321,6 +402,19 @@ public class EnterpriseChangeApproveServiceImpl implements EnterpriseChangeAppro
321 402
322 // 生成变更前的数据 403 // 生成变更前的数据
323 vo.setBeforeChangeList(enterpriseService.beforeChangeList(entity.getApproveGuid())); 404 vo.setBeforeChangeList(enterpriseService.beforeChangeList(entity.getApproveGuid()));
405
406 // 查询附件信息
407 Map<String, List<EnterpriseAttachmentRSVO>> attachmentByEnterpriseGuids = enterpriseAttachmentService.getMapByEnterpriseGuids(Collections.singletonList(entity.getGuid()));
408 if (ObjectUtils.isNotEmpty(attachmentByEnterpriseGuids) && attachmentByEnterpriseGuids.containsKey(entity.getGuid())) {
409 vo.setAttachmentRSVOS(attachmentByEnterpriseGuids.get(entity.getGuid()));
410 }
411
412 // 查询领域信息
413 Map<String, List<EnterpriseDomainRSVO>> domainByEnterpriseGuids = enterpriseDomainService.getMapByEnterpriseGuids(Collections.singletonList(entity.getGuid()));
414 if (ObjectUtils.isNotEmpty(domainByEnterpriseGuids) && domainByEnterpriseGuids.containsKey(entity.getGuid())) {
415 vo.setDomainRSVOS(domainByEnterpriseGuids.get(entity.getGuid()));
416 }
417
324 return vo; 418 return vo;
325 } 419 }
326 420
......
1 package com.csbr.qingcloud.portal.service.impl;
2
3 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
4 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
5 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
6 import com.csbr.cloud.common.enums.SystemError;
7 import com.csbr.cloud.common.exception.CsbrSystemException;
8 import com.csbr.cloud.common.util.CommonUtil;
9 import com.csbr.cloud.common.util.CsbrBeanUtil;
10 import com.csbr.cloud.common.util.MessageSourceUtil;
11 import csbr.cloud.entity.domain.base.vo.PageListVO;
12 import com.csbr.qingcloud.portal.domain.vo.EnterpriseDomainQueryVO;
13 import com.csbr.qingcloud.portal.domain.vo.EnterpriseDomainRQVO;
14 import com.csbr.qingcloud.portal.domain.vo.EnterpriseDomainRSVO;
15 import com.csbr.qingcloud.portal.mybatis.entity.MfEnterpriseDomain;
16 import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseDomainService;
17 import com.csbr.qingcloud.portal.service.EnterpriseDomainService;
18 import jakarta.annotation.Resource;
19 import lombok.extern.slf4j.Slf4j;
20 import org.apache.commons.collections.CollectionUtils;
21 import org.apache.commons.lang3.ObjectUtils;
22 import org.apache.commons.lang3.StringUtils;
23 import org.springframework.stereotype.Service;
24 import org.springframework.transaction.annotation.Transactional;
25
26 import java.util.ArrayList;
27 import java.util.Collections;
28 import java.util.List;
29 import java.util.Map;
30 import java.util.stream.Collectors;
31
32 /**
33 * @program:
34 * @description: 开发主体领域信息业务逻辑实现
35 * @author: makejava
36 * @create: 2025-09-12 11:02
37 **/
38 @Slf4j
39 @Service
40 public class EnterpriseDomainServiceImpl implements EnterpriseDomainService {
41
42 /**
43 * 功能名称
44 */
45 private static final String FUNCTION_NAME = "开发主体领域信息";
46
47 @Resource
48 private MfEnterpriseDomainService mfEnterpriseDomainService;
49
50 @Resource
51 private CsbrBeanUtil csbrBeanUtil;
52
53 @Resource
54 private MessageSourceUtil messageSourceUtil;
55
56 /**
57 * 开发主体领域信息分页查询
58 * @author makejava
59 * @date 2025-09-12 11:02
60 * @param queryVO
61 * @return com.csbr.cloud.mybatis.entity.PageListVO<com.csbr.qingcloud.portal.domain.vo.EnterpriseDomainRSVO>
62 */
63 @Override
64 public PageListVO<EnterpriseDomainRSVO> pageList(EnterpriseDomainQueryVO queryVO) {
65 beforeQuery(queryVO);
66 LambdaQueryWrapper<MfEnterpriseDomain> queryWrapper = mfEnterpriseDomainService.csbrQueryWrapper(queryVO, MfEnterpriseDomain.class);
67 queryWrapper.orderByDesc(MfEnterpriseDomain::getCreateTime);
68 PageListVO<MfEnterpriseDomain> pageList = mfEnterpriseDomainService.csbrPageList(queryVO, queryWrapper);
69 PageListVO<EnterpriseDomainRSVO> rsPageList = csbrBeanUtil.convert(pageList, PageListVO.class);
70 afterQuery(pageList, rsPageList);
71 return rsPageList;
72 }
73
74 /**
75 * 开发主体领域信息获取详情数据
76 * @author makejava
77 * @date 2025-09-12 11:02
78 * @param guid
79 * @return com.csbr.qingcloud.portal.domain.vo.EnterpriseDomainRSVO
80 */
81 @Override
82 public EnterpriseDomainRSVO getEnterpriseDomainDetail(String guid) {
83 if (StringUtils.isBlank(guid)) {
84 // W00012 = {0}:参数[{1}]不能为空!
85 throw new CsbrSystemException(SystemError.DATA_INPUT_ERROR, messageSourceUtil.getMessage("W00010",
86 String.format("获取%s详情数据", FUNCTION_NAME), "数据唯一标识"));
87 }
88 MfEnterpriseDomain entity = mfEnterpriseDomainService.getById(guid);
89 if (entity == null) {
90 throw new CsbrSystemException(SystemError.DATA_NOT_EXISTS, messageSourceUtil.notExistsToSelectMessage(String.format("获取%s详情数据", FUNCTION_NAME)));
91 }
92 return convertToVO(entity);
93 }
94
95 /**
96 * 开发主体领域信息数据新增
97 * @author makejava
98 * @date 2025-09-12 11:02
99 * @param rqVO
100 * @return boolean
101 */
102 @Transactional(rollbackFor = Exception.class)
103 @Override
104 public void saveEnterpriseDomain(EnterpriseDomainRQVO rqVO) {
105 beforeSave(rqVO);
106 MfEnterpriseDomain entity = convertToEntity(rqVO);
107 mfEnterpriseDomainService.csbrAddEntity(entity);
108 boolean flag = mfEnterpriseDomainService.save(entity);
109 if (!flag) {
110 throw new CsbrSystemException(SystemError.DATA_ADD_ERROR, messageSourceUtil.addMessage(FUNCTION_NAME));
111 }
112 afterSave(rqVO);
113 }
114
115 /**
116 * 开发主体领域信息数据修改
117 * @author makejava
118 * @date 2025-09-12 11:02
119 * @param rqVO
120 * @return boolean
121 */
122 @Transactional(rollbackFor = Exception.class)
123 @Override
124 public void updateEnterpriseDomain(EnterpriseDomainRQVO rqVO) {
125 // 将修改前数据查出来缓存下来,传入到修改后方法中,用于一些特殊逻辑处理,如某个值变化才进行
126 // MfEnterpriseDomain oldEntity = mfEnterpriseDomainService.getById(rqVO.getGuid());
127 MfEnterpriseDomain oldEntity = null;
128 beforeUpdate(rqVO);
129 MfEnterpriseDomain entity = convertToEntity(rqVO);
130 mfEnterpriseDomainService.csbrUpdateEntity(entity);
131 boolean flag = mfEnterpriseDomainService.updateById(entity);
132 if (!flag) {
133 throw new CsbrSystemException(SystemError.DATA_UPDATE_ERROR, messageSourceUtil.updateMessage(FUNCTION_NAME));
134 }
135 afterUpdate(rqVO, oldEntity);
136 }
137
138 /**
139 * 开发主体领域信息数据删除
140 * @author makejava
141 * @date 2025-09-12 11:02
142 * @param guids
143 * @return void
144 */
145 @Transactional(rollbackFor = Exception.class)
146 @Override
147 public void removeByGuids(List<String> guids) {
148 if (CollectionUtils.isEmpty(guids)) {
149 // W00012 = {0}:参数[{1}]不能为空!
150 throw new CsbrSystemException(SystemError.DATA_INPUT_ERROR, messageSourceUtil.getMessage("W00012",
151 String.format("删除%s数据", FUNCTION_NAME), "数据唯一标识"));
152 }
153 if (!mfEnterpriseDomainService.isExistsData(guids, MfEnterpriseDomain.class)) {
154 throw new CsbrSystemException(SystemError.DATA_DEL_ERROR, messageSourceUtil.notExistsToDelMessage(FUNCTION_NAME));
155 }
156 boolean flag = mfEnterpriseDomainService.removeByIds(guids);
157 if (!flag) {
158 throw new CsbrSystemException(SystemError.DATA_DEL_ERROR, messageSourceUtil.delMessage(FUNCTION_NAME));
159 }
160 }
161
162 /**
163 * 开发主体领域信息数据删除、并有相关的处理操作
164 * @author makejava
165 * @date 2025-09-12 11:02
166 * @param guids
167 * @return void
168 */
169 @Transactional(rollbackFor = Exception.class)
170 @Override
171 public void removeHandleByGuids(List<String> guids) {
172 if (CollectionUtils.isEmpty(guids)) {
173 // W00012 = {0}:参数[{1}]不能为空!
174 throw new CsbrSystemException(SystemError.DATA_INPUT_ERROR, messageSourceUtil.getMessage("W00012",
175 String.format("删除%s数据", FUNCTION_NAME), "数据唯一标识"));
176 }
177 for (String guid : guids) {
178 MfEnterpriseDomain entity = mfEnterpriseDomainService.getById(guid);
179 beforeRemove(entity);
180 boolean flag = mfEnterpriseDomainService.removeById(guid);
181 if (!flag) {
182 throw new CsbrSystemException(SystemError.DATA_DEL_ERROR, messageSourceUtil.delMessage(FUNCTION_NAME));
183 }
184 afterRemove(entity);
185 }
186 }
187
188 @Override
189 @Transactional
190 public void batchSave(List<EnterpriseDomainRQVO> domainRQVOS, String guid) {
191 if (ObjectUtils.isNotEmpty(domainRQVOS)) {
192 List<MfEnterpriseDomain> enterpriseDomains = new ArrayList<>();
193 for (EnterpriseDomainRQVO enterpriseDomainRQVO : domainRQVOS) {
194 enterpriseDomainRQVO.setGuid(null);
195 MfEnterpriseDomain entity = convertToEntity(enterpriseDomainRQVO);
196 entity.setEnterpriseGuid(guid);
197 mfEnterpriseDomainService.csbrAddEntity(entity);
198 enterpriseDomains.add(entity);
199 }
200 mfEnterpriseDomainService.saveBatch(enterpriseDomains);
201 }
202 }
203
204 @Transactional
205 @Override
206 public void removeByEnterpriseGuids(List<String> enterpriseGuids) {
207 if (CollectionUtils.isEmpty(enterpriseGuids)) {
208 return;
209 }
210 LambdaUpdateWrapper<MfEnterpriseDomain> updateWrapper = Wrappers.lambdaUpdate(MfEnterpriseDomain.class);
211 updateWrapper.in(MfEnterpriseDomain::getEnterpriseGuid, enterpriseGuids);
212 mfEnterpriseDomainService.remove(updateWrapper);
213 }
214
215 @Override
216 @Transactional
217 public void batchUpdate(List<EnterpriseDomainRQVO> domainRQVOS, String guid) {
218 // 删除开发主体附件信息
219 removeByEnterpriseGuids(Collections.singletonList(guid));
220
221 // 批量新增开发主体附件信息
222 batchSave(domainRQVOS, guid);
223 }
224
225 @Override
226 public Map<String, List<EnterpriseDomainRSVO>> getMapByEnterpriseGuids(List<String> enterpriseGuids) {
227 if (ObjectUtils.isEmpty(enterpriseGuids)) {
228 return null;
229 }
230 LambdaQueryWrapper<MfEnterpriseDomain> queryWrapper = Wrappers.lambdaQuery(MfEnterpriseDomain.class);
231 queryWrapper.in(MfEnterpriseDomain::getEnterpriseGuid, enterpriseGuids);
232 queryWrapper.orderByAsc(MfEnterpriseDomain::getCreateTime);
233 List<MfEnterpriseDomain> mfEnterpriseDomains = mfEnterpriseDomainService.list(queryWrapper);
234 if (ObjectUtils.isEmpty(mfEnterpriseDomains)) {
235 return null;
236 }
237 return convertToVO(mfEnterpriseDomains).stream().collect(Collectors.groupingBy(EnterpriseDomainRSVO::getEnterpriseGuid));
238 }
239
240 /**
241 * 开发主体领域信息新新增前置处理
242 * @author makejava
243 * @date 2025-09-12 11:02
244 * @param rqVO
245 * @return void
246 */
247 private void beforeSave(EnterpriseDomainRQVO rqVO) {
248 //region 1.输入基础验证
249 //endregion
250
251 //region 2.数据验证特殊处理
252 //region 2.1.业务合规性验证
253 //endregion 2.1.业务合规性验证
254
255 //region 2.2.业务数据验证
256 //endregion 2.2.业务数据验证
257
258 //endregion 2.数据验证特殊处理
259
260 //region 3.数据转换处理
261
262 //region 3.1.数据过程转换
263 //endregion 3.1.数据过程转换
264
265 //endregion 3.数据转换处理
266
267 //region 4.数据过滤与补充处理
268
269 //endregion 4.数据过滤与补充处理
270
271 //region 5.过程处理
272
273 //region 5.1.计算逻辑处理
274 //endregion 5.1.计算逻辑处理
275
276 //region 5.2.业务逻辑处理
277 //endregion 5.2.业务逻辑处理
278
279 //endregion 5.过程处理
280 }
281
282 /**
283 * 开发主体领域信息新增后置处理
284 * @author makejava
285 * @date 2025-09-12 11:02
286 * @param rqVO
287 * @return void
288 */
289 private void afterSave(EnterpriseDomainRQVO rqVO) {
290 //region 1.输出特殊转换
291
292 //region 1.1.输出过滤与补充处理
293 //endregion 1.1.输出过滤与补充处理
294
295 //endregion 1.输出特殊转换
296 }
297
298 /**
299 * 开发主体领域信息修改前置校验、处理
300 * @author makejava
301 * @date 2025-09-12 11:02
302 * @param rqVO
303 * @return void
304 */
305 private void beforeUpdate(EnterpriseDomainRQVO rqVO) {
306 //region 1.输入基础验证
307 if (StringUtils.isBlank(rqVO.getGuid())) {
308 // W00012 = {0}:参数[{1}]不能为空!
309 throw new CsbrSystemException(SystemError.DATA_INPUT_ERROR, messageSourceUtil.getMessage("W00010", String.format("修改%s数据",FUNCTION_NAME), "数据唯一标识"));
310 }
311 //endregion
312
313 //region 2.数据验证特殊处理
314 //region 2.1.业务合规性验证
315 //endregion 2.1.业务合规性验证
316
317 //region 2.2.业务数据验证
318 if (!mfEnterpriseDomainService.isExistsData(Collections.singletonList(rqVO.getGuid()), MfEnterpriseDomain.class)) {
319 throw new CsbrSystemException(SystemError.DATA_DEL_ERROR, messageSourceUtil.notExistsToUpdateMessage(FUNCTION_NAME));
320 }
321 //endregion 2.2.业务数据验证
322
323 //endregion 2.数据验证特殊处理
324
325 //region 3.数据转换处理
326
327 //region 3.1.数据过程转换
328 //endregion 3.1.数据过程转换
329
330 //endregion 3.数据转换处理
331
332 //region 4.数据过滤与补充处理
333 //endregion 4.数据过滤与补充处理
334
335 //region 5.过程处理
336
337 //region 5.1.计算逻辑处理
338 //endregion 5.1.计算逻辑处理
339
340 //region 5.2.业务逻辑处理
341 //endregion 5.2.业务逻辑处理
342
343 //endregion 5.过程处理
344 }
345
346 /**
347 * 开发主体领域信息修改后置处理
348 * @author makejava
349 * @date 2025-09-12 11:02
350 * @param rqVO
351 * @param entity
352 * @return void
353 */
354 protected void afterUpdate(EnterpriseDomainRQVO rqVO, MfEnterpriseDomain entity) {
355 //region 1.输出特殊转换
356
357 //region 1.1.输出过滤与补充处理
358 //endregion 1.1.输出过滤与补充处理
359
360 //endregion 1.输出特殊转换
361 }
362
363
364 /**
365 * 开发主体领域信息删除前置处理
366 * @author makejava
367 * @date 2025-09-12 11:02
368 * @param entity
369 * @return void
370 */
371 private void beforeRemove(MfEnterpriseDomain entity) {
372 if (entity == null) {
373 throw new CsbrSystemException(SystemError.DATA_DEL_ERROR, messageSourceUtil.notExistsToDelMessage(FUNCTION_NAME));
374 }
375 }
376
377 /**
378 * 开发主体领域信息删除后置处理
379 * @author makejava
380 * @date 2025-09-12 11:02
381 * @param entity
382 * @return void
383 */
384 private void afterRemove(MfEnterpriseDomain entity) {
385
386 }
387
388 /**
389 * 开发主体领域信息查询方法前置验证、处理
390 * @author makejava
391 * @date 2025-09-12 11:02
392 * @param rqQueryVO
393 * @return void
394 */
395 private void beforeQuery(EnterpriseDomainQueryVO rqQueryVO) {
396
397 }
398
399 /**
400 * 开发主体领域信息查询方法后置数据转换、处理
401 * @author makejava
402 * @date 2025-09-12 11:02
403 * @param pageList 数据库查询数据
404 * @param rsPageList 返回的最终数据
405 * @return void
406 */
407 private void afterQuery(PageListVO<MfEnterpriseDomain> pageList, PageListVO<EnterpriseDomainRSVO> rsPageList) {
408 if (CollectionUtils.isNotEmpty(pageList.getRecords())) {
409 rsPageList.setRecords(convertToVO(pageList.getRecords()));
410 }
411 // 需要特殊处理数据时使用
412 /*if(CollectionUtils.isNotEmpty(pageList.getRecords())){
413 List<EnterpriseDomainRSVO> results = new ArrayList<>();
414 for (MfEnterpriseDomain item : pageList.getRecords()){
415 EnterpriseDomainRSVO vo = convertToVO(item);
416 results.add(vo);
417 }
418 rsPageList.setRecords(results);
419 }*/
420 }
421
422 //region 辅助操作
423
424 /**
425 * 开发主体领域信息实体数据转换为视图对象数据(多个)
426 * @author makejava
427 * @date 2025-09-12 11:02
428 * @param entityList 实体数据列表
429 * @return java.util.List<com.csbr.qingcloud.portal.domain.vo.EnterpriseDomainRSVO> 视图对象列表
430 */
431 private List<EnterpriseDomainRSVO> convertToVO(List<MfEnterpriseDomain> entityList) {
432 if (CollectionUtils.isEmpty(entityList)) {
433 // W00012 = {0}:参数[{1}]不能为空!
434 throw new CsbrSystemException(SystemError.DATA_INPUT_ERROR, messageSourceUtil.getMessage("W00012",
435 "实体数据转换为视图对象实体数据", "实体数据"));
436 }
437 List<EnterpriseDomainRSVO> voList = new ArrayList<>(entityList.size());
438 for (MfEnterpriseDomain item : entityList) {
439 EnterpriseDomainRSVO vo = convertToVO(item);
440 voList.add(vo);
441 }
442 return voList;
443 }
444
445 /**
446 * 开发主体领域信息实体数据转换为视图对象数据
447 * @author makejava
448 * @date 2025-09-12 11:02
449 * @param entity
450 * @return com.csbr.qingcloud.portal.domain.vo.EnterpriseDomainRSVO
451 */
452 private EnterpriseDomainRSVO convertToVO(MfEnterpriseDomain entity) {
453 EnterpriseDomainRSVO vo = csbrBeanUtil.convert(entity, EnterpriseDomainRSVO.class);
454 return vo;
455 }
456
457 /**
458 * 开发主体领域信息新增、修改和其他情况的参数转换为实体
459 * @author makejava
460 * @date 2025-09-12 11:02
461 * @param vo
462 * @return com.csbr.qingcloud.portal.mybatis.entity.MfEnterpriseDomain
463 */
464 private MfEnterpriseDomain convertToEntity(EnterpriseDomainRQVO vo) {
465 MfEnterpriseDomain entity = csbrBeanUtil.convert(vo, MfEnterpriseDomain.class);
466 // 新增时数据默认guid赋值,转换后该guid可能别使用
467 if (StringUtils.isBlank(vo.getGuid())) {
468 entity.setGuid(CommonUtil.newGuid());
469 }
470 return entity;
471 }
472
473 //endregion
474
475 }
...@@ -6,6 +6,8 @@ import com.alibaba.fastjson.JSONObject; ...@@ -6,6 +6,8 @@ import com.alibaba.fastjson.JSONObject;
6 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 6 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
7 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; 7 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
8 import com.baomidou.mybatisplus.core.toolkit.Wrappers; 8 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
9 import com.csbr.cloud.common.entity.DictModel;
10 import com.csbr.cloud.common.enums.RedisKeyEnum;
9 import com.csbr.cloud.common.enums.SystemError; 11 import com.csbr.cloud.common.enums.SystemError;
10 import com.csbr.cloud.common.enums.WorkFlowBizEnum; 12 import com.csbr.cloud.common.enums.WorkFlowBizEnum;
11 import com.csbr.cloud.common.exception.CsbrSystemException; 13 import com.csbr.cloud.common.exception.CsbrSystemException;
...@@ -13,6 +15,7 @@ import com.csbr.cloud.common.util.CommonUtil; ...@@ -13,6 +15,7 @@ import com.csbr.cloud.common.util.CommonUtil;
13 import com.csbr.cloud.common.util.CsbrBeanUtil; 15 import com.csbr.cloud.common.util.CsbrBeanUtil;
14 import com.csbr.cloud.common.util.MessageSourceUtil; 16 import com.csbr.cloud.common.util.MessageSourceUtil;
15 import com.csbr.cloud.distributelock.util.RedisUtil; 17 import com.csbr.cloud.distributelock.util.RedisUtil;
18 import com.csbr.cloud.mybatis.util.ValidatorUtil;
16 import com.csbr.cloud.workflow.domain.dto.appove.AddApprovalDTO; 19 import com.csbr.cloud.workflow.domain.dto.appove.AddApprovalDTO;
17 import com.csbr.cloud.workflow.domain.dto.appove.FlowQueryDTO; 20 import com.csbr.cloud.workflow.domain.dto.appove.FlowQueryDTO;
18 import com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO; 21 import com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO;
...@@ -31,6 +34,8 @@ import com.csbr.qingcloud.portal.mybatis.entity.MfEnterpriseChangeApprove; ...@@ -31,6 +34,8 @@ import com.csbr.qingcloud.portal.mybatis.entity.MfEnterpriseChangeApprove;
31 import com.csbr.qingcloud.portal.mybatis.service.MfDemandService; 34 import com.csbr.qingcloud.portal.mybatis.service.MfDemandService;
32 import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseChangeApproveService; 35 import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseChangeApproveService;
33 import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseService; 36 import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseService;
37 import com.csbr.qingcloud.portal.service.EnterpriseAttachmentService;
38 import com.csbr.qingcloud.portal.service.EnterpriseDomainService;
34 import com.csbr.qingcloud.portal.service.EnterpriseService; 39 import com.csbr.qingcloud.portal.service.EnterpriseService;
35 import com.csbr.qingcloud.portal.util.ChangeInfoUtil; 40 import com.csbr.qingcloud.portal.util.ChangeInfoUtil;
36 import com.csbr.qingcloud.portal.util.DateUtil; 41 import com.csbr.qingcloud.portal.util.DateUtil;
...@@ -45,6 +50,7 @@ import org.apache.commons.collections.CollectionUtils; ...@@ -45,6 +50,7 @@ import org.apache.commons.collections.CollectionUtils;
45 import org.apache.commons.lang3.ObjectUtils; 50 import org.apache.commons.lang3.ObjectUtils;
46 import org.apache.commons.lang3.StringUtils; 51 import org.apache.commons.lang3.StringUtils;
47 import org.springframework.beans.factory.annotation.Autowired; 52 import org.springframework.beans.factory.annotation.Autowired;
53 import org.springframework.beans.factory.annotation.Value;
48 import org.springframework.stereotype.Service; 54 import org.springframework.stereotype.Service;
49 import org.springframework.transaction.annotation.Transactional; 55 import org.springframework.transaction.annotation.Transactional;
50 56
...@@ -70,6 +76,9 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris ...@@ -70,6 +76,9 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris
70 76
71 private static final String SysFuncCode = "QYRZ"; 77 private static final String SysFuncCode = "QYRZ";
72 78
79 @Value("${enterpriseAttachment.isRequired:true}")
80 private Boolean isRequired;
81
73 @Autowired 82 @Autowired
74 private ZQConfig zqConfig; 83 private ZQConfig zqConfig;
75 84
...@@ -106,6 +115,15 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris ...@@ -106,6 +115,15 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris
106 @Resource 115 @Resource
107 private ConfigureFeign configureFeign; 116 private ConfigureFeign configureFeign;
108 117
118 @Resource
119 private EnterpriseAttachmentService enterpriseAttachmentService;
120
121 @Resource
122 private EnterpriseDomainService enterpriseDomainService;
123
124 @Resource
125 private ValidatorUtil validatorUtil;
126
109 /** 127 /**
110 * 企业信息分页查询 128 * 企业信息分页查询
111 * @author xcq 129 * @author xcq
...@@ -593,6 +611,18 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris ...@@ -593,6 +611,18 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris
593 } 611 }
594 MfEnterprise mfEnterprise = enterpriseOptional.get(); 612 MfEnterprise mfEnterprise = enterpriseOptional.get();
595 EnterpriseRSVO enterpriseRSVO = convertToVO(mfEnterprise); 613 EnterpriseRSVO enterpriseRSVO = convertToVO(mfEnterprise);
614 // 查询附件信息
615 String guid = enterpriseRSVO.getGuid();
616 Map<String, List<EnterpriseAttachmentRSVO>> attachmentByEnterpriseGuids = enterpriseAttachmentService.getMapByEnterpriseGuids(Collections.singletonList(guid));
617
618 // 查询领域信息
619 Map<String, List<EnterpriseDomainRSVO>> domainByEnterpriseGuids = enterpriseDomainService.getMapByEnterpriseGuids(Collections.singletonList(guid));
620 if (ObjectUtils.isNotEmpty(attachmentByEnterpriseGuids) && attachmentByEnterpriseGuids.containsKey(guid)) {
621 enterpriseRSVO.setAttachmentRSVOS(attachmentByEnterpriseGuids.get(guid));
622 }
623 if (ObjectUtils.isNotEmpty(domainByEnterpriseGuids) && domainByEnterpriseGuids.containsKey(guid)) {
624 enterpriseRSVO.setDomainRSVOS(domainByEnterpriseGuids.get(guid));
625 }
596 626
597 // 查询变更历史 627 // 查询变更历史
598 LambdaQueryWrapper<MfEnterpriseChangeApprove> lambdaQueryWrapper = new LambdaQueryWrapper<>(); 628 LambdaQueryWrapper<MfEnterpriseChangeApprove> lambdaQueryWrapper = new LambdaQueryWrapper<>();
...@@ -607,8 +637,20 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris ...@@ -607,8 +637,20 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris
607 if ("B".equals(enterpriseRSVO.getBizApproveState())) { 637 if ("B".equals(enterpriseRSVO.getBizApproveState())) {
608 Optional<MfEnterpriseChangeApprove> changeApproveOptFirst = approveList.stream().filter(item -> "2".equals(item.getDataType())).findFirst(); 638 Optional<MfEnterpriseChangeApprove> changeApproveOptFirst = approveList.stream().filter(item -> "2".equals(item.getDataType())).findFirst();
609 if (changeApproveOptFirst.isPresent()) { 639 if (changeApproveOptFirst.isPresent()) {
610 enterpriseRSVO = csbrBeanUtil.convert(changeApproveOptFirst.get(), EnterpriseRSVO.class); 640 MfEnterpriseChangeApprove mfEnterpriseChangeApprove = changeApproveOptFirst.get();
641 enterpriseRSVO = csbrBeanUtil.convert(mfEnterpriseChangeApprove, EnterpriseRSVO.class);
611 enterpriseRSVO.setBizApproveState(mfEnterprise.getBizApproveState()); 642 enterpriseRSVO.setBizApproveState(mfEnterprise.getBizApproveState());
643
644 attachmentByEnterpriseGuids = enterpriseAttachmentService.getMapByEnterpriseGuids(Collections.singletonList(mfEnterpriseChangeApprove.getGuid()));
645
646 // 查询领域信息
647 domainByEnterpriseGuids = enterpriseDomainService.getMapByEnterpriseGuids(Collections.singletonList(mfEnterpriseChangeApprove.getGuid()));
648 if (ObjectUtils.isNotEmpty(attachmentByEnterpriseGuids) && attachmentByEnterpriseGuids.containsKey(mfEnterpriseChangeApprove.getGuid())) {
649 enterpriseRSVO.setAttachmentRSVOS(attachmentByEnterpriseGuids.get(mfEnterpriseChangeApprove.getGuid()));
650 }
651 if (ObjectUtils.isNotEmpty(domainByEnterpriseGuids) && domainByEnterpriseGuids.containsKey(mfEnterpriseChangeApprove.getGuid())) {
652 enterpriseRSVO.setDomainRSVOS(domainByEnterpriseGuids.get(mfEnterpriseChangeApprove.getGuid()));
653 }
612 } 654 }
613 } 655 }
614 656
...@@ -650,6 +692,32 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris ...@@ -650,6 +692,32 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris
650 return JSExchageCommonRes.success(pageListVO); 692 return JSExchageCommonRes.success(pageListVO);
651 } 693 }
652 694
695 @Override
696 public List<EnterpriseRSVO> listByTenantGuids(List<String> guids) {
697 if (ObjectUtils.isEmpty(guids)) {
698 return null;
699 }
700 LambdaQueryWrapper<MfEnterprise> queryWrapper = Wrappers.lambdaQuery(MfEnterprise.class);
701 queryWrapper.in(MfEnterprise::getTenantGuid, guids);
702 queryWrapper.eq(MfEnterprise::getBizApproveState, "Y");
703 List<MfEnterprise> mfEnterprises = mfEnterpriseService.list(queryWrapper);
704 if (ObjectUtils.isEmpty(mfEnterprises)) {
705 return null;
706 }
707 return convertToVO(mfEnterprises);
708 }
709
710 @Override
711 public Boolean updateIdentityState(String logonUser, String identityState) {
712 if (StringUtils.isEmpty(logonUser) || StringUtils.isEmpty(identityState)) {
713 return Boolean.TRUE;
714 }
715 LambdaUpdateWrapper<MfEnterprise> updateWrapper = Wrappers.lambdaUpdate(MfEnterprise.class);
716 updateWrapper.eq(MfEnterprise::getLogonUser, logonUser);
717 updateWrapper.set(MfEnterprise::getIdentityState, identityState);
718 return mfEnterpriseService.update(updateWrapper);
719 }
720
653 private void afterEnterpriseData(PageListVO<MfEnterprise> enterprisePageListVO, JSExchagePageListVO<JSEnterpriseRSVO> pageListVO) { 721 private void afterEnterpriseData(PageListVO<MfEnterprise> enterprisePageListVO, JSExchagePageListVO<JSEnterpriseRSVO> pageListVO) {
654 pageListVO.setTotal(enterprisePageListVO.getTotalRows().intValue()); 722 pageListVO.setTotal(enterprisePageListVO.getTotalRows().intValue());
655 List<MfEnterprise> records = enterprisePageListVO.getRecords(); 723 List<MfEnterprise> records = enterprisePageListVO.getRecords();
...@@ -759,6 +827,33 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris ...@@ -759,6 +827,33 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris
759 //region 1.输入基础验证 827 //region 1.输入基础验证
760 check(rqVO); 828 check(rqVO);
761 //endregion 829 //endregion
830 // 校验附加信息
831 List<EnterpriseAttachmentRQVO> attachmentRQVOS = rqVO.getAttachmentRQVOS();
832 if (ObjectUtils.isNotEmpty(attachmentRQVOS)) {
833 List<DataDictVO> dataDictVOS = getSystemParamsList("开发主体附件类型");
834 Map<String, String> dataDictMap = new HashMap<>();
835 if (ObjectUtils.isNotEmpty(dataDictVOS)) {
836 dataDictMap = dataDictVOS.stream().collect(Collectors.toMap(DataDictVO::getParamValue, DataDictVO::getParamName));
837 }
838 for (EnterpriseAttachmentRQVO attachmentRQVO : attachmentRQVOS) {
839 if (StringUtils.isNotEmpty(attachmentRQVO.getFileName()) && attachmentRQVO.getFileName().length() > 100) {
840 String fileType = "";
841 if (ObjectUtils.isNotEmpty(dataDictMap) && dataDictMap.containsKey(attachmentRQVO.getFileType())) {
842 fileType = dataDictMap.get(attachmentRQVO.getFileType());
843 }
844 throw new CsbrSystemException(SystemError.DATA_INPUT_ERROR, fileType + "上传的文件名称长度超过100.");
845 }
846 }
847 }
848 if (isRequired) {
849 if (ObjectUtils.isEmpty(rqVO.getAttachmentRQVOS())) {
850 throw new CsbrSystemException(SystemError.DATA_INPUT_ERROR, "附件信息不能为空.");
851 }
852 String message = validatorUtil.validateRetrunAll(rqVO.getAttachmentRQVOS());
853 if (StringUtils.isNotEmpty(message)) {
854 throw new CsbrSystemException(SystemError.DATA_INPUT_ERROR, message);
855 }
856 }
762 857
763 //region 2.数据验证特殊处理 858 //region 2.数据验证特殊处理
764 //region 2.1.业务合规性验证 859 //region 2.1.业务合规性验证
...@@ -791,6 +886,27 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris ...@@ -791,6 +886,27 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris
791 //endregion 5.过程处理 886 //endregion 5.过程处理
792 } 887 }
793 888
889 public List<DataDictVO> getSystemParamsList(String dictType){
890 if(StringUtils.isEmpty(dictType)){
891 throw new CsbrSystemException(SystemError.ERROR,"数据字典类型不能为空。");
892 }
893 Object dictListValue= redisUtil.get(String.format(RedisKeyEnum.DICT_ITEM_DATA.getCode(), dictType));
894 if(ObjectUtils.isNotEmpty(dictListValue)) {
895 List<DictModel> dictModels = (List<DictModel>) dictListValue;
896 return dictModels.stream().map(d->getDataDictVO(d)).collect(Collectors.toList());
897 }
898 return new ArrayList<>();
899 }
900
901 private DataDictVO getDataDictVO(DictModel dm) {
902 DataDictVO vo = new DataDictVO();
903 vo.setGuid(dm.getGuid());
904 vo.setParamName(dm.getText());
905 vo.setParamValue(dm.getValue());
906 vo.setRemarks(dm.getRemarks());
907 return vo;
908 }
909
794 /** 910 /**
795 * 企业信息新增后置处理 911 * 企业信息新增后置处理
796 * @author xcq 912 * @author xcq
...@@ -805,6 +921,14 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris ...@@ -805,6 +921,14 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris
805 enterpriseChangeApprove.setSourceGuid(entity.getGuid()); 921 enterpriseChangeApprove.setSourceGuid(entity.getGuid());
806 enterpriseChangeApprove.setDataType("0"); 922 enterpriseChangeApprove.setDataType("0");
807 mfEnterpriseChangeApproveService.save(enterpriseChangeApprove); 923 mfEnterpriseChangeApproveService.save(enterpriseChangeApprove);
924
925 // 新增附件信息
926 List<EnterpriseAttachmentRQVO> attachmentRQVOS = rqVO.getAttachmentRQVOS();
927 enterpriseAttachmentService.batchSave(attachmentRQVOS, entity.getGuid(), entity.getTenantGuid(), isRequired);
928
929 // 新增领域信息
930 List<EnterpriseDomainRQVO> domainRQVOS = rqVO.getDomainRQVOS();
931 enterpriseDomainService.batchSave(domainRQVOS, entity.getGuid());
808 } 932 }
809 933
810 /** 934 /**
...@@ -875,6 +999,14 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris ...@@ -875,6 +999,14 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris
875 enterpriseChangeApprove.setSourceGuid(entity.getGuid()); 999 enterpriseChangeApprove.setSourceGuid(entity.getGuid());
876 enterpriseChangeApprove.setDataType("0"); 1000 enterpriseChangeApprove.setDataType("0");
877 mfEnterpriseChangeApproveService.updateById(enterpriseChangeApprove); 1001 mfEnterpriseChangeApproveService.updateById(enterpriseChangeApprove);
1002
1003 // 新增附件信息
1004 List<EnterpriseAttachmentRQVO> attachmentRQVOS = rqVO.getAttachmentRQVOS();
1005 enterpriseAttachmentService.batchUpdate(attachmentRQVOS, entity.getGuid(), entity.getTenantGuid(), isRequired);
1006
1007 // 新增领域信息
1008 List<EnterpriseDomainRQVO> domainRQVOS = rqVO.getDomainRQVOS();
1009 enterpriseDomainService.batchUpdate(domainRQVOS, entity.getGuid());
878 } 1010 }
879 1011
880 1012
...@@ -903,7 +1035,11 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris ...@@ -903,7 +1035,11 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris
903 * @return void 1035 * @return void
904 */ 1036 */
905 private void afterRemove(MfEnterprise entity) { 1037 private void afterRemove(MfEnterprise entity) {
1038 // 删除附件信息
1039 enterpriseAttachmentService.removeByEnterpriseGuids(Collections.singletonList(entity.getGuid()));
906 1040
1041 // 删除领域信息
1042 enterpriseDomainService.removeByEnterpriseGuids(Collections.singletonList(entity.getGuid()));
907 } 1043 }
908 1044
909 /** 1045 /**
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!