Browse Source

feature(流程图查询接口添加): 流程图查询接口添加

流程图查询接口添加
mazq 3 years ago
parent
commit
a00934c7a5

+ 10 - 1
dcuc-auth-api/src/main/java/com/dragoninfo/dcuc/auth/auth/facade/IAuthApplyFacade.java

@@ -79,10 +79,19 @@ public interface IAuthApplyFacade {
     List<ApprovalSuggestionDTO> approvalSuggestion(@RequestParam("applyOrdNo") String applyOrdNo);
 
     /**
-     * 根据工作流审批单号获取流程状态(流程图)
+     * 根据工作流审批单号获取流程状态
      * @param applyOrdNo
      * @return
      */
     @GetMapping("processStatusView")
     List<ProcessStatusDTO> processStatusView(@RequestParam("applyOrdNo") String applyOrdNo);
+
+    /**
+     * 根据工作流审批单号获取流程图
+     * @param applyOrdNo
+     * @return
+     */
+    @GetMapping("processPicView")
+    ProcessPicDTO processPicView(@RequestParam("applyOrdNo") String applyOrdNo);
+
 }

+ 23 - 0
dcuc-auth-model/src/main/java/com/dragoninfo/dcuc/auth/auth/dto/ProcessPicDTO.java

@@ -0,0 +1,23 @@
+package com.dragoninfo.dcuc.auth.auth.dto;
+
+import lombok.Data;
+
+/**
+ * @author mazq
+ * @date 2021/7/21
+ */
+@Data
+public class ProcessPicDTO {
+
+    /**
+     * 流程定义id
+     */
+   private String processDefinitionId;
+
+    /**
+     * 流程配置信息
+     */
+   private String json;
+
+
+}

+ 8 - 1
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/auth/business/IAuthApplyBusiness.java

@@ -69,9 +69,16 @@ public interface IAuthApplyBusiness {
     List<ApprovalSuggestionDTO> approvalSuggestion(String applyOrdNo);
 
     /**
-     * 根据工作流审批单号获取流程状态(流程图)
+     * 根据工作流审批单号获取流程状态
      * @param applyOrdNo
      * @return
      */
     List<ProcessStatusDTO> processStatusView(String applyOrdNo);
+
+    /**
+     * 根据工作流审批单号获取流程图
+     * @param applyOrdNo
+     * @return
+     */
+    ProcessPicDTO processPicView(String applyOrdNo);
 }

+ 43 - 16
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/auth/business/impl/AuthApplyBusiness.java

