Ver Fonte

feat: 增加批量获取审批单操作类型接口

huangzqa há 3 anos atrás
pai
commit
33cef64f4c

+ 14 - 0
approve-api/src/main/java/com/dragonsoft/dcuc/approve/facade/api/IApiV1ApproveFacade.java

@@ -1,5 +1,6 @@
 package com.dragonsoft.dcuc.approve.facade.api;
 
+import com.dragoninfo.dcuc.common.entity.ApiSearchReq;
 import com.dragonsoft.dcuc.approve.enumresources.PageTypeEnum;
 import com.dragonsoft.dcuc.approve.model.req.ApprovalInfoReqVO;
 import com.dragonsoft.dcuc.approve.model.req.ApprovalInfoUpdateReqVO;
@@ -17,6 +18,7 @@ import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * @author : wang.rs huangzqa
@@ -175,5 +177,17 @@ public interface IApiV1ApproveFacade {
     @GetMapping(value = "api/v1/processes/{processNo}")
     ResponseDTO<ProcessDetailRespVO> processDetail(@PathVariable String processNo);
 
+    /**
+     * 批量获取任务支持的操作对象信息
+     *
+     * @param apiSearchReq 搜索条件
+     * @param headers      请求头
+     * @return 支持的操作对象
+     * @see PageTypeEnum pageType
+     */
+    @ApiOperation(value = "获取任务支持的操作对象信息", notes = "获取任务支持的操作对象信息")
+    @PostMapping(value = "api/v1/operate-types/search")
+    ResponseDTO<List<BatchTaskOperateRespVO>> batchApproveOperateType(@RequestBody ApiSearchReq apiSearchReq,
+                                                                      @RequestHeader Map<String, String> headers);
 
 }

+ 1 - 0
approve-api/src/main/java/com/dragonsoft/dcuc/approve/facade/api/IApiV2ApproveFacade.java

@@ -163,4 +163,5 @@ public interface IApiV2ApproveFacade {
     ResponseDTO<TaskOperateRespVO> approveOperateType(@PathVariable(value = "approveNo") String approveNo,
                                                       @PathVariable(value = "pageType") String pageType,
                                                       @RequestHeader Map<String, String> headers);
+
 }

+ 22 - 0
approve-api/src/main/java/com/dragonsoft/dcuc/approve/model/resp/BatchTaskOperateRespVO.java

@@ -0,0 +1,22 @@
+package com.dragonsoft.dcuc.approve.model.resp;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 代码千万行,注释第一行,编码不规范,同事两行泪
+ *
+ * @author huang(jy)
+ * @version 1.0
+ * @date 2021/2/23 19:20
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class BatchTaskOperateRespVO extends TaskOperateRespVO {
+
+    @ApiModelProperty(value = "是否显示退回")
+    private String approveNo;
+
+
+}

+ 37 - 0
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/business/IApproveBusiness.java

@@ -5,6 +5,8 @@ import com.dragonsoft.dcuc.approve.enumresources.FlowTypeEnum;
 import com.dragonsoft.dcuc.approve.model.ApprovalInfo;
 import com.dragonsoft.dcuc.approve.model.ApproveActRunIdentityLink;
 import com.dragonsoft.dcuc.approve.model.req.ResourceInfoDTO;
+import com.dragonsoft.dcuc.approve.model.resp.BatchTaskOperateRespVO;
+import com.dragonsoft.dcuc.approve.model.resp.TaskOperateRespVO;
 import com.dragonsoft.dcuc.approve.model.vo.ApproveMessageInfoDTO;
 import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
 import com.dragonsoft.duceap.duwf.api.model.ProcessInstanceVO;
