You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@inlong.apache.org by he...@apache.org on 2022/08/05 08:54:33 UTC

[inlong] branch master updated: [INLONG-5368][Manager] Fix the error of updating workflow approver (#5370)

This is an automated email from the ASF dual-hosted git repository.

healchow pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/inlong.git


The following commit(s) were added to refs/heads/master by this push:
     new 29fe1ad8e [INLONG-5368][Manager] Fix the error of updating workflow approver (#5370)
29fe1ad8e is described below

commit 29fe1ad8e1cc6298c0c34fcdd972fe46b3c917df
Author: healchow <he...@gmail.com>
AuthorDate: Fri Aug 5 16:54:28 2022 +0800

    [INLONG-5368][Manager] Fix the error of updating workflow approver (#5370)
---
 .../dao/mapper/WorkflowApproverEntityMapper.java   |  4 +--
 .../mappers/WorkflowApproverEntityMapper.xml       | 14 +++++---
 ...proverRequest.java => ApproverPageRequest.java} | 21 +++++++-----
 .../manager/pojo/workflow/ApproverRequest.java     |  3 --
 .../manager/pojo/workflow/ApproverResponse.java    |  2 +-
 .../service/core/WorkflowApproverService.java      |  6 ++--
 .../core/impl/WorkflowApproverServiceImpl.java     | 40 +++++++++++++++-------
 .../workflow/WorkflowApproverServiceImplTest.java  | 13 ++++---
 .../web/controller/WorkflowApproverController.java |  9 +++--
 .../core/impl/WorkflowQueryServiceImpl.java        | 25 +++++++-------
 10 files changed, 80 insertions(+), 57 deletions(-)

diff --git a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/WorkflowApproverEntityMapper.java b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/WorkflowApproverEntityMapper.java
index 2ff5a22dd..a3d1c3a7a 100644
--- a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/WorkflowApproverEntityMapper.java
+++ b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/WorkflowApproverEntityMapper.java
@@ -19,7 +19,7 @@ package org.apache.inlong.manager.dao.mapper;
 
 import org.apache.ibatis.annotations.Param;
 import org.apache.inlong.manager.dao.entity.WorkflowApproverEntity;
-import org.apache.inlong.manager.pojo.workflow.ApproverRequest;
+import org.apache.inlong.manager.pojo.workflow.ApproverPageRequest;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
@@ -31,7 +31,7 @@ public interface WorkflowApproverEntityMapper {
 
     WorkflowApproverEntity selectById(Integer id);
 
-    List<WorkflowApproverEntity> selectByQuery(ApproverRequest request);
+    List<WorkflowApproverEntity> selectByCondition(ApproverPageRequest request);
 
     int updateById(WorkflowApproverEntity record);
 
diff --git a/inlong-manager/manager-dao/src/main/resources/mappers/WorkflowApproverEntityMapper.xml b/inlong-manager/manager-dao/src/main/resources/mappers/WorkflowApproverEntityMapper.xml
index 12b02fd42..65d7972d3 100644
--- a/inlong-manager/manager-dao/src/main/resources/mappers/WorkflowApproverEntityMapper.xml
+++ b/inlong-manager/manager-dao/src/main/resources/mappers/WorkflowApproverEntityMapper.xml
@@ -50,13 +50,18 @@
         from workflow_approver
         where id = #{id, jdbcType=INTEGER} and is_deleted=0
     </select>
-    <select id="selectByQuery" resultMap="BaseResultMap"
-            parameterType="org.apache.inlong.manager.pojo.workflow.ApproverRequest">
+    <select id="selectByCondition" resultMap="BaseResultMap"
+            parameterType="org.apache.inlong.manager.pojo.workflow.ApproverPageRequest">
         select
         <include refid="Base_Column_List"/>
         from workflow_approver
         <where>
             is_deleted = 0
+            <if test="currentUser != null and currentUser != '' and isAdminRole == false">
+                and (
+                creator = #{currentUser, jdbcType=VARCHAR} or find_in_set(#{currentUser, jdbcType=VARCHAR}, approvers)
+                )
+            </if>
             <if test="processName != null and processName!=''">
                 and process_name = #{processName, jdbcType=VARCHAR}
             </if>
@@ -66,6 +71,9 @@
             <if test="approver != null and approver!=''">
                 and find_in_set(#{approver, jdbcType=VARCHAR}, approvers)
             </if>
+            <if test="keyword != null and keyword != ''">
+                and (process_name like CONCAT('%', #{keyword}, '%') or task_name like CONCAT('%', #{keyword}, '%'))
+            </if>
         </where>
     </select>
 
@@ -73,8 +81,6 @@
         update workflow_approver
         set process_name = #{processName, jdbcType=VARCHAR},
             task_name    = #{taskName, jdbcType=VARCHAR},
-            filter_key   = #{filterKey, jdbcType=VARCHAR},
-            filter_value = #{filterValue, jdbcType=VARCHAR},
             approvers    = #{approvers, jdbcType=VARCHAR},
             creator      = #{creator, jdbcType=VARCHAR},
             modifier     = #{modifier, jdbcType=VARCHAR},
diff --git a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/workflow/ApproverRequest.java b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/workflow/ApproverPageRequest.java
similarity index 68%
copy from inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/workflow/ApproverRequest.java
copy to inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/workflow/ApproverPageRequest.java
index 8e399d55b..dd36d72ec 100644
--- a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/workflow/ApproverRequest.java
+++ b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/workflow/ApproverPageRequest.java
@@ -22,20 +22,23 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
+import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
+import org.apache.inlong.manager.pojo.common.PageRequest;
 
 /**
- * Workflow approver request
+ * Workflow approver query request
  */
 @Data
 @Builder
 @NoArgsConstructor
 @AllArgsConstructor
-@ApiModel("Workflow approver request")
-public class ApproverRequest {
+@EqualsAndHashCode(callSuper = false)
+@ApiModel("Workflow approver query request")
+public class ApproverPageRequest extends PageRequest {
 
-    @ApiModelProperty(value = "Primary key")
-    private Integer id;
+    @ApiModelProperty(value = "Keywords, can be process name, task name, approver name, etc.")
+    private String keyword;
 
     @ApiModelProperty("Workflow process name")
     private String processName;
@@ -46,10 +49,10 @@ public class ApproverRequest {
     @ApiModelProperty("Specified workflow approver")
     private String approver;
 
-    @ApiModelProperty("Workflow approvers, separate with commas(,)")
-    private String approvers;
+    @ApiModelProperty(value = "Current user", hidden = true)
+    private String currentUser;
 
-    @ApiModelProperty(value = "Version number")
-    private Integer version;
+    @ApiModelProperty(value = "Whether the current user is in the administrator role", hidden = true)
+    private Boolean isAdminRole;
 
 }
diff --git a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/workflow/ApproverRequest.java b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/workflow/ApproverRequest.java
index 8e399d55b..1b565ab83 100644
--- a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/workflow/ApproverRequest.java
+++ b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/workflow/ApproverRequest.java
@@ -43,9 +43,6 @@ public class ApproverRequest {
     @ApiModelProperty("Workflow task name")
     private String taskName;
 
-    @ApiModelProperty("Specified workflow approver")
-    private String approver;
-
     @ApiModelProperty("Workflow approvers, separate with commas(,)")
     private String approvers;
 
diff --git a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/workflow/ApproverResponse.java b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/workflow/ApproverResponse.java
index 30cdd449d..10d09e9d6 100644
--- a/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/workflow/ApproverResponse.java
+++ b/inlong-manager/manager-pojo/src/main/java/org/apache/inlong/manager/pojo/workflow/ApproverResponse.java
@@ -47,7 +47,7 @@ public class ApproverResponse {
     private String taskName;
 
     @ApiModelProperty("Workflow approvers, separate with commas(,)")
-    private String approver;
+    private String approvers;
 
     @ApiModelProperty(value = "Name of creator")
     private String creator;
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/WorkflowApproverService.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/WorkflowApproverService.java
index 72f3ded2c..6d4131eda 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/WorkflowApproverService.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/WorkflowApproverService.java
@@ -17,6 +17,8 @@
 
 package org.apache.inlong.manager.service.core;
 
+import com.github.pagehelper.PageInfo;
+import org.apache.inlong.manager.pojo.workflow.ApproverPageRequest;
 import org.apache.inlong.manager.pojo.workflow.ApproverRequest;
 import org.apache.inlong.manager.pojo.workflow.ApproverResponse;
 
@@ -55,10 +57,10 @@ public interface WorkflowApproverService {
     /**
      * List the workflow approvers according to the query request
      *
-     * @param request query request
+     * @param request page query request
      * @return approver list
      */
-    List<ApproverResponse> listByCondition(ApproverRequest request);
+    PageInfo<ApproverResponse> listByCondition(ApproverPageRequest request);
 
     /**
      * Update workflow approve.
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/WorkflowApproverServiceImpl.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/WorkflowApproverServiceImpl.java
index 8675702a6..60dc7cc10 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/WorkflowApproverServiceImpl.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/WorkflowApproverServiceImpl.java
@@ -17,6 +17,9 @@
 
 package org.apache.inlong.manager.service.core.impl;
 
+import com.github.pagehelper.Page;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
 import org.apache.inlong.manager.common.consts.InlongConstants;
 import org.apache.inlong.manager.common.enums.ErrorCodeEnum;
 import org.apache.inlong.manager.common.exceptions.BusinessException;
@@ -24,6 +27,7 @@ import org.apache.inlong.manager.common.util.CommonBeanUtils;
 import org.apache.inlong.manager.common.util.Preconditions;
 import org.apache.inlong.manager.dao.entity.WorkflowApproverEntity;
 import org.apache.inlong.manager.dao.mapper.WorkflowApproverEntityMapper;
+import org.apache.inlong.manager.pojo.workflow.ApproverPageRequest;
 import org.apache.inlong.manager.pojo.workflow.ApproverRequest;
 import org.apache.inlong.manager.pojo.workflow.ApproverResponse;
 import org.apache.inlong.manager.service.core.WorkflowApproverService;
@@ -52,7 +56,7 @@ public class WorkflowApproverServiceImpl implements WorkflowApproverService {
     private static final Logger LOGGER = LoggerFactory.getLogger(WorkflowApproverServiceImpl.class);
 
     @Autowired
-    private WorkflowApproverEntityMapper workflowApproverMapper;
+    private WorkflowApproverEntityMapper approverMapper;
     @Autowired
     private ProcessDefinitionService processDefinitionService;
 
@@ -65,13 +69,17 @@ public class WorkflowApproverServiceImpl implements WorkflowApproverService {
         Preconditions.checkNotNull(task, "task not exit with name: " + request.getTaskName());
         Preconditions.checkTrue(task instanceof UserTask, "task should be UserTask");
 
-        List<WorkflowApproverEntity> exist = workflowApproverMapper.selectByQuery(request);
+        ApproverPageRequest pageRequest = ApproverPageRequest.builder()
+                .processName(request.getProcessName())
+                .taskName(request.getTaskName())
+                .build();
+        List<WorkflowApproverEntity> exist = approverMapper.selectByCondition(pageRequest);
         Preconditions.checkEmpty(exist, "workflow approver already exits");
 
         WorkflowApproverEntity entity = CommonBeanUtils.copyProperties(request, WorkflowApproverEntity::new);
         entity.setCreator(operator);
         entity.setModifier(operator);
-        workflowApproverMapper.insert(entity);
+        approverMapper.insert(entity);
 
         LOGGER.info("success to save approver: {} by user: {}", request, operator);
         return entity.getId();
@@ -80,7 +88,7 @@ public class WorkflowApproverServiceImpl implements WorkflowApproverService {
     @Override
     public ApproverResponse get(Integer id) {
         Preconditions.checkNotNull(id, "approver id cannot be null");
-        WorkflowApproverEntity approverEntity = workflowApproverMapper.selectById(id);
+        WorkflowApproverEntity approverEntity = approverMapper.selectById(id);
         if (approverEntity == null) {
             LOGGER.error("workflow approver not found by id={}", id);
             throw new BusinessException(ErrorCodeEnum.WORKFLOW_APPROVER_NOT_FOUND);
@@ -90,11 +98,11 @@ public class WorkflowApproverServiceImpl implements WorkflowApproverService {
 
     @Override
     public List<String> getApprovers(String processName, String taskName) {
-        ApproverRequest approverRequest = ApproverRequest.builder()
+        ApproverPageRequest pageRequest = ApproverPageRequest.builder()
                 .processName(processName)
                 .taskName(taskName)
                 .build();
-        List<WorkflowApproverEntity> approverEntities = workflowApproverMapper.selectByQuery(approverRequest);
+        List<WorkflowApproverEntity> approverEntities = approverMapper.selectByCondition(pageRequest);
         Set<String> resultSet = new HashSet<>();
         approverEntities.forEach(entity ->
                 resultSet.addAll(Arrays.asList(entity.getApprovers().split(InlongConstants.COMMA))));
@@ -103,9 +111,15 @@ public class WorkflowApproverServiceImpl implements WorkflowApproverService {
     }
 
     @Override
-    public List<ApproverResponse> listByCondition(ApproverRequest request) {
-        List<WorkflowApproverEntity> entityList = workflowApproverMapper.selectByQuery(request);
-        return CommonBeanUtils.copyListProperties(entityList, ApproverResponse::new);
+    public PageInfo<ApproverResponse> listByCondition(ApproverPageRequest request) {
+        PageHelper.startPage(request.getPageNum(), request.getPageSize());
+
+        Page<WorkflowApproverEntity> page = (Page<WorkflowApproverEntity>) approverMapper.selectByCondition(request);
+        List<ApproverResponse> resultList = CommonBeanUtils.copyListProperties(page,
+                ApproverResponse::new);
+        PageInfo<ApproverResponse> pageInfo = new PageInfo<>(resultList);
+        pageInfo.setTotal(page.getTotal());
+        return pageInfo;
     }
 
     @Override
@@ -114,7 +128,7 @@ public class WorkflowApproverServiceImpl implements WorkflowApproverService {
         Integer id = request.getId();
         Preconditions.checkNotNull(id, "approver id cannot be null");
 
-        WorkflowApproverEntity entity = workflowApproverMapper.selectById(id);
+        WorkflowApproverEntity entity = approverMapper.selectById(id);
         Preconditions.checkNotNull(entity, "not exist with id:" + id);
         String errMsg = String.format("approver has already updated with id=%s, process=%s, task=%s, curVersion=%s",
                 id, request.getProcessName(), request.getTaskName(), request.getVersion());
@@ -124,7 +138,7 @@ public class WorkflowApproverServiceImpl implements WorkflowApproverService {
         }
         entity.setModifier(operator);
         entity.setApprovers(request.getApprovers());
-        workflowApproverMapper.updateById(entity);
+        approverMapper.updateById(entity);
 
         LOGGER.info("success to update workflow approver for request: {} by user: {}", request, operator);
         return id;
@@ -132,9 +146,9 @@ public class WorkflowApproverServiceImpl implements WorkflowApproverService {
 
     @Override
     public void delete(Integer id, String operator) {
-        WorkflowApproverEntity entity = workflowApproverMapper.selectById(id);
+        WorkflowApproverEntity entity = approverMapper.selectById(id);
         Preconditions.checkNotNull(entity, "not exist with id:" + id);
-        int success = this.workflowApproverMapper.deleteByPrimaryKey(id, operator);
+        int success = this.approverMapper.deleteByPrimaryKey(id, operator);
         Preconditions.checkTrue(success == 1, "delete failed");
     }
 
diff --git a/inlong-manager/manager-service/src/test/java/org/apache/inlong/manager/service/workflow/WorkflowApproverServiceImplTest.java b/inlong-manager/manager-service/src/test/java/org/apache/inlong/manager/service/workflow/WorkflowApproverServiceImplTest.java
index 0a90e77d4..59e762f00 100644
--- a/inlong-manager/manager-service/src/test/java/org/apache/inlong/manager/service/workflow/WorkflowApproverServiceImplTest.java
+++ b/inlong-manager/manager-service/src/test/java/org/apache/inlong/manager/service/workflow/WorkflowApproverServiceImplTest.java
@@ -17,7 +17,8 @@
 
 package org.apache.inlong.manager.service.workflow;
 
-import org.apache.inlong.manager.pojo.workflow.ApproverRequest;
+import com.github.pagehelper.PageInfo;
+import org.apache.inlong.manager.pojo.workflow.ApproverPageRequest;
 import org.apache.inlong.manager.pojo.workflow.ApproverResponse;
 import org.apache.inlong.manager.service.ServiceBaseTest;
 import org.apache.inlong.manager.service.core.impl.WorkflowApproverServiceImpl;
@@ -25,8 +26,6 @@ import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 
-import java.util.List;
-
 /**
  * Test class for workflow approver service.
  */
@@ -38,11 +37,11 @@ public class WorkflowApproverServiceImplTest extends ServiceBaseTest {
     @Test
     public void testListAndGet() {
         // The workflow approvers was init by SQL file.
-        List<ApproverResponse> approverList = workflowApproverService.listByCondition(
-                ApproverRequest.builder().build());
-        Assertions.assertTrue(approverList.size() > 0);
+        PageInfo<ApproverResponse> approverList = workflowApproverService.listByCondition(
+                ApproverPageRequest.builder().build());
+        Assertions.assertTrue(approverList.getSize() > 0);
 
-        Integer id = approverList.get(0).getId();
+        Integer id = approverList.getList().get(0).getId();
         ApproverResponse approverResponse = workflowApproverService.get(id);
         Assertions.assertEquals(id, approverResponse.getId());
     }
diff --git a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/WorkflowApproverController.java b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/WorkflowApproverController.java
index e0d1acad4..05d739af8 100644
--- a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/WorkflowApproverController.java
+++ b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/WorkflowApproverController.java
@@ -17,11 +17,14 @@
 
 package org.apache.inlong.manager.web.controller;
 
+import com.github.pagehelper.PageInfo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiOperation;
 import org.apache.inlong.manager.common.enums.OperationType;
+import org.apache.inlong.manager.common.enums.UserTypeEnum;
 import org.apache.inlong.manager.pojo.common.Response;
+import org.apache.inlong.manager.pojo.workflow.ApproverPageRequest;
 import org.apache.inlong.manager.pojo.workflow.ApproverRequest;
 import org.apache.inlong.manager.pojo.workflow.ApproverResponse;
 import org.apache.inlong.manager.service.core.WorkflowApproverService;
@@ -36,8 +39,6 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.util.List;
-
 /**
  * Workflow-Approver controller
  */
@@ -65,7 +66,9 @@ public class WorkflowApproverController {
 
     @GetMapping("/workflow/approver/list")
     @ApiOperation(value = "List workflow approvers")
-    public Response<List<ApproverResponse>> listByCondition(ApproverRequest request) {
+    public Response<PageInfo<ApproverResponse>> listByCondition(ApproverPageRequest request) {
+        request.setCurrentUser(LoginUserUtils.getLoginUser().getName());
+        request.setIsAdminRole(LoginUserUtils.getLoginUser().getRoles().contains(UserTypeEnum.ADMIN.name()));
         return Response.success(workflowApproverService.listByCondition(request));
     }
 
diff --git a/inlong-manager/manager-workflow/src/main/java/org/apache/inlong/manager/workflow/core/impl/WorkflowQueryServiceImpl.java b/inlong-manager/manager-workflow/src/main/java/org/apache/inlong/manager/workflow/core/impl/WorkflowQueryServiceImpl.java
index 31f6ff316..b34bc8e83 100644
--- a/inlong-manager/manager-workflow/src/main/java/org/apache/inlong/manager/workflow/core/impl/WorkflowQueryServiceImpl.java
+++ b/inlong-manager/manager-workflow/src/main/java/org/apache/inlong/manager/workflow/core/impl/WorkflowQueryServiceImpl.java
@@ -24,8 +24,17 @@ import org.apache.inlong.manager.common.consts.InlongConstants;
 import org.apache.inlong.manager.common.enums.ProcessStatus;
 import org.apache.inlong.manager.common.enums.TaskStatus;
 import org.apache.inlong.manager.common.exceptions.WorkflowException;
+import org.apache.inlong.manager.common.util.Preconditions;
+import org.apache.inlong.manager.dao.entity.WorkflowApproverEntity;
+import org.apache.inlong.manager.dao.entity.WorkflowEventLogEntity;
+import org.apache.inlong.manager.dao.entity.WorkflowProcessEntity;
+import org.apache.inlong.manager.dao.entity.WorkflowTaskEntity;
+import org.apache.inlong.manager.dao.mapper.WorkflowApproverEntityMapper;
+import org.apache.inlong.manager.dao.mapper.WorkflowEventLogEntityMapper;
+import org.apache.inlong.manager.dao.mapper.WorkflowProcessEntityMapper;
+import org.apache.inlong.manager.dao.mapper.WorkflowTaskEntityMapper;
 import org.apache.inlong.manager.pojo.common.CountInfo;
-import org.apache.inlong.manager.pojo.workflow.ApproverRequest;
+import org.apache.inlong.manager.pojo.workflow.ApproverPageRequest;
 import org.apache.inlong.manager.pojo.workflow.ElementInfo;
 import org.apache.inlong.manager.pojo.workflow.EventLogRequest;
 import org.apache.inlong.manager.pojo.workflow.ProcessCountRequest;
@@ -38,15 +47,6 @@ import org.apache.inlong.manager.pojo.workflow.TaskCountResponse;
 import org.apache.inlong.manager.pojo.workflow.TaskRequest;
 import org.apache.inlong.manager.pojo.workflow.TaskResponse;
 import org.apache.inlong.manager.pojo.workflow.form.task.TaskForm;
-import org.apache.inlong.manager.common.util.Preconditions;
-import org.apache.inlong.manager.dao.entity.WorkflowApproverEntity;
-import org.apache.inlong.manager.dao.entity.WorkflowEventLogEntity;
-import org.apache.inlong.manager.dao.entity.WorkflowProcessEntity;
-import org.apache.inlong.manager.dao.entity.WorkflowTaskEntity;
-import org.apache.inlong.manager.dao.mapper.WorkflowApproverEntityMapper;
-import org.apache.inlong.manager.dao.mapper.WorkflowEventLogEntityMapper;
-import org.apache.inlong.manager.dao.mapper.WorkflowProcessEntityMapper;
-import org.apache.inlong.manager.dao.mapper.WorkflowTaskEntityMapper;
 import org.apache.inlong.manager.workflow.WorkflowContext;
 import org.apache.inlong.manager.workflow.core.ProcessDefinitionRepository;
 import org.apache.inlong.manager.workflow.core.WorkflowQueryService;
@@ -168,9 +168,8 @@ public class WorkflowQueryServiceImpl implements WorkflowQueryService {
             taskEntity = this.getTaskEntity(taskId);
             List<String> taskApprovers = Arrays.asList(taskEntity.getApprovers().split(InlongConstants.COMMA));
             if (!taskApprovers.contains(operator)) {
-                ApproverRequest query = new ApproverRequest();
-                query.setProcessName(processEntity.getName());
-                List<WorkflowApproverEntity> approverList = approverMapper.selectByQuery(query);
+                ApproverPageRequest query = ApproverPageRequest.builder().processName(processEntity.getName()).build();
+                List<WorkflowApproverEntity> approverList = approverMapper.selectByCondition(query);
                 boolean match = approverList.stream().anyMatch(entity ->
                         Preconditions.inSeparatedString(operator, entity.getApprovers(), InlongConstants.COMMA));
                 if (!match) {