11114d30 by xiaojie

【数据资产】

1、企业信息-分页(调用流程)
1 parent 7e2cd4f1
...@@ -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;
...@@ -70,6 +71,14 @@ public class EnterpriseController { ...@@ -70,6 +71,14 @@ public class EnterpriseController {
70 return CommonRes.success(pageVO); 71 return CommonRes.success(pageVO);
71 } 72 }
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 }
81
73 @GetMapping("/detail") 82 @GetMapping("/detail")
74 @SystemLog(value = "企业信息-详情") 83 @SystemLog(value = "企业信息-详情")
75 @Operation(summary = "企业信息-详情", 84 @Operation(summary = "企业信息-详情",
......
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: 企业信息逻辑层接口实现
...@@ -19,4 +25,11 @@ public class MfEnterpriseServiceImpl extends CsbrServiceImpl<MfEnterpriseMapper, ...@@ -19,4 +25,11 @@ public class MfEnterpriseServiceImpl extends CsbrServiceImpl<MfEnterpriseMapper,
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
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!