This is an automated email from the ASF dual-hosted git repository. zhongjiajie pushed a commit to branch 3.0.0-beta-prepare in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git
commit e663043c91125869e2cdbc1d39aaefdb5328fd50 Author: Jiajie Zhong <[email protected]> AuthorDate: Wed May 25 16:33:23 2022 +0800 [fix] Task group queue query all list error (#10237) Add support query all task queue by not given specific groupId close: #10102 (cherry picked from commit d8db2b57d22ed853232d60a6b33462fa442b838b) --- .../api/controller/TaskGroupController.java | 17 +++++++--- .../api/service/TaskGroupQueueService.java | 11 ++++--- .../dao/mapper/TaskGroupQueueMapper.xml | 36 ++++++++++++---------- 3 files changed, 39 insertions(+), 25 deletions(-) diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/TaskGroupController.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/TaskGroupController.java index 87977b3638..ca65ac78fe 100644 --- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/TaskGroupController.java +++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/TaskGroupController.java @@ -297,14 +297,21 @@ public class TaskGroupController extends BaseController { /** * query task group queue list paging * - * @param loginUser login user - * @param pageNo page number - * @param pageSize page size + * @param groupId ID for task group + * @param taskName Task Name + * @param processName Process instance name + * @param status Task queue status + * @param loginUser login user + * @param pageNo page number + * @param pageSize page size * @return queue list */ @ApiOperation(value = "queryTasksByGroupId", notes = "QUERY_ALL_TASKS_NOTES") @ApiImplicitParams({ - @ApiImplicitParam(name = "groupId", value = "GROUP_ID", required = true, dataType = "Int", example = "1"), + @ApiImplicitParam(name = "groupId", value = "GROUP_ID", required = false, dataType = "Int", example = "1", defaultValue = "-1"), + @ApiImplicitParam(name = "taskInstanceName", value = "TASK_INSTANCE_NAME", required = false, dataType = "String", example = "taskName"), + @ApiImplicitParam(name = "processInstanceName", value = "PROCESS_INSTANCE_NAME", required = false, dataType = "String", example = "processName"), + @ApiImplicitParam(name = "status", value = "STATUS", required = false, dataType = "Int", example = "1"), @ApiImplicitParam(name = "pageNo", value = "PAGE_NO", required = true, dataType = "Int", example = "1"), @ApiImplicitParam(name = "pageSize", value = "PAGE_SIZE", required = true, dataType = "Int", example = "20") }) @@ -313,7 +320,7 @@ public class TaskGroupController extends BaseController { @ApiException(QUERY_TASK_GROUP_QUEUE_LIST_ERROR) @AccessLogAnnotation(ignoreRequestArgs = "loginUser") public Result queryTasksByGroupId(@ApiIgnore @RequestAttribute(value = Constants.SESSION_USER) User loginUser, - @RequestParam("groupId") Integer groupId, + @RequestParam(value = "groupId", required = false, defaultValue = "-1") Integer groupId, @RequestParam(value = "taskInstanceName",required = false) String taskName, @RequestParam(value = "processInstanceName",required = false) String processName, @RequestParam(value = "status",required = false) Integer status, diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/TaskGroupQueueService.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/TaskGroupQueueService.java index 651267ebb2..e6e81d950b 100644 --- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/TaskGroupQueueService.java +++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/TaskGroupQueueService.java @@ -28,10 +28,13 @@ public interface TaskGroupQueueService { /** * query tasks in task group queue by group id - * @param loginUser login user - * @param groupId group id - * @param pageNo page no - * @param pageSize page size + * @param loginUser login user + * @param groupId group id + * @param taskName Task Name + * @param processName Process instance name + * @param status Task queue status + * @param pageNo page no + * @param pageSize page size * @return tasks list */ diff --git a/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/TaskGroupQueueMapper.xml b/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/TaskGroupQueueMapper.xml index a780270bfd..5eacbea9b8 100644 --- a/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/TaskGroupQueueMapper.xml +++ b/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/TaskGroupQueueMapper.xml @@ -134,22 +134,26 @@ left join t_ds_process_definition p_f on process.process_definition_code = p_f.code and process.process_definition_version = p_f.version join t_ds_project as p on p_f.project_code = p.code - where queue.group_id = #{groupId} - <if test="taskName != null and taskName != ''"> - and task_name like concat('%', #{taskName}, '%') - </if> - <if test="processName != null and processName != ''"> - and process.name like concat('%', #{processName}, '%') - </if> - <if test="status != null"> - and queue.status =#{status} - </if> - <if test="projects != null and projects.size() > 0"> - and p.code in - <foreach collection="projects" index="index" item="i" open="(" separator="," close=")"> - #{i.code} - </foreach> - </if> + <where> + <if test="groupId != null and groupId != -1"> + queue.group_id = #{groupId} + </if> + <if test="taskName != null and taskName != ''"> + and task_name like concat('%', #{taskName}, '%') + </if> + <if test="processName != null and processName != ''"> + and process.name like concat('%', #{processName}, '%') + </if> + <if test="status != null"> + and queue.status =#{status} + </if> + <if test="projects != null and projects.size() > 0"> + and p.code in + <foreach collection="projects" index="index" item="i" open="(" separator="," close=")"> + #{i.code} + </foreach> + </if> + </where> order by queue.update_time desc </select>