@@ -12,6 +14,7 @@ import com.dragonsoft.duceap.duwf.api.model.TaskHistoryDetailVo;
 
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -82,4 +85,38 @@ public interface IApproveBusiness {
      */
     ResponseStatus checkResource(FlowTypeEnum flowTypeEnum, ResourceInfoDTO resourceInfo);
 
+    /**
+     * 获取身份证号
+     *
+     * @param headers 请求头
+     * @return 身份证号
+     */
+    String getIdcard(Map<String, String> headers);
+
+    /**
+     * 获取应用代码
+     *
+     * @param headers 请求头
+     * @return 应用代码
+     */
+    String getAppCode(Map<String, String> headers);
+
+    /**
+     * 获取任务支持的操作对象信息
+     *
+     * @param taskId   任务ID
+     * @param pageType 页面类型
+     * @return 任务支持操作对象
+     */
+    TaskOperateRespVO taskOperate(String taskId, String pageType);
+
+    /**
+     * 获取任务支持的操作对象信息
+     *
+     * @param approveNoList 审批单号
+     * @param pageType      页面类型
+     * @return 任务支持操作对象
+     */
+    List<BatchTaskOperateRespVO> batchTaskOperate(List<String> approveNoList, String pageType);
+
 }

+ 91 - 0
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/business/impl/ApproveBusinessImpl.java

@@ -4,13 +4,20 @@ import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import com.auth0.jwt.JWT;
+import com.auth0.jwt.interfaces.DecodedJWT;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.dragoninfo.dcuc.common.Constants;
 import com.dragonsoft.dcuc.approve.business.IApproveBusiness;
+import com.dragonsoft.dcuc.approve.business.IWorkFlowBusiness;
 import com.dragonsoft.dcuc.approve.enumresources.ApproveWorkFlowOperationEnum;
 import com.dragonsoft.dcuc.approve.enumresources.CandidateTypeEnum;
 import com.dragonsoft.dcuc.approve.enumresources.FlowTypeEnum;
+import com.dragonsoft.dcuc.approve.enumresources.PageTypeEnum;
 import com.dragonsoft.dcuc.approve.model.*;
 import com.dragonsoft.dcuc.approve.model.req.ResourceInfoDTO;
+import com.dragonsoft.dcuc.approve.model.resp.BatchTaskOperateRespVO;
+import com.dragonsoft.dcuc.approve.model.resp.TaskOperateRespVO;
 import com.dragonsoft.dcuc.approve.model.vo.ApproveMessageInfoDTO;
 import com.dragonsoft.dcuc.approve.properties.ApproveProperties;
 import com.dragonsoft.dcuc.approve.properties.KafkaProperties;
@@ -23,6 +30,7 @@ import com.dragonsoft.duceap.base.enums.BooleanEnum;
 import com.dragonsoft.duceap.commons.util.UUIDUtils;
 import com.dragonsoft.duceap.commons.util.date.DateConst;
 import com.dragonsoft.duceap.commons.util.date.DateUtils;
+import com.dragonsoft.duceap.commons.util.enums.EnumUtils;
 import com.dragonsoft.duceap.commons.util.json.JsonUtils;
 import com.dragonsoft.duceap.commons.util.kafkaServer.KafkaServer;
 import com.dragonsoft.duceap.duwf.api.model.CandidateVo;
