6fa656c9 by 肖初晴

【DAOP-1.0】企业认证

【功能点】变更功能开发
1 parent fd00f7d4
1 package com.csbr.qingcloud.portal.controller; 1 package com.csbr.qingcloud.portal.controller;
2 2
3 import com.csbr.cloud.common.response.CommonRes; 3 import com.csbr.cloud.common.response.CommonRes;
4 import com.csbr.qingcloud.portal.domain.vo.ChangeApproveVO;
5 import com.csbr.qingcloud.portal.service.EnterpriseChangeApproveService;
4 import csbr.cloud.entity.annotation.SystemLog; 6 import csbr.cloud.entity.annotation.SystemLog;
5 import csbr.cloud.entity.domain.base.vo.PageListVO; 7 import csbr.cloud.entity.domain.base.vo.PageListVO;
6 import com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO; 8 import com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO;
...@@ -13,8 +15,8 @@ import io.swagger.v3.oas.annotations.Parameter; ...@@ -13,8 +15,8 @@ import io.swagger.v3.oas.annotations.Parameter;
13 import io.swagger.v3.oas.annotations.tags.Tag; 15 import io.swagger.v3.oas.annotations.tags.Tag;
14 import jakarta.annotation.Resource; 16 import jakarta.annotation.Resource;
15 import jakarta.validation.Valid; 17 import jakarta.validation.Valid;
18 import org.springframework.validation.annotation.Validated;
16 import org.springframework.web.bind.annotation.*; 19 import org.springframework.web.bind.annotation.*;
17
18 import java.util.List; 20 import java.util.List;
19 21
20 /** 22 /**
...@@ -30,6 +32,9 @@ public class EnterpriseController { ...@@ -30,6 +32,9 @@ public class EnterpriseController {
30 32
31 @Resource 33 @Resource
32 private EnterpriseService enterpriseService; 34 private EnterpriseService enterpriseService;
35
36 @Resource
37 private EnterpriseChangeApproveService enterpriseChangeApproveService;
33 38
34 //region 基本操作 39 //region 基本操作
35 40
...@@ -67,11 +72,8 @@ public class EnterpriseController { ...@@ -67,11 +72,8 @@ public class EnterpriseController {
67 72
68 @GetMapping("/detail") 73 @GetMapping("/detail")
69 @SystemLog(value = "企业信息-详情") 74 @SystemLog(value = "企业信息-详情")
70 @Operation( 75 @Operation(summary = "企业信息-详情",
71 summary = "企业信息-详情", 76 parameters = {@Parameter(name = "guid", description = "企业信息唯一标识", required = true)} )
72 parameters = {
73 @Parameter(name = "guid", description = "企业信息唯一标识", required = true)}
74 )
75 public CommonRes<EnterpriseRSVO> getEnterpriseDetail(@RequestParam String guid) { 77 public CommonRes<EnterpriseRSVO> getEnterpriseDetail(@RequestParam String guid) {
76 EnterpriseRSVO vo = enterpriseService.getEnterpriseDetail(guid); 78 EnterpriseRSVO vo = enterpriseService.getEnterpriseDetail(guid);
77 return CommonRes.success(vo); 79 return CommonRes.success(vo);
...@@ -86,5 +88,44 @@ public class EnterpriseController { ...@@ -86,5 +88,44 @@ public class EnterpriseController {
86 } 88 }
87 89
88 //endregion 90 //endregion
91
92 //region 变更申请
93
94 /**
95 * 前置校验
96 */
97 @PostMapping("/check")
98 @SystemLog(value = "前置校验")
99 @Operation(summary = "前置校验")
100 public CommonRes<Boolean> check(@Validated @RequestBody EnterpriseRQVO vo) {
101 Boolean result = enterpriseService.check(vo);
102 return CommonRes.success(result);
103 }
104
105 @PostMapping("/change/update")
106 @SystemLog(value = "变更审批-最终更新")
107 @Operation( summary = "变更审批-最终更新" )
108 public CommonRes<Boolean> changeUpdate(@RequestBody BizCallbackDTO dto) {
109 enterpriseChangeApproveService.changeUpdate(dto);
110 return CommonRes.success(true);
111 }
112
113 @PostMapping("/change/save")
114 @SystemLog(value = "变更申请-保存数据")
115 @Operation(summary = "变更申请-保存数据")
116 public CommonRes<Boolean> changeSave(@Validated @RequestBody ChangeApproveVO vo) {
117 enterpriseChangeApproveService.changeSave(vo);
118 return CommonRes.success(true);
119 }
120
121
122 @GetMapping("/change/detail")
123 @SystemLog(value = "变更申请-查询详情")
124 @Operation(summary = "变更申请-详情",parameters = { @Parameter(name = "guid", description = "申请唯一标识", required = true)})
125 public CommonRes<ChangeApproveVO> changeDetail(@RequestParam String guid) {
126 return CommonRes.success(enterpriseChangeApproveService.changeDetail(guid));
127 }
128
129 //endregion
89 130
90 } 131 }
......
1 package com.csbr.qingcloud.portal.domain.vo;
2
3 import io.swagger.v3.oas.annotations.media.Schema;
4 import lombok.Data;
5
6 /**
7 * @program: ms-hc-workflow-service
8 * @description: 通用变更审批对象
9 * @author: XiaoCQ
10 * @create: 2024-01-20
11 **/
12 @Data
13 @Schema(name = "通用变更审批对象")
14 public class ChangeApproveVO {
15
16 /**
17 * 各变更业务唯一标识
18 */
19 @Schema(description = "各变更业务唯一标识")
20 private String guid;
21
22 /**
23 * 审批流唯一标识
24 */
25 @Schema(description = "审批流唯一标识")
26 private String approveGuid;
27
28 @Schema(description = "业务审批状态")
29 private String bizApproveState;
30
31 @Schema(description = "原审批流唯一标识")
32 private String sourceApproveGuid;
33
34 /**
35 * 源数据GUID
36 */
37 @Schema(description = "源数据GUID")
38 private String sourceGuid;
39
40 /**
41 * 业务数据
42 */
43 @Schema(description = "业务数据")
44 private String bizDataJson;
45
46 @Schema(description = "业务数据明细")
47 private String bizDataDetailJson;
48
49 /**
50 * 原业务数据
51 */
52 @Schema(description = "原业务数据")
53 private String oldBizDataJson;
54
55 @Schema(description = "原业务数据明细")
56 private String oldBizDataDetailJson;
57
58 }
...\ No newline at end of file ...\ No newline at end of file
...@@ -22,7 +22,7 @@ public class EnterpriseQueryVO extends FlowBizGuidQueryDTO { ...@@ -22,7 +22,7 @@ public class EnterpriseQueryVO extends FlowBizGuidQueryDTO {
22 /** 22 /**
23 * 业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃】 23 * 业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃】
24 */ 24 */
25 @Schema(description = "业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃】") 25 @Schema(description = "业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃;B 变更中;】")
26 private String bizApproveState; 26 private String bizApproveState;
27 27
28 /******** 自定义扩展 *****/ 28 /******** 自定义扩展 *****/
......
...@@ -167,7 +167,7 @@ public class EnterpriseRQVO extends FlowRQBaseVO { ...@@ -167,7 +167,7 @@ public class EnterpriseRQVO extends FlowRQBaseVO {
167 /** 167 /**
168 * 业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃; 默认 N】 168 * 业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃; 默认 N】
169 */ 169 */
170 @Schema(description = "业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃; 默认 N】") 170 @Schema(description = "业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃;B 变更中; 默认 N】")
171 private String bizApproveState; 171 private String bizApproveState;
172 172
173 /******** 库表存储属性 需处理 *****/ 173 /******** 库表存储属性 需处理 *****/
......
...@@ -173,7 +173,7 @@ public class EnterpriseRSVO { ...@@ -173,7 +173,7 @@ public class EnterpriseRSVO {
173 /** 173 /**
174 * 业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃; 默认 N】 174 * 业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃; 默认 N】
175 */ 175 */
176 @Schema(description = "业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃; 默认 N】") 176 @Schema(description = "业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃;B 变更中; 默认 N】")
177 private String bizApproveState; 177 private String bizApproveState;
178 178
179 /******** 库表存储属性 需处理 *****/ 179 /******** 库表存储属性 需处理 *****/
......
1 package com.csbr.qingcloud.portal.domain.vo;
2
3 import csbr.cloud.entity.domain.base.vo.CsbrBaseVO;
4 import io.swagger.v3.oas.annotations.media.Schema;
5 import lombok.Data;
6 import lombok.EqualsAndHashCode;
7 import lombok.experimental.Accessors;
8
9 import java.math.BigDecimal;
10 import java.time.LocalDateTime;
11 import java.util.List;
12
13 /**
14 * 企业表 视图对象类
15 *
16 * @author xiaocq
17 * @date 2023-12-19
18 */
19 @Data
20 @Accessors(chain = true)
21 @EqualsAndHashCode(callSuper = true)
22 @Schema(name = "企业表")
23 public class TenantRQVO extends CsbrBaseVO {
24
25 @Schema(description = "上级企业GUID")
26 private String parentGuid;
27
28 /**
29 * 公司编号
30 */
31 @Schema(description = "公司编号")
32 private String tenantCode;
33
34 /**
35 * 公司名称
36 */
37 @Schema(description = "公司名称")
38 private String tenantName;
39
40 /**
41 * 公司简称
42 */
43 @Schema(description = "公司简称")
44 private String abbreviation;
45
46 @Schema(description = "企业类型")
47 private String tenantType;
48
49 /**
50 * 公司法人
51 */
52 @Schema(description = "公司法人")
53 private String personIncharge;
54
55 /**
56 * 注册日期
57 */
58 @Schema(description = "注册日期")
59 private LocalDateTime registrationDate;
60
61 /**
62 * 注册资本
63 */
64 @Schema(description = "注册资本")
65 private BigDecimal registeredCapital;
66
67 /**
68 * 税号
69 */
70 @Schema(description = "税号")
71 private String bankTaxNo;
72
73 /**
74 * 单位地址
75 */
76 @Schema(description = "单位地址")
77 private String companyAddress;
78
79 /**
80 * 状态
81 */
82 @Schema(description = "状态 N草稿 Y正常 S停用")
83 private String bizState;
84
85 /**
86 * 营业执照经营范围
87 */
88 @Schema(description = "营业执照经营范围")
89 private String businessLicenseScope;
90
91 /**
92 * 联系人
93 */
94 @Schema(description = "联系人")
95 private String contacts;
96
97 /**
98 * 联系人电话
99 */
100 @Schema(description = "联系人电话")
101 private String contactTel;
102
103 /**
104 * 公司电话
105 */
106 @Schema(description = "公司电话")
107 private String enterprisePhone;
108
109 /**
110 * 省
111 */
112 @Schema(description = "省")
113 private String province;
114
115 /**
116 * 市
117 */
118 @Schema(description = "市")
119 private String city;
120
121 /**
122 * 区
123 */
124 @Schema(description = "区")
125 private String district;
126
127 /**
128 * 地址
129 */
130 @Schema(description = "地址")
131 private String venue;
132
133 /**
134 * 详细地址
135 */
136 @Schema(description = "详细地址")
137 private String address;
138
139 /**
140 * 登录账号
141 */
142 @Schema(description = "登录账号")
143 private String logonUser;
144
145 @Schema(description = "会员状态 来自字典")
146 private String memberStatus;
147
148 @Schema(description = "持股类型 来自字典")
149 private String holdType;
150
151
152 /********非库表存储属性*****/
153
154 @Schema(description = "token后台赋值")
155 private String token;
156
157 /********字典类*****/
158
159 /********实体类、用户单选、组织机构单选*****/
160
161 /********范围查询*****/
162
163 /********自定义扩展*****/
164
165 /********子对象*****/
166
167 @Schema(hidden = true,description = "分库标识")
168 private String shardingFlag;
169 }
1 package com.csbr.qingcloud.portal.feign;
2
3 import com.csbr.cloud.common.config.FastCallFeignConfiguration;
4 import com.csbr.cloud.common.response.CommonRes;
5 import com.csbr.qingcloud.portal.domain.vo.TenantRQVO;
6 import org.springframework.cloud.openfeign.FeignClient;
7 import org.springframework.http.MediaType;
8 import org.springframework.web.bind.annotation.GetMapping;
9 import org.springframework.web.bind.annotation.PostMapping;
10 import org.springframework.web.bind.annotation.RequestBody;
11 import java.util.Map;
12
13 /**
14 * @author Xiaocq
15 */
16 @FeignClient(value = "ms-daop-personel-service", configuration = FastCallFeignConfiguration.class)
17 public interface PersonelFeign {
18
19 @PostMapping(value = "/tenant/auth", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
20 CommonRes<Boolean> authTenant(@RequestBody TenantRQVO vo);
21
22 @PostMapping(value = "/tenant/update", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
23 CommonRes<Boolean> updateTenant(@RequestBody TenantRQVO vo);
24
25 @GetMapping(value = "/tenant/get-all-tenant-guid-name-map", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
26 CommonRes<Map<String, String>> getAllTenantGuidNameMap();
27
28 }
...@@ -172,7 +172,7 @@ public class MfEnterprise extends BaseDO { ...@@ -172,7 +172,7 @@ public class MfEnterprise extends BaseDO {
172 /** 172 /**
173 * 业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃; 默认 N】 173 * 业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃; 默认 N】
174 */ 174 */
175 @Name("业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃; 默认 N】") 175 @Name("业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃;B 变更中 默认 N】")
176 private String bizApproveState; 176 private String bizApproveState;
177 177
178 } 178 }
......
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.math.BigDecimal;
11 import java.util.Date;
12
13 /**
14 * @program: D:/git/ms-data-circulation-portal-service
15 * @description: 企业信息变更审批实体
16 * @author: xcq
17 * @create: 2024-12-27 15:10
18 **/
19 @Data
20 @EqualsAndHashCode(callSuper = true)
21 @Accessors(chain = true)
22 @Name("企业信息变更审批")
23 public class MfEnterpriseChangeApprove extends BaseDO {
24
25 /**
26 * 公司名称
27 */
28 @Name("公司名称")
29 private String tenantName;
30
31 /**
32 * 统一社会信用代码
33 */
34 @Name("统一社会信用代码")
35 private String socialCreditCode;
36
37 /**
38 * 企业类型【选择平台字典【公司类型】的选项】
39 */
40 @Name("企业类型【选择平台字典【公司类型】的选项】")
41 private String tenantType;
42
43 /**
44 * 注册日期
45 */
46 @Name("注册日期")
47 private Date registrationDate;
48
49 /**
50 * 注册资本【(万元)】
51 */
52 @Name("注册资本【(万元)】")
53 private BigDecimal registeredCapital;
54
55 /**
56 * 税号
57 */
58 @Name("税号")
59 private String bankTaxNo;
60
61 /**
62 * 省
63 */
64 @Name("省")
65 private String province;
66
67 /**
68 * 市
69 */
70 @Name("市")
71 private String city;
72
73 /**
74 * 区
75 */
76 @Name("区")
77 private String district;
78
79 /**
80 * 营业期限【1 长期有效;2 自定义】
81 */
82 @Name("营业期限【1 长期有效;2 自定义】")
83 private String businessLicenseTerm;
84
85 /**
86 * 营业开始日期
87 */
88 @Name("营业开始日期")
89 private Date businessLicenseStartDate;
90
91 /**
92 * 营业结束日期
93 */
94 @Name("营业结束日期")
95 private Date businessLicenseEndDate;
96
97 /**
98 * 营业执照
99 */
100 @Name("营业执照")
101 @TableField(updateStrategy = FieldStrategy.ALWAYS)
102 private String businessLicenseJson;
103
104 /**
105 * 营业执照经营范围
106 */
107 @Name("营业执照经营范围")
108 private String businessLicenseScope;
109
110 /**
111 * 公司法人
112 */
113 @Name("公司法人")
114 private String juridicalPerson;
115
116 /**
117 * 法人证件类型
118 */
119 @Name("法人证件类型")
120 private String juridicalPersonIdType;
121
122 /**
123 * 法人证件号
124 */
125 @Name("法人证件号")
126 private String juridicalPersonId;
127
128 /**
129 * 法人证件照
130 */
131 @Name("法人证件照")
132 @TableField(updateStrategy = FieldStrategy.ALWAYS)
133 private String juridicalPersonIdPhotoJson;
134
135 /**
136 * 登录账号
137 */
138 @Name("登录账号")
139 private String logonUser;
140
141 /**
142 * 联系人
143 */
144 @Name("联系人")
145 private String contacts;
146
147 /**
148 * 联系人电话
149 */
150 @Name("联系人电话")
151 private String contactTel;
152
153 /**
154 * 管理员证件号
155 */
156 @Name("管理员证件号")
157 private String managerPersonId;
158
159 /**
160 * 管理员证件照
161 */
162 @Name("管理员证件照")
163 @TableField(updateStrategy = FieldStrategy.ALWAYS)
164 private String managerPersonIdPhotoJson;
165
166 /**
167 * 授权委托书
168 */
169 @Name("授权委托书")
170 private String authorizationLetter;
171
172 /**
173 * 业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃; 默认 N】
174 */
175 @Name("业务审批状态【N 草稿中,A 审批中,Y 已通过,R 驳回,C 已撤销,D 已废弃; 默认 N】")
176 private String bizApproveState;
177
178 /**
179 * 审批流唯一标识
180 */
181 @Name("审批流唯一标识")
182 private String approveGuid;
183
184 /**
185 * 原数据唯一标识
186 */
187 @Name("原数据唯一标识")
188 private String sourceGuid;
189
190 /**
191 * 数据类型【数据类型 1原数据 2新数据】
192 */
193 @Name("数据类型【数据类型 1原数据 2新数据】")
194 private String dataType;
195
196 }
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.MfEnterpriseChangeApprove;
6
7 /**
8 * @program: D:/git/ms-data-circulation-portal-service
9 * @description: 企业信息变更审批 Mapper 接口
10 * @author: xcq
11 * @create: 2024-12-27 15:10
12 **/
13 @Mapper
14 public interface MfEnterpriseChangeApproveMapper extends BaseMapper<MfEnterpriseChangeApprove> {
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.MfEnterpriseChangeApprove;
5
6 /**
7 * @program: D:/git/ms-data-circulation-portal-service
8 * @description: 企业信息变更审批逻辑层接口
9 * @author: xcq
10 * @create: 2024-12-27 15:10
11 **/
12 public interface MfEnterpriseChangeApproveService extends CsbrService<MfEnterpriseChangeApprove> {
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.MfEnterpriseChangeApproveMapper;
5 import com.csbr.qingcloud.portal.mybatis.entity.MfEnterpriseChangeApprove;
6 import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseChangeApproveService;
7 import jakarta.annotation.Resource;
8 import org.springframework.stereotype.Service;
9
10 /**
11 * @program: D:/git/ms-data-circulation-portal-service
12 * @description: 企业信息变更审批逻辑层接口实现
13 * @author: xcq
14 * @create: 2024-12-27 15:10
15 **/
16 @Service
17 public class MfEnterpriseChangeApproveServiceImpl extends CsbrServiceImpl<MfEnterpriseChangeApproveMapper, MfEnterpriseChangeApprove> implements MfEnterpriseChangeApproveService {
18
19 @Resource
20 private MfEnterpriseChangeApproveMapper mfEnterpriseChangeApproveMapper;
21
22 }
1 package com.csbr.qingcloud.portal.service;
2
3 import com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO;
4 import com.csbr.qingcloud.portal.domain.vo.ChangeApproveVO;
5
6 /**
7 * @description: 供应商商品变更
8 * @author: XiaoCQ
9 * @create: 2024-12-27
10 **/
11 public interface EnterpriseChangeApproveService {
12 void changeSave(ChangeApproveVO vo);
13
14 ChangeApproveVO changeDetail(String guid);
15
16 void changeUpdate(BizCallbackDTO dto);
17 }
1 package com.csbr.qingcloud.portal.service; 1 package com.csbr.qingcloud.portal.service;
2 2
3 import com.csbr.qingcloud.portal.domain.vo.EnterpriseRQVO;
3 import csbr.cloud.entity.domain.base.vo.PageListVO; 4 import csbr.cloud.entity.domain.base.vo.PageListVO;
4 import com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO; 5 import com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO;
5 import com.csbr.cloud.workflow.domain.vo.appove.FlowRQBaseVO; 6 import com.csbr.cloud.workflow.domain.vo.appove.FlowRQBaseVO;
...@@ -69,5 +70,6 @@ public interface EnterpriseService { ...@@ -69,5 +70,6 @@ public interface EnterpriseService {
69 * @return void 70 * @return void
70 */ 71 */
71 void flowCallBack(BizCallbackDTO dto); 72 void flowCallBack(BizCallbackDTO dto);
72 73
74 Boolean check(EnterpriseRQVO vo);
73 } 75 }
......
1 package com.csbr.qingcloud.portal.service.impl;
2
3 import com.alibaba.fastjson.JSON;
4 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
5 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
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.workflow.domain.dto.callback.BizCallbackDTO;
11 import com.csbr.qingcloud.portal.domain.vo.ChangeApproveVO;
12 import com.csbr.qingcloud.portal.domain.vo.EnterpriseRQVO;
13 import com.csbr.qingcloud.portal.domain.vo.EnterpriseRSVO;
14 import com.csbr.qingcloud.portal.domain.vo.TenantRQVO;
15 import com.csbr.qingcloud.portal.feign.PersonelFeign;
16 import com.csbr.qingcloud.portal.mybatis.entity.MfEnterprise;
17 import com.csbr.qingcloud.portal.mybatis.entity.MfEnterpriseChangeApprove;
18 import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseChangeApproveService;
19 import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseService;
20 import com.csbr.qingcloud.portal.service.EnterpriseChangeApproveService;
21 import com.csbr.qingcloud.portal.service.EnterpriseService;
22 import csbr.cloud.entity.enums.ApprovalStateEnum;
23 import jakarta.annotation.Resource;
24 import org.apache.commons.collections.CollectionUtils;
25 import org.apache.commons.lang.StringUtils;
26 import org.springframework.stereotype.Component;
27 import java.util.List;
28 import java.util.Map;
29
30 /**
31 * @program: ms-hc-customer-service
32 * @description: 供应商商品变更
33 * @author: XiaoCQ
34 * @create: 2024-08-05
35 **/
36 @Component
37 public class EnterpriseChangeApproveServiceImpl implements EnterpriseChangeApproveService {
38
39 @Resource
40 private MfEnterpriseChangeApproveService mfEnterpriseChangeApproveService;
41
42 @Resource
43 private CsbrBeanUtil csbrBeanUtil;
44
45 @Resource
46 private MfEnterpriseService mfEnterpriseService;
47
48 @Resource
49 private EnterpriseService enterpriseService;
50
51 @Resource
52 private PersonelFeign personelFeign;
53
54
55 /** 保存变更数据 */
56 @Override
57 public void changeSave(ChangeApproveVO vo) {
58 //对重新发起的原审批源数据进行废弃
59 if(StringUtils.isNotBlank(vo.getSourceApproveGuid())){
60 LambdaUpdateWrapper<MfEnterpriseChangeApprove> updateWrapper = new LambdaUpdateWrapper<>();
61 updateWrapper.eq(MfEnterpriseChangeApprove::getApproveGuid,vo.getSourceApproveGuid());
62 updateWrapper.set(MfEnterpriseChangeApprove::getBizApproveState,"D");
63 mfEnterpriseChangeApproveService.update(updateWrapper);
64 }
65
66 //保存新数据
67 EnterpriseRQVO beanVO = JSON.parseObject(vo.getBizDataJson(), EnterpriseRQVO.class);
68 MfEnterpriseChangeApprove entity = csbrBeanUtil.convert(beanVO, MfEnterpriseChangeApprove.class);
69 setEntity(entity,beanVO,vo);
70 entity.setDataType("2");
71 entity.setGuid(vo.getGuid());
72 mfEnterpriseChangeApproveService.save(entity);
73
74 //保存原数据
75 beanVO = JSON.parseObject(vo.getOldBizDataJson(),EnterpriseRQVO.class);
76 entity = csbrBeanUtil.convert(beanVO,MfEnterpriseChangeApprove.class);
77 setEntity(entity,beanVO,vo);
78 entity.setDataType("1");
79 entity.setGuid(CommonUtil.newGuid());
80 mfEnterpriseChangeApproveService.save(entity);
81
82 MfEnterprise bean = mfEnterpriseService.getById(entity.getSourceGuid());
83 bean.setBizApproveState("B");
84 mfEnterpriseService.updateById(bean);
85 }
86
87 private void setEntity(MfEnterpriseChangeApprove entity,EnterpriseRQVO customerVO,ChangeApproveVO vo){
88 entity.setApproveGuid(vo.getApproveGuid());
89 entity.setSourceGuid(vo.getSourceGuid());
90 }
91
92 /** 变更数据详细接口 */
93 @Override
94 public ChangeApproveVO changeDetail(String guid) {
95 //取新数据
96 LambdaQueryWrapper<MfEnterpriseChangeApprove> queryWrapper = new LambdaQueryWrapper<>();
97 queryWrapper.eq(MfEnterpriseChangeApprove::getApproveGuid,guid);
98 queryWrapper.eq(MfEnterpriseChangeApprove::getDataType,"2");
99 List<MfEnterpriseChangeApprove> tempList = mfEnterpriseChangeApproveService.list(queryWrapper);
100 if(CollectionUtils.isEmpty(tempList)){
101 throw new CsbrSystemException(SystemError.DATA_INPUT_ERROR, "未找到对应的变更数据,审批流GUID:" + guid);
102 }
103 MfEnterpriseChangeApprove bean = tempList.get(0);
104 ChangeApproveVO vo = new ChangeApproveVO();
105 vo.setGuid(bean.getGuid());
106 vo.setApproveGuid(bean.getApproveGuid());
107 vo.setSourceGuid(bean.getSourceGuid());
108 vo.setBizDataJson(convertToVO(bean));
109
110 //取原数据
111 queryWrapper = new LambdaQueryWrapper<>();
112 queryWrapper.eq(MfEnterpriseChangeApprove::getApproveGuid,bean.getApproveGuid());
113 queryWrapper.eq(MfEnterpriseChangeApprove::getDataType,"1");
114 tempList = mfEnterpriseChangeApproveService.list(queryWrapper);
115 if(CollectionUtils.isNotEmpty(tempList)){
116 vo.setOldBizDataJson(convertToVO(tempList.get(0)));
117 }
118
119 return vo;
120 }
121
122 /** 执行最终的变更 */
123 @Override
124 public void changeUpdate(BizCallbackDTO dto) {
125 MfEnterpriseChangeApprove entity = mfEnterpriseChangeApproveService.getById(dto.getBizGuid());
126 //审批不通过则将状态恢复到以前的Y
127 if(!dto.getApprovalState().equals(ApprovalStateEnum.PASSED.getValue())){
128 MfEnterprise bean = mfEnterpriseService.getById(entity.getSourceGuid());
129 bean.setBizApproveState("Y");
130 mfEnterpriseService.updateById(bean);
131 return;
132 }
133 //审批通过则执行更新
134 EnterpriseRQVO vo = csbrBeanUtil.convert(entity,EnterpriseRQVO.class);
135 vo.setGuid(entity.getSourceGuid());
136 vo.setBizApproveState("Y");
137 enterpriseService.updateEnterprise(vo);
138
139 //同步更新会员表
140 TenantRQVO tenantVO = csbrBeanUtil.convert(vo,TenantRQVO.class);
141 tenantVO.setGuid(getTenantGuid(vo.getTenantName()));
142 tenantVO.setPersonIncharge(vo.getJuridicalPerson());
143 personelFeign.updateTenant(tenantVO);
144 }
145
146 private String getTenantGuid(String name){
147 Map<String,String> map = personelFeign.getAllTenantGuidNameMap().getData();
148 for(String guid : map.keySet()){
149 if(map.get(guid).equals(name)){
150 return guid;
151 }
152 }
153 return null;
154 }
155
156 /** 转换数据 */
157 private String convertToVO(MfEnterpriseChangeApprove entity){
158 EnterpriseRSVO vo = csbrBeanUtil.convert(entity, EnterpriseRSVO.class);
159 return JSON.toJSONString(vo);
160 }
161
162 }
...@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; ...@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
4 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; 4 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
5 import com.csbr.cloud.common.enums.SystemError; 5 import com.csbr.cloud.common.enums.SystemError;
6 import com.csbr.cloud.common.enums.WorkFlowBizEnum; 6 import com.csbr.cloud.common.enums.WorkFlowBizEnum;
7 import com.csbr.qingcloud.portal.domain.vo.TenantRQVO;
8 import com.csbr.qingcloud.portal.feign.PersonelFeign;
7 import csbr.cloud.entity.enums.ApprovalStateEnum; 9 import csbr.cloud.entity.enums.ApprovalStateEnum;
8 import com.csbr.cloud.common.exception.CsbrSystemException; 10 import com.csbr.cloud.common.exception.CsbrSystemException;
9 import com.csbr.cloud.common.util.CommonUtil; 11 import com.csbr.cloud.common.util.CommonUtil;
...@@ -30,7 +32,6 @@ import io.seata.spring.annotation.GlobalTransactional; ...@@ -30,7 +32,6 @@ import io.seata.spring.annotation.GlobalTransactional;
30 import org.springframework.transaction.annotation.Transactional; 32 import org.springframework.transaction.annotation.Transactional;
31 33
32 import java.util.ArrayList; 34 import java.util.ArrayList;
33 import java.util.Collections;
34 import java.util.List; 35 import java.util.List;
35 36
36 /** 37 /**
...@@ -60,6 +61,9 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris ...@@ -60,6 +61,9 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris
60 @Resource 61 @Resource
61 private MessageSourceUtil messageSourceUtil; 62 private MessageSourceUtil messageSourceUtil;
62 63
64 @Resource
65 private PersonelFeign personelFeign;
66
63 /** 67 /**
64 * 企业信息分页查询 68 * 企业信息分页查询
65 * @author xcq 69 * @author xcq
...@@ -231,7 +235,10 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris ...@@ -231,7 +235,10 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris
231 throw new CsbrSystemException(SystemError.DATA_NOT_EXISTS, messageSourceUtil.notExistsToSelectMessage(FUNCTION_NAME)); 235 throw new CsbrSystemException(SystemError.DATA_NOT_EXISTS, messageSourceUtil.notExistsToSelectMessage(FUNCTION_NAME));
232 } 236 }
233 if (ApprovalStateEnum.PASSED.getValue().equals(dto.getApprovalState())) { 237 if (ApprovalStateEnum.PASSED.getValue().equals(dto.getApprovalState())) {
234 // todo 238 //删除原帐号并新增正式会员
239 TenantRQVO vo = csbrBeanUtil.convert(entity,TenantRQVO.class);
240 vo.setPersonIncharge(entity.getJuridicalPerson());
241 personelFeign.authTenant(vo);
235 } 242 }
236 // 同步更新审批状态 243 // 同步更新审批状态
237 LambdaUpdateWrapper<MfEnterprise> updateWrapper = mfEnterpriseService.csbrUpdateWrapper(MfEnterprise.class); 244 LambdaUpdateWrapper<MfEnterprise> updateWrapper = mfEnterpriseService.csbrUpdateWrapper(MfEnterprise.class);
...@@ -242,7 +249,12 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris ...@@ -242,7 +249,12 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris
242 throw new CsbrSystemException(SystemError.DATA_UPDATE_ERROR, messageSourceUtil.updateMessage(String.format("%s的业务审批状态", FUNCTION_NAME))); 249 throw new CsbrSystemException(SystemError.DATA_UPDATE_ERROR, messageSourceUtil.updateMessage(String.format("%s的业务审批状态", FUNCTION_NAME)));
243 } 250 }
244 } 251 }
245 252
253 @Override
254 public Boolean check(EnterpriseRQVO vo) {
255 return true;
256 }
257
246 /** 258 /**
247 * 获取发起流程参数 259 * 获取发起流程参数
248 * @author xcq 260 * @author xcq
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!