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 1614 additions and 111 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 }
...@@ -130,6 +130,19 @@ public class EnterpriseController { ...@@ -130,6 +130,19 @@ public class EnterpriseController {
130 return CommonRes.success(true); 130 return CommonRes.success(true);
131 } 131 }
132 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 }
145
133 //endregion 146 //endregion
134 147
135 //region 变更申请 148 //region 变更申请
......
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:
...@@ -39,10 +39,17 @@ public class EnterpriseAttachmentRQVO { ...@@ -39,10 +39,17 @@ public class EnterpriseAttachmentRQVO {
39 private String enterpriseGuid; 39 private String enterpriseGuid;
40 40
41 /** 41 /**
42 * 文件唯一标识
43 */
44 @Schema(description = "文件唯一标识")
45 private String fileId;
46
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 /**
...@@ -50,6 +57,7 @@ public class EnterpriseAttachmentRQVO { ...@@ -50,6 +57,7 @@ public class EnterpriseAttachmentRQVO {
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 /**
...@@ -63,6 +71,7 @@ public class EnterpriseAttachmentRQVO { ...@@ -63,6 +71,7 @@ public class EnterpriseAttachmentRQVO {
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 /******** 库表存储属性 需处理 *****/
......
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:
...@@ -47,6 +47,13 @@ public class EnterpriseAttachmentRSVO { ...@@ -47,6 +47,13 @@ public class EnterpriseAttachmentRSVO {
47 private String fileType; 47 private String fileType;
48 48
49 /** 49 /**
50 * 文件类型名称
51 */
52 @Schema(description = "文件类型名称")
53 @SystemParamsDict(dictTypeName = "开发主体附件类型", codeFieldName = "fileType")
54 private String fileTypeName;
55
56 /**
50 * 文件大小 57 * 文件大小
51 */ 58 */
52 @Schema(description = "文件大小") 59 @Schema(description = "文件大小")
......
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
...@@ -175,10 +177,37 @@ public class EnterpriseRQVO extends FlowRQBaseVO { ...@@ -175,10 +177,37 @@ public class EnterpriseRQVO extends FlowRQBaseVO {
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;
...@@ -198,6 +200,56 @@ public class EnterpriseRSVO { ...@@ -198,6 +200,56 @@ public class EnterpriseRSVO {
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 /******** 自定义扩展 *****/
...@@ -216,4 +268,10 @@ public class EnterpriseRSVO { ...@@ -216,4 +268,10 @@ public class EnterpriseRSVO {
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 }
...@@ -187,4 +187,36 @@ public class MfEnterprise extends BaseDO { ...@@ -187,4 +187,36 @@ public class MfEnterprise extends BaseDO {
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 }
......
...@@ -205,4 +205,37 @@ public class MfEnterpriseChangeApprove extends BaseDO { ...@@ -205,4 +205,37 @@ public class MfEnterpriseChangeApprove extends BaseDO {
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:
...@@ -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,18 +19,25 @@ import com.csbr.qingcloud.portal.domain.vo.EnterpriseAttachmentRSVO; ...@@ -17,18 +19,25 @@ 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:
...@@ -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
......
...@@ -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!