@@ -219,7 +219,7 @@ public class AuthApplyBusiness implements IAuthApplyBusiness {
         if(null == workFlow) {
             return ResponseStatus.fail("工单不存在");
         }
-        ResponseStatus status = approvalWorkFlowCancel(workFlow);
+        ResponseStatus status = approvalWorkFlowCancel(applyOrdNo);
         if(!ResponseStatus.SUCCESS_CODE.equals(status.getStatusCode())) {
             return status;
         }
@@ -244,12 +244,12 @@ public class AuthApplyBusiness implements IAuthApplyBusiness {
 
     @Override
     public List<ApprovalSuggestionDTO> approvalSuggestion(String applyOrdNo) {
-        String url = authConfig.getApprovalCenterUrl();
-        String api = ApprovalApiConstance.APPROVAL_SUGGEST_API;
-        api = api.replace("{approveNo}", applyOrdNo);
-        String suggestUrl = Joiner.on(StrUtil.SLASH).join(url, api);
+        String suggestUrl = getApprovalUrl(applyOrdNo, ApprovalApiConstance.APPROVAL_SUGGEST_API);
         List<Header> headers = getApprovalHeaders();
         String get = HttpUtil.get(suggestUrl, null, headers);
+        if(StringUtils.isBlank(get)) {
+            return new ArrayList<>();
+        }
         JSONObject jsonObject = JSON.parseObject(get);
         String statusCode = jsonObject.getString("statusCode");
         if(!ResponseStatus.SUCCESS_CODE.equals(statusCode)) {
@@ -263,22 +263,48 @@ public class AuthApplyBusiness implements IAuthApplyBusiness {
 
     @Override
     public List<ProcessStatusDTO> processStatusView(String applyOrdNo) {
-        String url = authConfig.getApprovalCenterUrl();
-        String api = ApprovalApiConstance.APPROVAL_STATUS_API;
-        api = api.replace("{approveNo}", applyOrdNo);
-        String suggestUrl = Joiner.on(StrUtil.SLASH).join(url, api);
+        String statusUrl = getApprovalUrl(applyOrdNo, ApprovalApiConstance.APPROVAL_STATUS_API);
         List<Header> headers = getApprovalHeaders();
-        String get = HttpUtil.get(suggestUrl, null, headers);
+        String get = HttpUtil.get(statusUrl, null, headers);
+        if(StringUtils.isBlank(get)) {
+            return new ArrayList<>();
+        }
         JSONObject jsonObject = JSON.parseObject(get);
         String statusCode = jsonObject.getString("statusCode");
         if(!ResponseStatus.SUCCESS_CODE.equals(statusCode)) {
-            return  new ArrayList<>();
+            return new ArrayList<>();
         }
         JSONArray jsonArray = jsonObject.getJSONArray("result");
         return JSON.parseObject(jsonArray.toJSONString(), new TypeReference<List<ProcessStatusDTO>>() {{
         }});
     }
 
+    @Override
+    public ProcessPicDTO processPicView(String applyOrdNo) {
+        String picUrl = getApprovalUrl(applyOrdNo, ApprovalApiConstance.APPROVAL_PIC_API);
+        List<Header> headers = getApprovalHeaders();
+        String get = HttpUtil.get(picUrl, null, headers);
+        if(StringUtils.isBlank(get)) {
+            return new ProcessPicDTO();
+        }
+        JSONObject jsonObject = JSON.parseObject(get);
+        String statusCode = jsonObject.getString("statusCode");
+        if(!ResponseStatus.SUCCESS_CODE.equals(statusCode)) {
+            return  new ProcessPicDTO();
+        }
+        JSONObject json = jsonObject.getJSONObject("result");
+        if(null == json) {
+            return new ProcessPicDTO();
+        }
+        return JSON.parseObject(json.toJSONString(), ProcessPicDTO.class);
+    }
+
+    private String getApprovalUrl(String applyOrdNo, String approvalApi) {
+        String url = authConfig.getApprovalCenterUrl();
+        approvalApi = approvalApi.replace("{approveNo}", applyOrdNo);
+        return Joiner.on("").join(url, approvalApi);
+    }
+
     /**
      * 删除审批中心工单
      * @param workFlow
@@ -291,6 +317,9 @@ public class AuthApplyBusiness implements IAuthApplyBusiness {
         String cancelUrl = Joiner.on(StrUtil.SLASH).join(url, api);
         List<Header> headers = getApprovalHeaders();
         String delete = HttpUtil.delete(cancelUrl, null, headers);
+        if(StringUtils.isBlank(delete)) {
+            return ResponseStatus.fail("approvalWorkFlowDelete fail");
+        }
         log.info("approvalWorkFlowDelete result:{}", delete);
         ResponseStatus status = JSON.parseObject(delete, ResponseStatus.class);
         return status;
@@ -298,14 +327,12 @@ public class AuthApplyBusiness implements IAuthApplyBusiness {
 
     /**
      * 撤销审批中心工单
-     * @param workFlow
+     * @param applyOrdNo
      * @return
      */
-    private ResponseStatus approvalWorkFlowCancel(WorkFlow workFlow) {
-        String url = authConfig.getApprovalCenterUrl();
+    private ResponseStatus approvalWorkFlowCancel(String applyOrdNo) {
         String api = ApprovalApiConstance.APPROVAL_CANCEL_API;
-        api = api.replace("{approveNo}", workFlow.getApplicantOrdNo());
-        String cancelUrl = Joiner.on(StrUtil.SLASH).join(url, api);
+        String cancelUrl = getApprovalUrl(applyOrdNo, api);
         List<Header> headers = getApprovalHeaders();
         String put = HttpUtil.put(cancelUrl, null, headers);
         log.info("approvalWorkFlowCancel result:{}", put);

+ 5 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/auth/facade/AuthApplyFacade.java

@@ -65,4 +65,9 @@ public class AuthApplyFacade implements IAuthApplyFacade {
     public List<ProcessStatusDTO> processStatusView(String applyOrdNo) {
         return authApplyBusiness.processStatusView(applyOrdNo);
     }
+
+    @Override
+    public ProcessPicDTO processPicView(String applyOrdNo) {
+        return authApplyBusiness.processPicView(applyOrdNo);
+    }
 }

+ 8 - 0
dcuc-auth-service/src/main/java/com/dragoninfo/dcuc/auth/constance/ApprovalApiConstance.java

@@ -35,5 +35,13 @@ public class ApprovalApiConstance {
      * 审批流程状态查询api
      */
     public static final String APPROVAL_STATUS_API = "/api/v2/approves/{approveNo}/process-status";
+    /**
+     * 审批流程图查询api
+     */
+    public static final String APPROVAL_PIC_API = "/approve-core/api/v2/approves/{approveNo}/process-pic";
+    /**
+     * 审批流程节点详情api
+     */
+    public static final String APPROVAL_NODE_DETAIL_API = "";
 
 }