@@ -72,6 +80,9 @@ public class ApproveBusinessImpl implements IApproveBusiness {
     @Autowired
     private IApproveActRunIdentityLinkService approveActRunIdentityLinkService;
 
+    @Autowired
+    private IWorkFlowBusiness workFlowBusiness;
+
     @Override
     public Date parseEndTime(Date endTime) {
         if (endTime != null) {
@@ -308,4 +319,84 @@ public class ApproveBusinessImpl implements IApproveBusiness {
 
         return ResponseStatus.success();
     }
+
+
+    /**
+     * 获取身份证号
+     *
+     * @param headers 请求头
+     * @return 身份证号
+     */
+    @Override
+    public String getIdcard(Map<String, String> headers) {
+        // 使用Header获取的key会全部转换为小写字母
+        String userToken = headers.getOrDefault(Constants.USER_TOKEN.toLowerCase(), "");
+
+        String idcard = "";
+        if (StrUtil.isNotBlank(userToken)) {
+            DecodedJWT decode = JWT.decode(userToken);
+            idcard = decode.getClaim("idCard").asString();
+            log.debug("decode token idcard:{}", idcard);
+
+        }
+
+        if (StrUtil.isBlank(idcard)) {
+            idcard = headers.getOrDefault(Constants.IDCARD.toLowerCase(), "");
+            log.debug("request idcard:{}", idcard);
+        }
+        log.debug("final idcard:{}", idcard);
+
+        return idcard;
+    }
+
+    /**
+     * 获取应用代码
+     *
+     * @param headers 请求头
+     * @return 应用代码
+     */
+    @Override
+    public String getAppCode(Map<String, String> headers) {
+        String appToken = headers.getOrDefault(Constants.APP_TOKEN.toLowerCase(), "");
+
+        String appCode = "";
+        if (StrUtil.isNotBlank(appToken)) {
+            DecodedJWT decode = JWT.decode(appToken);
+            appCode = decode.getClaim("appCode").asString();
+            log.debug("decode token appCode:{}", appCode);
+        }
+
+        if (StrUtil.isBlank(appCode)) {
+            appCode = headers.getOrDefault(Constants.APP_CODE.toLowerCase(), "");
+            log.debug("request appCode:{}", appCode);
+        }
+        log.debug("final appCode:{}", appCode);
+
+        return appCode;
+    }
+
+    @Override
+    public TaskOperateRespVO taskOperate(String taskId, String pageType) {
+        PageTypeEnum pageTypeEnum = EnumUtils.enumOf(PageTypeEnum.class, pageType);
+        return workFlowBusiness.getTaskSupportOperate(taskId, pageTypeEnum);
+    }
+
+    @Override
+    public List<BatchTaskOperateRespVO> batchTaskOperate(List<String> approveNoList, String pageType) {
+        List<BatchTaskOperateRespVO> taskOperateRespVOList = new ArrayList<>(approveNoList.size());
+
+        for (String approveNo : approveNoList) {
+            ApproveRecordInfo approveRecordInfo = approveRecordService.selectByApproveNo(approveNo);
+            BatchTaskOperateRespVO batchTaskOperateRespVO = new BatchTaskOperateRespVO();
+            batchTaskOperateRespVO.setApproveNo(approveNo);
+            if (approveRecordInfo != null) {
+                String taskId = approveRecordInfo.getTaskId();
+                TaskOperateRespVO taskOperateRespVO = taskOperate(taskId, pageType);
+                BeanUtil.copyProperties(taskOperateRespVO, batchTaskOperateRespVO);
+            }
+
+            taskOperateRespVOList.add(batchTaskOperateRespVO);
+        }
+        return taskOperateRespVOList;
+    }
 }

+ 6 - 2
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/controller/ApproveController.java

@@ -2,6 +2,7 @@ package com.dragonsoft.dcuc.approve.controller;
 
 import com.dragonsoft.auditlog.collection.qmtj.pojo.req.ApproveRegisterLog;
 import com.dragonsoft.auditlog.collection.qmtj.pojo.resp.BaseResponse;
+import com.dragonsoft.dcuc.approve.business.IApproveBusiness;
 import com.dragonsoft.dcuc.approve.business.IQmAuditBusiness;
 import com.dragonsoft.dcuc.approve.model.resp.TaskOperateRespVO;
 import com.dragonsoft.dcuc.approve.service.IApproveService;
@@ -27,6 +28,9 @@ public class ApproveController {
     @Autowired
     private IQmAuditBusiness qmAuditBusiness;
 
+    @Autowired
+    private IApproveBusiness approveBusiness;
+
     /**
      * 获取任务支持的操作对象信息
      *
@@ -34,8 +38,8 @@ public class ApproveController {
      * @return
      */
     @RequestMapping(value = "v1/task-operate/{taskId}/{pageType}", method = RequestMethod.GET)
-    ResponseStatus taskOperateForApprove(@PathVariable(value = "taskId") String taskId, @PathVariable(value = "pageType") String pageType, @RequestParam(value = "appCode") String appCode) {
-        TaskOperateRespVO taskOperateRespVO = approveService.taskOperate(taskId, pageType, appCode);
+    ResponseStatus taskOperateForApprove(@PathVariable(value = "taskId") String taskId, @PathVariable(value = "pageType") String pageType) {
+        TaskOperateRespVO taskOperateRespVO = approveBusiness.taskOperate(taskId, pageType);
         return ResponseDTO.newInstance(taskOperateRespVO);
     }
 

+ 56 - 4
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/facade/api/ApiV1ApproveFacade.java

@@ -1,9 +1,14 @@
 package com.dragonsoft.dcuc.approve.facade.api;
 
+import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.dragoninfo.dcuc.app.dto.ResourceRequestParamDTO;
 import com.dragoninfo.dcuc.app.facade.IResourceFacade;
+import com.dragoninfo.dcuc.common.entity.ApiPageReq;
+import com.dragoninfo.dcuc.common.entity.ApiSearchReq;
 import com.dragoninfo.dcuc.common.utils.ResponseUtil;
+import com.dragoninfo.dcuc.common.utils.SearchableUtil;
+import com.dragonsoft.dcuc.approve.business.IApproveBusiness;
 import com.dragonsoft.dcuc.approve.business.IApproveUploadBusiness;
 import com.dragonsoft.dcuc.approve.business.IWorkFlowBusiness;
 import com.dragonsoft.dcuc.approve.enumresources.ApproveWorkFlowOperationEnum;
@@ -15,18 +20,21 @@ import com.dragonsoft.dcuc.approve.model.resp.*;
 import com.dragonsoft.dcuc.approve.model.vo.ApproveTaskRequestVo;
 import com.dragonsoft.dcuc.approve.model.vo.TaskRequestUserInfoDTO;
 import com.dragonsoft.dcuc.approve.properties.ApproveProperties;
+import com.dragonsoft.dcuc.approve.service.IApproveRecordService;
 import com.dragonsoft.dcuc.approve.service.IApproveService;
 import com.dragonsoft.duceap.base.entity.http.ResponseDTO;
 import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
 import com.dragonsoft.duceap.base.entity.security.BaseSecurityUser;
 import com.dragonsoft.duceap.base.utils.UserContextUtils;
 import com.dragonsoft.duceap.commons.util.enums.EnumUtils;
+import com.dragonsoft.duceap.core.search.Searchable;
+import com.dragonsoft.duceap.core.search.enums.SearchOperator;
+import com.dragonsoft.duceap.core.search.filter.Condition;
 import com.dragonsoft.duceap.duwf.api.model.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 
 /**
  * @author huangzqa
@@ -46,6 +54,12 @@ public class ApiV1ApproveFacade implements IApiV1ApproveFacade {
     @Autowired
     private ApproveProperties approveProperties;
 
+    @Autowired
+    private IApproveBusiness approveBusiness;
+
+    @Autowired
+    private IApproveRecordService approveRecordService;
+
     @Override
     public ResponseDTO<String> save(ApprovalInfoReqVO approvalInfoReqVO) {
         return approveService.save(approvalInfoReqVO, new Date());
@@ -89,7 +103,7 @@ public class ApiV1ApproveFacade implements IApiV1ApproveFacade {
 
     @Override
     public ResponseDTO<TaskOperateRespVO> taskOperate(String taskId, String pageType) {
-        TaskOperateRespVO taskOperateRespVO = approveService.taskOperate(taskId, pageType, approveProperties.getAppCode());
+        TaskOperateRespVO taskOperateRespVO = approveBusiness.taskOperate(taskId, pageType);
         return ResponseUtil.newInstance(taskOperateRespVO);
     }
 
@@ -146,4 +160,42 @@ public class ApiV1ApproveFacade implements IApiV1ApproveFacade {
         return ResponseUtil.newInstance(processDetailRespVO);
     }
 
-}
+    @Override
+    public ResponseDTO<List<BatchTaskOperateRespVO>> batchApproveOperateType(ApiSearchReq apiSearchReq, Map<String, String> headers) {
+        String idcard = approveBusiness.getIdcard(headers);
+        String appCode = approveBusiness.getAppCode(headers);
+        if (StrUtil.isBlank(idcard) || StrUtil.isBlank(appCode)) {
+            return ResponseUtil.dtoFail("请传入凭据");
+        }
+
+        Map<String, SearchOperator[]> requestMap = new HashMap<>();
+        requestMap.put("pageType", new SearchOperator[]{SearchOperator.eq});
+        requestMap.put("approveNo", new SearchOperator[]{SearchOperator.eq, SearchOperator.in});
+        Searchable searchable;
+        try {
+            // 为了适配工具类,无其他用途
+            ApiPageReq apiPageReq = new ApiPageReq();
+            apiPageReq.setFrom(1);
+            apiPageReq.setSize(1);
+            apiSearchReq.setPage(apiPageReq);
+            searchable = SearchableUtil.parseApiSearchReqToSearchable(apiSearchReq, requestMap, 1000);
+            searchable.removePageable();
+        } catch (IllegalArgumentException e) {
+            String message = e.getMessage();
+            return ResponseUtil.dtoFail(message);
+        }
+
+        String pageType = (String) searchable.getSingleSearchFilter("pageType").getValue();
+        Condition approveNoCondition = searchable.getSingleSearchFilter("approveNo");
+        SearchOperator operator = approveNoCondition.getOperator();
+        List<String> approveNoList = Collections.emptyList();
+        if (operator.equals(SearchOperator.eq)) {
+            String value = (String) approveNoCondition.getValue();
+            approveNoList = Collections.singletonList(value);
+        } else if (operator.equals(SearchOperator.in)) {
+            approveNoList = (List<String>) approveNoCondition.getValue();
+        }
+        List<BatchTaskOperateRespVO> batchTaskOperateRespList = approveBusiness.batchTaskOperate(approveNoList, pageType);
+        return ResponseUtil.newInstance(batchTaskOperateRespList);
+    }
+}

+ 23 - 78
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/facade/api/ApiV2ApproveFacade.java

@@ -2,9 +2,6 @@ package com.dragonsoft.dcuc.approve.facade.api;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.StrUtil;
-import com.auth0.jwt.JWT;
-import com.auth0.jwt.interfaces.DecodedJWT;
-import com.dragoninfo.dcuc.common.Constants;
 import com.dragoninfo.dcuc.common.entity.ApiResult;
 import com.dragoninfo.dcuc.common.entity.ApiSearchReq;
 import com.dragoninfo.dcuc.common.utils.ResponseUtil;
@@ -61,8 +58,8 @@ public class ApiV2ApproveFacade implements IApiV2ApproveFacade {
 
     @Override
     public ResponseDTO<String> approveAuthorities(ApprovalInfoAuthReqVO approvalInfoAuthReqVO, Map<String, String> headers) {
-        String idcard = getIdcard(headers);
-        String appCode = getAppCode(headers);
+        String idcard = approveBusiness.getIdcard(headers);
+        String appCode = approveBusiness.getAppCode(headers);
         if (StrUtil.isBlank(idcard) || StrUtil.isBlank(appCode)) {
             return ResponseUtil.dtoFail("请传入凭据");
         }
@@ -90,8 +87,8 @@ public class ApiV2ApproveFacade implements IApiV2ApproveFacade {
 
     @Override
     public ResponseStatus updateApprovesAuthorities(ApprovalInfoAuthUpdateReqVO approvalInfoAuthUpdateReqVO, Map<String, String> headers) {
-        String idcard = getIdcard(headers);
-        String appCode = getAppCode(headers);
+        String idcard = approveBusiness.getIdcard(headers);
+        String appCode = approveBusiness.getAppCode(headers);
         if (StrUtil.isBlank(idcard) || StrUtil.isBlank(appCode)) {
             return ResponseStatus.fail("请传入凭据");
         }
@@ -127,8 +124,8 @@ public class ApiV2ApproveFacade implements IApiV2ApproveFacade {
 
     @Override
     public ApiResult approvesSearch(ApiSearchReq apiSearchReq, Map<String, String> headers) {
-        String idcard = getIdcard(headers);
-        String appCode = getAppCode(headers);
+        String idcard = approveBusiness.getIdcard(headers);
+        String appCode = approveBusiness.getAppCode(headers);
         if (StrUtil.isBlank(idcard) || StrUtil.isBlank(appCode)) {
             return ApiResult.setFailMessage("请传入凭据");
         }
@@ -166,8 +163,8 @@ public class ApiV2ApproveFacade implements IApiV2ApproveFacade {
 
     @Override
     public ResponseDTO<ApprovalInfoV2RespVO> approveDetail(String approveNo, Map<String, String> headers) {
-        String idcard = getIdcard(headers);
-        String appCode = getAppCode(headers);
+        String idcard = approveBusiness.getIdcard(headers);
+        String appCode = approveBusiness.getAppCode(headers);
         if (StrUtil.isBlank(idcard) || StrUtil.isBlank(appCode)) {
             return ResponseUtil.dtoFail("请传入凭据");
         }
@@ -187,8 +184,8 @@ public class ApiV2ApproveFacade implements IApiV2ApproveFacade {
 
     @Override
     public ResponseStatus recallApprove(String approveNo, Map<String, String> headers) {
-        String idcard = getIdcard(headers);
-        String appCode = getAppCode(headers);
+        String idcard = approveBusiness.getIdcard(headers);
+        String appCode = approveBusiness.getAppCode(headers);
         if (StrUtil.isBlank(idcard) || StrUtil.isBlank(appCode)) {
             return ResponseStatus.fail("请传入凭据");
         }
@@ -226,8 +223,8 @@ public class ApiV2ApproveFacade implements IApiV2ApproveFacade {
 
     @Override
     public ResponseStatus deleteApprove(String approveNo, Map<String, String> headers) {
-        String idcard = getIdcard(headers);
-        String appCode = getAppCode(headers);
+        String idcard = approveBusiness.getIdcard(headers);
+        String appCode = approveBusiness.getAppCode(headers);
         if (StrUtil.isBlank(idcard) || StrUtil.isBlank(appCode)) {
             return ResponseStatus.fail("请传入凭据");
         }
@@ -254,8 +251,8 @@ public class ApiV2ApproveFacade implements IApiV2ApproveFacade {
 
     @Override
     public ResponseDTO<List<ApproveCommentVo>> approveComments(String approveNo, Map<String, String> headers) {
-        String idcard = getIdcard(headers);
-        String appCode = getAppCode(headers);
+        String idcard = approveBusiness.getIdcard(headers);
+        String appCode = approveBusiness.getAppCode(headers);
         if (StrUtil.isBlank(idcard) || StrUtil.isBlank(appCode)) {
             return ResponseUtil.dtoFail("请传入凭据");
         }
@@ -277,8 +274,8 @@ public class ApiV2ApproveFacade implements IApiV2ApproveFacade {
 
     @Override
     public ResponseDTO<TraceProcessAndOverVo> processPic(String approveNo, Map<String, String> headers) {
-        String idcard = getIdcard(headers);
-        String appCode = getAppCode(headers);
+        String idcard = approveBusiness.getIdcard(headers);
+        String appCode = approveBusiness.getAppCode(headers);
         if (StrUtil.isBlank(idcard) || StrUtil.isBlank(appCode)) {
             return ResponseUtil.dtoFail("请传入凭据");
         }
@@ -302,8 +299,8 @@ public class ApiV2ApproveFacade implements IApiV2ApproveFacade {
     @Override
     public ResponseDTO<ActivityNodeInfoVo> processPicDetail(String approveNo, String taskDefinitionCode, String statusType,
                                                             Map<String, String> headers) {
-        String idcard = getIdcard(headers);
-        String appCode = getAppCode(headers);
+        String idcard = approveBusiness.getIdcard(headers);
+        String appCode = approveBusiness.getAppCode(headers);
         if (StrUtil.isBlank(idcard) || StrUtil.isBlank(appCode)) {
             return ResponseUtil.dtoFail("请传入凭据");
         }
@@ -325,8 +322,8 @@ public class ApiV2ApproveFacade implements IApiV2ApproveFacade {
 
     @Override
     public ResponseDTO<List<ProcessStatusVo>> processStatus(String approveNo, Map<String, String> headers) {
-        String idcard = getIdcard(headers);
-        String appCode = getAppCode(headers);
+        String idcard = approveBusiness.getIdcard(headers);
+        String appCode = approveBusiness.getAppCode(headers);
         if (StrUtil.isBlank(idcard) || StrUtil.isBlank(appCode)) {
             return ResponseUtil.dtoFail("请传入凭据");
         }
@@ -349,8 +346,8 @@ public class ApiV2ApproveFacade implements IApiV2ApproveFacade {
 
     @Override
     public ResponseDTO<TaskOperateRespVO> approveOperateType(String approveNo, String pageType, Map<String, String> headers) {
-        String idcard = getIdcard(headers);
-        String appCode = getAppCode(headers);
+        String idcard = approveBusiness.getIdcard(headers);
+        String appCode = approveBusiness.getAppCode(headers);
         if (StrUtil.isBlank(idcard) || StrUtil.isBlank(appCode)) {
             return ResponseUtil.dtoFail("请传入凭据");
         }
@@ -367,59 +364,7 @@ public class ApiV2ApproveFacade implements IApiV2ApproveFacade {
             return ResponseUtil.dtoFail("非本应用申请审批单无法操作");
         }
 
-        TaskOperateRespVO taskOperateRespVO = approveService.taskOperate(taskId, pageType, appCode);
+        TaskOperateRespVO taskOperateRespVO = approveBusiness.taskOperate(taskId, pageType);
         return ResponseUtil.newInstance(taskOperateRespVO);
     }
-
-    /**
-     * 获取身份证号
-     *
-     * @param headers 请求头
-     * @return 身份证号
-     */
-    private String getIdcard(Map<String, String> headers) {
-        // 使用Header获取的key会全部转换为小写字母
-        String userToken = headers.getOrDefault(Constants.USER_TOKEN.toLowerCase(), "");
-
-        String idcard = "";
-        if (StrUtil.isNotBlank(userToken)) {
-            DecodedJWT decode = JWT.decode(userToken);
-            idcard = decode.getClaim("idCard").asString();
-            log.debug("decode token idcard:{}", idcard);
-
-        }
-
-        if (StrUtil.isBlank(idcard)) {
-            idcard = headers.getOrDefault(Constants.IDCARD.toLowerCase(), "");
-            log.debug("request idcard:{}", idcard);
-        }
-        log.debug("final idcard:{}", idcard);
-
-        return idcard;
-    }
-
-    /**
-     * 获取应用代码
-     *
-     * @param headers 请求头
-     * @return 应用代码
-     */
-    private String getAppCode(Map<String, String> headers) {
-        String appToken = headers.getOrDefault(Constants.APP_TOKEN.toLowerCase(), "");
-
-        String appCode = "";
-        if (StrUtil.isNotBlank(appToken)) {
-            DecodedJWT decode = JWT.decode(appToken);
-            appCode = decode.getClaim("appCode").asString();
-            log.debug("decode token appCode:{}", appCode);
-        }
-
-        if (StrUtil.isBlank(appCode)) {
-            appCode = headers.getOrDefault(Constants.APP_CODE.toLowerCase(), "");
-            log.debug("request appCode:{}", appCode);
-        }
-        log.debug("final appCode:{}", appCode);
-
-        return appCode;
-    }
 }

+ 0 - 9
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/IApproveService.java

@@ -185,15 +185,6 @@ public interface IApproveService {
      */
     ResponseStatus queryPoliceList(String userToken, String appToken, int page, int size);
 
-    /**
-     * 获取任务支持的操作对象信息
-     *
-     * @param taskId   任务ID
-     * @param pageType 页面类型
-     * @param appCode  应用代码
-     * @return 任务支持操作对象
-     */
-    TaskOperateRespVO taskOperate(String taskId, String pageType, String appCode);
 
     /**
      * 根据任务ID查询任务分支(运行时任务)

+ 0 - 6
approve-core-service/src/main/java/com/dragonsoft/dcuc/approve/service/impl/ApproveServiceImpl.java

@@ -979,12 +979,6 @@ public class ApproveServiceImpl implements IApproveService {
         return ResponseDTO.newInstance(dcucBusiness.getPoliceList(userToken, appToken, paramMap));
     }
 
-    @Override
-    public TaskOperateRespVO taskOperate(String taskId, String pageType, String appCode) {
-        PageTypeEnum pageTypeEnum = EnumUtils.enumOf(PageTypeEnum.class, pageType);
-
-        return workFlowBusiness.getTaskSupportOperate(taskId, pageTypeEnum);
-    }
 
     @Override
     public ResponseDTO<List<TaskOutgoingVo>> taskOut(String taskId, String appCode) {