【数据资产】
1、企业信息-分页(调用流程)
Showing
6 changed files
with
115 additions
and
8 deletions
... | @@ -3,6 +3,7 @@ package com.csbr.qingcloud.portal.controller; | ... | @@ -3,6 +3,7 @@ package com.csbr.qingcloud.portal.controller; |
3 | import com.alibaba.fastjson.JSON; | 3 | import com.alibaba.fastjson.JSON; |
4 | import com.alibaba.fastjson.JSONObject; | 4 | import com.alibaba.fastjson.JSONObject; |
5 | import com.csbr.cloud.common.response.CommonRes; | 5 | import com.csbr.cloud.common.response.CommonRes; |
6 | import com.csbr.cloud.workflow.domain.dto.appove.FlowQueryDTO; | ||
6 | import com.csbr.cloud.workflow.domain.dto.appove.FlowUpdateStateDTO; | 7 | import com.csbr.cloud.workflow.domain.dto.appove.FlowUpdateStateDTO; |
7 | import com.csbr.qingcloud.portal.domain.vo.*; | 8 | import com.csbr.qingcloud.portal.domain.vo.*; |
8 | import com.csbr.qingcloud.portal.service.EnterpriseChangeApproveService; | 9 | import com.csbr.qingcloud.portal.service.EnterpriseChangeApproveService; |
... | @@ -69,6 +70,14 @@ public class EnterpriseController { | ... | @@ -69,6 +70,14 @@ public class EnterpriseController { |
69 | PageListVO<EnterpriseRSVO> pageVO = enterpriseService.pageList(queryVO); | 70 | PageListVO<EnterpriseRSVO> pageVO = enterpriseService.pageList(queryVO); |
70 | return CommonRes.success(pageVO); | 71 | return CommonRes.success(pageVO); |
71 | } | 72 | } |
73 | |||
74 | @PostMapping("/flow/page-list") | ||
75 | @SystemLog(value = "企业信息-分页(调用流程)") | ||
76 | @Operation(summary = "企业信息-分页(调用流程)") | ||
77 | public CommonRes<PageListVO<EnterpriseApproveRSVO>> flowPageList(@RequestBody @Valid FlowQueryDTO dto) { | ||
78 | PageListVO<EnterpriseApproveRSVO> pageVO = enterpriseService.flowPageList(dto); | ||
79 | return CommonRes.success(pageVO); | ||
80 | } | ||
72 | 81 | ||
73 | @GetMapping("/detail") | 82 | @GetMapping("/detail") |
74 | @SystemLog(value = "企业信息-详情") | 83 | @SystemLog(value = "企业信息-详情") | ... | ... |
1 | package com.csbr.qingcloud.portal.domain.vo; | ||
2 | |||
3 | import com.csbr.cloud.workflow.domain.vo.appove.ApproveVO; | ||
4 | import com.csbr.cloud.workflow.domain.vo.appove.BizApproveVO; | ||
5 | import com.fasterxml.jackson.annotation.JsonFormat; | ||
6 | import io.swagger.v3.oas.annotations.media.Schema; | ||
7 | import lombok.Data; | ||
8 | |||
9 | import java.math.BigDecimal; | ||
10 | import java.util.Date; | ||
11 | import java.util.List; | ||
12 | |||
13 | /** | ||
14 | * @program: D:/git/ms-data-circulation-portal-service | ||
15 | * @description: 企业信息返回参数 | ||
16 | * @author: xcq | ||
17 | * @create: 2024-12-26 16:18 | ||
18 | **/ | ||
19 | @Data | ||
20 | @Schema(title = "企业信息返回参数") | ||
21 | public class EnterpriseApproveRSVO extends ApproveVO { | ||
22 | |||
23 | @Schema(description = "跨平台审批状态(N 初始 A 审批中 Y 已通过 R 驳回 C 已撤销)") | ||
24 | private String crossPlatformApproveState; | ||
25 | |||
26 | /******** 子对象 *****/ | ||
27 | |||
28 | } |
... | @@ -2,10 +2,9 @@ package com.csbr.qingcloud.portal.feign; | ... | @@ -2,10 +2,9 @@ package com.csbr.qingcloud.portal.feign; |
2 | 2 | ||
3 | import com.csbr.cloud.common.config.FastCallFeignConfiguration; | 3 | import com.csbr.cloud.common.config.FastCallFeignConfiguration; |
4 | import com.csbr.cloud.common.response.CommonRes; | 4 | import com.csbr.cloud.common.response.CommonRes; |
5 | import com.csbr.cloud.workflow.domain.dto.appove.FlowQueryDTO; | ||
5 | import com.csbr.cloud.workflow.domain.dto.appove.FlowUpdateStateDTO; | 6 | import com.csbr.cloud.workflow.domain.dto.appove.FlowUpdateStateDTO; |
6 | import com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO; | 7 | import com.csbr.cloud.workflow.domain.vo.appove.ApproveVO; |
7 | import com.csbr.qingcloud.portal.domain.vo.UserQueryDTO; | ||
8 | import com.csbr.qingcloud.portal.domain.vo.UserVO; | ||
9 | import com.netflix.hystrix.contrib.javanica.annotation.HystrixCommand; | 8 | import com.netflix.hystrix.contrib.javanica.annotation.HystrixCommand; |
10 | import com.netflix.hystrix.contrib.javanica.annotation.HystrixProperty; | 9 | import com.netflix.hystrix.contrib.javanica.annotation.HystrixProperty; |
11 | import csbr.cloud.entity.domain.base.vo.PageListVO; | 10 | import csbr.cloud.entity.domain.base.vo.PageListVO; |
... | @@ -13,10 +12,10 @@ import jakarta.validation.Valid; | ... | @@ -13,10 +12,10 @@ import jakarta.validation.Valid; |
13 | import org.springframework.cloud.openfeign.FeignClient; | 12 | import org.springframework.cloud.openfeign.FeignClient; |
14 | import org.springframework.http.MediaType; | 13 | import org.springframework.http.MediaType; |
15 | import org.springframework.util.MultiValueMap; | 14 | import org.springframework.util.MultiValueMap; |
16 | import org.springframework.web.bind.annotation.*; | 15 | import org.springframework.web.bind.annotation.RequestBody; |
17 | 16 | import org.springframework.web.bind.annotation.RequestHeader; | |
18 | import java.net.URI; | 17 | import org.springframework.web.bind.annotation.RequestMapping; |
19 | import java.util.List; | 18 | import org.springframework.web.bind.annotation.RequestMethod; |
20 | 19 | ||
21 | /** | 20 | /** |
22 | * @author Xiaocq | 21 | * @author Xiaocq |
... | @@ -30,5 +29,9 @@ public interface WorkflowFeign { | ... | @@ -30,5 +29,9 @@ public interface WorkflowFeign { |
30 | @RequestMapping(value = "/work-flow/data/allow-flow-core", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) | 29 | @RequestMapping(value = "/work-flow/data/allow-flow-core", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) |
31 | CommonRes<Boolean> allowFlowCore(@RequestBody FlowUpdateStateDTO dto, @RequestHeader(required = false) MultiValueMap<String, String> headers); | 30 | CommonRes<Boolean> allowFlowCore(@RequestBody FlowUpdateStateDTO dto, @RequestHeader(required = false) MultiValueMap<String, String> headers); |
32 | 31 | ||
32 | @HystrixCommand(fallbackMethod = "CommonUtil.sleepFallback", commandProperties = { | ||
33 | @HystrixProperty(name = "execution.isolation.thread.timeoutInMilliseconds", value = "4500")}) | ||
34 | @RequestMapping(value = "/work-flow/data/get-flow-list-tenant", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) | ||
35 | CommonRes<PageListVO<ApproveVO>> getFlowListCrossTenant(@RequestBody @Valid FlowQueryDTO dto); | ||
33 | 36 | ||
34 | } | 37 | } | ... | ... |
1 | package com.csbr.qingcloud.portal.mybatis.service.impl; | 1 | package com.csbr.qingcloud.portal.mybatis.service.impl; |
2 | 2 | ||
3 | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | ||
4 | import com.baomidou.mybatisplus.core.toolkit.Wrappers; | ||
3 | import com.csbr.cloud.mybatis.service.impl.CsbrServiceImpl; | 5 | import com.csbr.cloud.mybatis.service.impl.CsbrServiceImpl; |
4 | import com.csbr.qingcloud.portal.mybatis.mapper.MfEnterpriseMapper; | 6 | import com.csbr.qingcloud.portal.mybatis.mapper.MfEnterpriseMapper; |
5 | import com.csbr.qingcloud.portal.mybatis.entity.MfEnterprise; | 7 | import com.csbr.qingcloud.portal.mybatis.entity.MfEnterprise; |
... | @@ -7,6 +9,10 @@ import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseService; | ... | @@ -7,6 +9,10 @@ import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseService; |
7 | import jakarta.annotation.Resource; | 9 | import jakarta.annotation.Resource; |
8 | import org.springframework.stereotype.Service; | 10 | import org.springframework.stereotype.Service; |
9 | 11 | ||
12 | import java.io.Serializable; | ||
13 | import java.util.Collection; | ||
14 | import java.util.List; | ||
15 | |||
10 | /** | 16 | /** |
11 | * @program: D:/git/ms-data-circulation-portal-service | 17 | * @program: D:/git/ms-data-circulation-portal-service |
12 | * @description: 企业信息逻辑层接口实现 | 18 | * @description: 企业信息逻辑层接口实现 |
... | @@ -18,5 +24,12 @@ public class MfEnterpriseServiceImpl extends CsbrServiceImpl<MfEnterpriseMapper, | ... | @@ -18,5 +24,12 @@ public class MfEnterpriseServiceImpl extends CsbrServiceImpl<MfEnterpriseMapper, |
18 | 24 | ||
19 | @Resource | 25 | @Resource |
20 | private MfEnterpriseMapper mfEnterpriseMapper; | 26 | private MfEnterpriseMapper mfEnterpriseMapper; |
21 | 27 | ||
28 | @Override | ||
29 | public List<MfEnterprise> listByIds(Collection<? extends Serializable> idList) { | ||
30 | LambdaQueryWrapper<MfEnterprise> queryWrapper = Wrappers.lambdaQuery(MfEnterprise.class); | ||
31 | queryWrapper.in(MfEnterprise::getGuid, idList); | ||
32 | csbrExcludeShardingLambdaQueryWrapper(queryWrapper); | ||
33 | return list(queryWrapper); | ||
34 | } | ||
22 | } | 35 | } | ... | ... |
1 | package com.csbr.qingcloud.portal.service; | 1 | package com.csbr.qingcloud.portal.service; |
2 | 2 | ||
3 | import com.csbr.cloud.workflow.domain.dto.appove.FlowQueryDTO; | ||
3 | import com.csbr.cloud.workflow.domain.dto.appove.FlowUpdateStateDTO; | 4 | import com.csbr.cloud.workflow.domain.dto.appove.FlowUpdateStateDTO; |
4 | import com.csbr.qingcloud.portal.domain.vo.*; | 5 | import com.csbr.qingcloud.portal.domain.vo.*; |
5 | import com.csbr.qingcloud.portal.mybatis.entity.MfEnterprise; | 6 | import com.csbr.qingcloud.portal.mybatis.entity.MfEnterprise; |
... | @@ -27,6 +28,13 @@ public interface EnterpriseService { | ... | @@ -27,6 +28,13 @@ public interface EnterpriseService { |
27 | PageListVO<EnterpriseRSVO> pageList(EnterpriseQueryVO queryVO); | 28 | PageListVO<EnterpriseRSVO> pageList(EnterpriseQueryVO queryVO); |
28 | 29 | ||
29 | /** | 30 | /** |
31 | * 企业信息-分页(调用流程) | ||
32 | * @param dto | ||
33 | * @return | ||
34 | */ | ||
35 | PageListVO<EnterpriseApproveRSVO> flowPageList(FlowQueryDTO dto); | ||
36 | |||
37 | /** | ||
30 | * 企业信息获取详情数据 | 38 | * 企业信息获取详情数据 |
31 | * @author xcq | 39 | * @author xcq |
32 | * @date 2024-12-26 16:18 | 40 | * @date 2024-12-26 16:18 | ... | ... |
... | @@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONArray; | ... | @@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONArray; |
5 | import com.alibaba.fastjson.JSONObject; | 5 | 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.csbr.cloud.common.entity.RedisStaffPOJO; | 9 | import com.csbr.cloud.common.entity.RedisStaffPOJO; |
9 | import com.csbr.cloud.common.enums.SystemError; | 10 | import com.csbr.cloud.common.enums.SystemError; |
10 | import com.csbr.cloud.common.enums.WorkFlowBizEnum; | 11 | import com.csbr.cloud.common.enums.WorkFlowBizEnum; |
... | @@ -14,13 +15,16 @@ import com.csbr.cloud.common.util.CsbrBeanUtil; | ... | @@ -14,13 +15,16 @@ import com.csbr.cloud.common.util.CsbrBeanUtil; |
14 | import com.csbr.cloud.common.util.MessageSourceUtil; | 15 | import com.csbr.cloud.common.util.MessageSourceUtil; |
15 | import com.csbr.cloud.distributelock.util.RedisUtil; | 16 | import com.csbr.cloud.distributelock.util.RedisUtil; |
16 | import com.csbr.cloud.workflow.domain.dto.appove.AddApprovalDTO; | 17 | import com.csbr.cloud.workflow.domain.dto.appove.AddApprovalDTO; |
18 | import com.csbr.cloud.workflow.domain.dto.appove.FlowQueryDTO; | ||
17 | import com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO; | 19 | import com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO; |
20 | import com.csbr.cloud.workflow.domain.vo.appove.ApproveVO; | ||
18 | import com.csbr.cloud.workflow.domain.vo.appove.FlowRQBaseVO; | 21 | import com.csbr.cloud.workflow.domain.vo.appove.FlowRQBaseVO; |
19 | import com.csbr.cloud.workflow.util.ApprovalFlowUtil; | 22 | import com.csbr.cloud.workflow.util.ApprovalFlowUtil; |
20 | import com.csbr.cloud.workflow.util.FlowAbstractImpl; | 23 | import com.csbr.cloud.workflow.util.FlowAbstractImpl; |
21 | import com.csbr.qingcloud.portal.domain.vo.*; | 24 | import com.csbr.qingcloud.portal.domain.vo.*; |
22 | import com.csbr.qingcloud.portal.feign.ConfigureFeign; | 25 | import com.csbr.qingcloud.portal.feign.ConfigureFeign; |
23 | import com.csbr.qingcloud.portal.feign.PersonelFeign; | 26 | import com.csbr.qingcloud.portal.feign.PersonelFeign; |
27 | import com.csbr.qingcloud.portal.feign.WorkflowFeign; | ||
24 | import com.csbr.qingcloud.portal.mybatis.entity.MfDemand; | 28 | import com.csbr.qingcloud.portal.mybatis.entity.MfDemand; |
25 | import com.csbr.qingcloud.portal.mybatis.entity.MfEnterprise; | 29 | import com.csbr.qingcloud.portal.mybatis.entity.MfEnterprise; |
26 | import com.csbr.qingcloud.portal.mybatis.entity.MfEnterpriseChangeApprove; | 30 | import com.csbr.qingcloud.portal.mybatis.entity.MfEnterpriseChangeApprove; |
... | @@ -36,11 +40,16 @@ import io.seata.spring.annotation.GlobalTransactional; | ... | @@ -36,11 +40,16 @@ import io.seata.spring.annotation.GlobalTransactional; |
36 | import jakarta.annotation.Resource; | 40 | import jakarta.annotation.Resource; |
37 | import lombok.extern.slf4j.Slf4j; | 41 | import lombok.extern.slf4j.Slf4j; |
38 | import org.apache.commons.collections.CollectionUtils; | 42 | import org.apache.commons.collections.CollectionUtils; |
43 | import org.apache.commons.lang3.ObjectUtils; | ||
39 | import org.apache.commons.lang3.StringUtils; | 44 | import org.apache.commons.lang3.StringUtils; |
40 | import org.springframework.stereotype.Service; | 45 | import org.springframework.stereotype.Service; |
41 | import org.springframework.transaction.annotation.Transactional; | 46 | import org.springframework.transaction.annotation.Transactional; |
42 | import java.util.ArrayList; | 47 | import java.util.ArrayList; |
48 | import java.util.HashMap; | ||
43 | import java.util.List; | 49 | import java.util.List; |
50 | import java.util.Map; | ||
51 | import java.util.function.Function; | ||
52 | import java.util.stream.Collectors; | ||
44 | 53 | ||
45 | /** | 54 | /** |
46 | * @program: D:/git/ms-data-circulation-portal-service | 55 | * @program: D:/git/ms-data-circulation-portal-service |
... | @@ -73,6 +82,9 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris | ... | @@ -73,6 +82,9 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris |
73 | private PersonelFeign personelFeign; | 82 | private PersonelFeign personelFeign; |
74 | 83 | ||
75 | @Resource | 84 | @Resource |
85 | private WorkflowFeign workflowFeign; | ||
86 | |||
87 | @Resource | ||
76 | private RedisUtil redisUtil; | 88 | private RedisUtil redisUtil; |
77 | 89 | ||
78 | @Resource | 90 | @Resource |
... | @@ -107,6 +119,40 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris | ... | @@ -107,6 +119,40 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris |
107 | return new PageListVO<>(0L,0L); | 119 | return new PageListVO<>(0L,0L); |
108 | } | 120 | } |
109 | 121 | ||
122 | @Override | ||
123 | public PageListVO<EnterpriseApproveRSVO> flowPageList(FlowQueryDTO dto) { | ||
124 | // 调用流程获取流程数据 | ||
125 | PageListVO<ApproveVO> pageListVO = workflowFeign.getFlowListCrossTenant(dto).getData(); | ||
126 | PageListVO<EnterpriseApproveRSVO> rsPageList = csbrBeanUtil.convert(pageListVO, PageListVO.class); | ||
127 | List<ApproveVO> approveVOList = pageListVO.getRecords(); | ||
128 | if (ObjectUtils.isNotEmpty(approveVOList)) { | ||
129 | // 根据业务guid查询认证表数据 | ||
130 | List<String> guids = approveVOList.stream().map(ApproveVO::getBizGuid).toList(); | ||
131 | List<MfEnterprise> mfEnterprises = mfEnterpriseService.listByIds(guids); | ||
132 | Map<String, MfEnterprise> mfEnterpriseMap = new HashMap<>(); | ||
133 | if (ObjectUtils.isNotEmpty(mfEnterprises)) { | ||
134 | mfEnterpriseMap = mfEnterprises.stream().collect(Collectors.toMap(MfEnterprise::getGuid, Function.identity())); | ||
135 | } | ||
136 | |||
137 | // 数据转换 | ||
138 | List<EnterpriseApproveRSVO> results = new ArrayList<>(); | ||
139 | for (ApproveVO approveVO : approveVOList) { | ||
140 | // 补跨服务审批状态数据 | ||
141 | EnterpriseApproveRSVO enterpriseApproveRSVO = csbrBeanUtil.convert(approveVO, EnterpriseApproveRSVO.class); | ||
142 | if (ObjectUtils.isNotEmpty(mfEnterpriseMap) && mfEnterpriseMap.containsKey(enterpriseApproveRSVO.getGuid())) { | ||
143 | MfEnterprise mfEnterprise = mfEnterpriseMap.get(enterpriseApproveRSVO.getGuid()); | ||
144 | enterpriseApproveRSVO.setCrossPlatformApproveState(mfEnterprise.getCrossPlatformApproveState()); | ||
145 | } | ||
146 | |||
147 | results.add(enterpriseApproveRSVO); | ||
148 | } | ||
149 | |||
150 | rsPageList.setRecords(results); | ||
151 | } | ||
152 | |||
153 | return rsPageList; | ||
154 | } | ||
155 | |||
110 | /** | 156 | /** |
111 | * 企业信息获取详情数据 | 157 | * 企业信息获取详情数据 |
112 | * @author xcq | 158 | * @author xcq | ... | ... |
-
Please register or sign in to post a comment