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) {