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

wenhemin pushed a commit to branch json_split_two
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git


The following commit(s) were added to refs/heads/json_split_two by this push:
     new 85f3ab4  [Feature][JsonSplit-api] define task api (#5647)
85f3ab4 is described below

commit 85f3ab43a55c62739b2f0cea87c1c539222711b5
Author: JinyLeeChina <[email protected]>
AuthorDate: Thu Jun 17 10:57:30 2021 +0800

    [Feature][JsonSplit-api] define task api (#5647)
    
    * processDefinition create/update
    
    * fix codeStyle
    
    * fix codeStyle
    
    * fix ut
    
    * api of project
    
    * fix ut
    
    * project update method
    
    * define task api
    
    Co-authored-by: JinyLeeChina <[email protected]>
---
 .../controller/ProcessDefinitionController.java    |   2 +-
 .../api/controller/TaskDefinitionController.java   | 289 +++++++++++++++++++++
 .../apache/dolphinscheduler/api/enums/Status.java  |   9 +-
 .../api/service/TaskDefinitionService.java         |  66 ++++-
 .../service/impl/TaskDefinitionServiceImpl.java    |  31 ++-
 5 files changed, 389 insertions(+), 8 deletions(-)

diff --git 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ProcessDefinitionController.java
 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ProcessDefinitionController.java
index 9ce6210..49df47b 100644
--- 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ProcessDefinitionController.java
+++ 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/ProcessDefinitionController.java
@@ -109,7 +109,7 @@ public class ProcessDefinitionController extends 
BaseController {
             @ApiImplicitParam(name = "name", value = 
"PROCESS_DEFINITION_NAME", required = true, type = "String"),
             @ApiImplicitParam(name = "locations", value = 
"PROCESS_DEFINITION_LOCATIONS", required = true, type = "String"),
             @ApiImplicitParam(name = "connects", value = 
"PROCESS_DEFINITION_CONNECTS", required = true, type = "String"),
-            @ApiImplicitParam(name = "description", value = 
"PROCESS_DEFINITION_DESC", required = false, type = "String"),
+            @ApiImplicitParam(name = "description", value = 
"PROCESS_DEFINITION_DESC", required = false, type = "String")
     })
     @PostMapping(value = "/save")
     @ResponseStatus(HttpStatus.CREATED)
diff --git 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/TaskDefinitionController.java
 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/TaskDefinitionController.java
new file mode 100644
index 0000000..62a3aa6
--- /dev/null
+++ 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/TaskDefinitionController.java
@@ -0,0 +1,289 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.dolphinscheduler.api.controller;
+
+import static 
org.apache.dolphinscheduler.api.enums.Status.CREATE_TASK_DEFINITION;
+import static 
org.apache.dolphinscheduler.api.enums.Status.DELETE_TASK_DEFINE_BY_CODE_ERROR;
+import static 
org.apache.dolphinscheduler.api.enums.Status.DELETE_TASK_DEFINITION_VERSION_ERROR;
+import static 
org.apache.dolphinscheduler.api.enums.Status.QUERY_DETAIL_OF_TASK_DEFINITION_ERROR;
+import static 
org.apache.dolphinscheduler.api.enums.Status.QUERY_TASK_DEFINITION_LIST_PAGING_ERROR;
+import static 
org.apache.dolphinscheduler.api.enums.Status.QUERY_TASK_DEFINITION_VERSIONS_ERROR;
+import static 
org.apache.dolphinscheduler.api.enums.Status.SWITCH_TASK_DEFINITION_VERSION_ERROR;
+import static 
org.apache.dolphinscheduler.api.enums.Status.UPDATE_TASK_DEFINITION_ERROR;
+
+import org.apache.dolphinscheduler.api.aspect.AccessLogAnnotation;
+import org.apache.dolphinscheduler.api.enums.Status;
+import org.apache.dolphinscheduler.api.exceptions.ApiException;
+import org.apache.dolphinscheduler.api.service.TaskDefinitionService;
+import org.apache.dolphinscheduler.api.utils.Result;
+import org.apache.dolphinscheduler.common.Constants;
+import org.apache.dolphinscheduler.common.utils.ParameterUtils;
+import org.apache.dolphinscheduler.dao.entity.User;
+
+import java.util.Map;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestAttribute;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseStatus;
+import org.springframework.web.bind.annotation.RestController;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import springfox.documentation.annotations.ApiIgnore;
+
+/**
+ * task definition controller
+ */
+@Api(tags = "TASK_DEFINITION_TAG")
+@RestController
+@RequestMapping("projects/{projectName}/task")
+public class TaskDefinitionController extends BaseController {
+
+    private static final Logger logger = 
LoggerFactory.getLogger(TaskDefinitionController.class);
+
+    @Autowired
+    private TaskDefinitionService taskDefinitionService;
+
+    /**
+     * create task definition
+     *
+     * @param loginUser login user
+     * @param projectName project name
+     * @param taskDefinitionJson task definition json
+     * @return create result code
+     */
+    @ApiOperation(value = "save", notes = "CREATE_TASK_DEFINITION_NOTES")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "projectName", value = "PROJECT_NAME", 
required = true, type = "String"),
+            @ApiImplicitParam(name = "taskDefinitionJson", value = 
"TASK_DEFINITION_JSON", required = true, type = "String")
+    })
+    @PostMapping(value = "/save")
+    @ResponseStatus(HttpStatus.CREATED)
+    @ApiException(CREATE_TASK_DEFINITION)
+    @AccessLogAnnotation(ignoreRequestArgs = "loginUser")
+    public Result createTaskDefinition(@ApiIgnore @RequestAttribute(value = 
Constants.SESSION_USER) User loginUser,
+                                       @ApiParam(name = "projectName", value = 
"PROJECT_NAME", required = true) @PathVariable String projectName,
+                                       @RequestParam(value = 
"taskDefinitionJson", required = true) String taskDefinitionJson) {
+
+        Map<String, Object> result = 
taskDefinitionService.createTaskDefinition(loginUser, projectName, 
taskDefinitionJson);
+        return returnDataList(result);
+    }
+
+    /**
+     * update task definition
+     *
+     * @param loginUser login user
+     * @param projectName project name
+     * @param taskDefinitionCode task definition code
+     * @param taskDefinitionJson task definition json
+     * @return update result code
+     */
+    @ApiOperation(value = "update", notes = "UPDATE_TASK_DEFINITION_NOTES")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "projectName", value = "PROJECT_NAME", 
required = true, type = "String"),
+            @ApiImplicitParam(name = "code", value = "TASK_DEFINITION_CODE", 
required = true, dataType = "Long", example = "1"),
+            @ApiImplicitParam(name = "taskDefinitionJson", value = 
"TASK_DEFINITION_JSON", required = true, type = "String")
+    })
+    @PostMapping(value = "/update")
+    @ResponseStatus(HttpStatus.OK)
+    @ApiException(UPDATE_TASK_DEFINITION_ERROR)
+    @AccessLogAnnotation(ignoreRequestArgs = "loginUser")
+    public Result updateTaskDefinition(@ApiIgnore @RequestAttribute(value = 
Constants.SESSION_USER) User loginUser,
+                                       @ApiParam(name = "projectName", value = 
"PROJECT_NAME", required = true) @PathVariable String projectName,
+                                       @RequestParam(value = 
"taskDefinitionCode") long taskDefinitionCode,
+                                       @RequestParam(value = 
"taskDefinitionJson", required = true) String taskDefinitionJson) {
+        Map<String, Object> result = 
taskDefinitionService.updateTaskDefinition(loginUser, projectName, 
taskDefinitionCode, taskDefinitionJson);
+        return returnDataList(result);
+    }
+
+    /**
+     * query task definition version paging list info
+     *
+     * @param loginUser login user info
+     * @param projectName project name
+     * @param pageNo the task definition version list current page number
+     * @param pageSize the task definition version list page size
+     * @param taskDefinitionCode the task definition code
+     * @return the task definition version list
+     */
+    @ApiOperation(value = "queryVersions", notes = 
"QUERY_TASK_DEFINITION_VERSIONS_NOTES")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "pageNo", value = "PAGE_NO", required = 
true, dataType = "Int", example = "100"),
+            @ApiImplicitParam(name = "pageSize", value = "PAGE_SIZE", required 
= true, dataType = "Int", example = "100"),
+            @ApiImplicitParam(name = "taskDefinitionCode", value = 
"TASK_DEFINITION_CODE", required = true, dataType = "Long", example = "1")
+    })
+    @GetMapping(value = "/versions")
+    @ResponseStatus(HttpStatus.OK)
+    @ApiException(QUERY_TASK_DEFINITION_VERSIONS_ERROR)
+    @AccessLogAnnotation(ignoreRequestArgs = "loginUser")
+    public Result queryTaskDefinitionVersions(@ApiIgnore 
@RequestAttribute(value = Constants.SESSION_USER) User loginUser,
+                                              @ApiParam(name = "projectName", 
value = "PROJECT_NAME", required = true) @PathVariable String projectName,
+                                              @RequestParam(value = "pageNo") 
int pageNo,
+                                              @RequestParam(value = 
"pageSize") int pageSize,
+                                              @RequestParam(value = 
"taskDefinitionCode") long taskDefinitionCode) {
+        Map<String, Object> result = 
taskDefinitionService.queryTaskDefinitionVersions(loginUser,
+                projectName, pageNo, pageSize, taskDefinitionCode);
+        return returnDataList(result);
+    }
+
+    /**
+     * switch task definition version
+     *
+     * @param loginUser login user info
+     * @param projectName project name
+     * @param taskDefinitionCode the task definition code
+     * @param version the version user want to switch
+     * @return switch version result code
+     */
+    @ApiOperation(value = "switchVersion", notes = 
"SWITCH_TASK_DEFINITION_VERSION_NOTES")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "taskDefinitionCode", value = 
"TASK_DEFINITION_CODE", required = true, dataType = "Long", example = "1"),
+            @ApiImplicitParam(name = "version", value = "VERSION", required = 
true, dataType = "Int", example = "100")
+    })
+    @GetMapping(value = "/version/switch")
+    @ResponseStatus(HttpStatus.OK)
+    @ApiException(SWITCH_TASK_DEFINITION_VERSION_ERROR)
+    @AccessLogAnnotation(ignoreRequestArgs = "loginUser")
+    public Result switchTaskDefinitionVersion(@ApiIgnore 
@RequestAttribute(value = Constants.SESSION_USER) User loginUser,
+                                              @ApiParam(name = "projectName", 
value = "PROJECT_NAME", required = true) @PathVariable String projectName,
+                                              @RequestParam(value = 
"taskDefinitionCode") long taskDefinitionCode,
+                                              @RequestParam(value = "version") 
int version) {
+        Map<String, Object> result = 
taskDefinitionService.switchVersion(loginUser, projectName, taskDefinitionCode, 
version);
+        return returnDataList(result);
+    }
+
+    /**
+     * delete the certain task definition version by version and code
+     *
+     * @param loginUser login user info
+     * @param projectName the task definition project name
+     * @param taskDefinitionCode the task definition code
+     * @param version the task definition version user want to delete
+     * @return delete version result code
+     */
+    @ApiOperation(value = "deleteVersion", notes = 
"DELETE_TASK_DEFINITION_VERSION_NOTES")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "taskDefinitionCode", value = 
"TASK_DEFINITION_CODE", required = true, dataType = "Long", example = "1"),
+            @ApiImplicitParam(name = "version", value = "VERSION", required = 
true, dataType = "Int", example = "100")
+    })
+    @GetMapping(value = "/version/delete")
+    @ResponseStatus(HttpStatus.OK)
+    @ApiException(DELETE_TASK_DEFINITION_VERSION_ERROR)
+    @AccessLogAnnotation(ignoreRequestArgs = "loginUser")
+    public Result deleteTaskDefinitionVersion(@ApiIgnore 
@RequestAttribute(value = Constants.SESSION_USER) User loginUser,
+                                              @ApiParam(name = "projectName", 
value = "PROJECT_NAME", required = true) @PathVariable String projectName,
+                                              @RequestParam(value = 
"taskDefinitionCode") long taskDefinitionCode,
+                                              @RequestParam(value = "version") 
int version) {
+        Map<String, Object> result = 
taskDefinitionService.deleteByCodeAndVersion(loginUser, projectName, 
taskDefinitionCode, version);
+        return returnDataList(result);
+    }
+
+    /**
+     * delete task definition by code
+     *
+     * @param loginUser login user
+     * @param projectName project name
+     * @param taskDefinitionCode the task definition code
+     * @return delete result code
+     */
+    @ApiOperation(value = "deleteTaskDefinition", notes = 
"DELETE_TASK_DEFINITION_BY_CODE_NOTES")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "taskDefinitionCode", value = 
"TASK_DEFINITION_CODE", required = true, dataType = "Long", example = "1")
+    })
+    @GetMapping(value = "/delete")
+    @ResponseStatus(HttpStatus.OK)
+    @ApiException(DELETE_TASK_DEFINE_BY_CODE_ERROR)
+    @AccessLogAnnotation(ignoreRequestArgs = "loginUser")
+    public Result deleteTaskDefinitionByCode(@ApiIgnore 
@RequestAttribute(value = Constants.SESSION_USER) User loginUser,
+                                             @ApiParam(name = "projectName", 
value = "PROJECT_NAME", required = true) @PathVariable String projectName,
+                                             @RequestParam(value = 
"taskDefinitionCode") long taskDefinitionCode) {
+        Map<String, Object> result = 
taskDefinitionService.deleteTaskDefinitionByCode(loginUser, projectName, 
taskDefinitionCode);
+        return returnDataList(result);
+    }
+
+    /**
+     * query detail of task definition by code
+     *
+     * @param loginUser login user
+     * @param projectName project name
+     * @param taskDefinitionCode the task definition code
+     * @return task definition detail
+     */
+    @ApiOperation(value = "queryTaskDefinitionDetail", notes = 
"QUERY_TASK_DEFINITION_DETAIL_NOTES")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "taskDefinitionCode", value = 
"TASK_DEFINITION_CODE", required = true, dataType = "Long", example = "1")
+    })
+    @GetMapping(value = "/select-by-code")
+    @ResponseStatus(HttpStatus.OK)
+    @ApiException(QUERY_DETAIL_OF_TASK_DEFINITION_ERROR)
+    @AccessLogAnnotation(ignoreRequestArgs = "loginUser")
+    public Result queryTaskDefinitionDetail(@ApiIgnore @RequestAttribute(value 
= Constants.SESSION_USER) User loginUser,
+                                            @ApiParam(name = "projectName", 
value = "PROJECT_NAME", required = true) @PathVariable String projectName,
+                                            @RequestParam(value = 
"taskDefinitionCode") long taskDefinitionCode) {
+        Map<String, Object> result = 
taskDefinitionService.queryTaskDefinitionDetail(loginUser, projectName, 
taskDefinitionCode);
+        return returnDataList(result);
+    }
+
+    /**
+     * query task definition list paging
+     *
+     * @param loginUser login user
+     * @param projectName project name
+     * @param searchVal search value
+     * @param pageNo page number
+     * @param pageSize page size
+     * @param userId user id
+     * @return task definition page
+     */
+    @ApiOperation(value = "queryTaskDefinitionListPaging", notes = 
"QUERY_TASK_DEFINITION_LIST_PAGING_NOTES")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "pageNo", value = "PAGE_NO", required = 
true, dataType = "Int", example = "100"),
+            @ApiImplicitParam(name = "searchVal", value = "SEARCH_VAL", 
required = false, type = "String"),
+            @ApiImplicitParam(name = "userId", value = "USER_ID", required = 
false, dataType = "Int", example = "100"),
+            @ApiImplicitParam(name = "pageSize", value = "PAGE_SIZE", required 
= true, dataType = "Int", example = "100")
+    })
+    @GetMapping(value = "/list-paging")
+    @ResponseStatus(HttpStatus.OK)
+    @ApiException(QUERY_TASK_DEFINITION_LIST_PAGING_ERROR)
+    @AccessLogAnnotation(ignoreRequestArgs = "loginUser")
+    public Result queryTaskDefinitionListPaging(@ApiIgnore 
@RequestAttribute(value = Constants.SESSION_USER) User loginUser,
+                                                @ApiParam(name = 
"projectName", value = "PROJECT_NAME", required = true) @PathVariable String 
projectName,
+                                                @RequestParam("pageNo") 
Integer pageNo,
+                                                @RequestParam(value = 
"searchVal", required = false) String searchVal,
+                                                @RequestParam(value = 
"userId", required = false, defaultValue = "0") Integer userId,
+                                                @RequestParam("pageSize") 
Integer pageSize) {
+        Map<String, Object> result = checkPageParams(pageNo, pageSize);
+        if (result.get(Constants.STATUS) != Status.SUCCESS) {
+            return returnDataListPaging(result);
+        }
+        searchVal = ParameterUtils.handleEscapes(searchVal);
+        result = 
taskDefinitionService.queryTaskDefinitionListPaging(loginUser, projectName, 
searchVal, pageNo, pageSize, userId);
+        return returnDataListPaging(result);
+    }
+}
diff --git 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/enums/Status.java
 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/enums/Status.java
index dd9d4bc..9e06558 100644
--- 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/enums/Status.java
+++ 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/enums/Status.java
@@ -265,12 +265,19 @@ public enum Status {
     BATCH_EXPORT_PROCESS_DEFINE_BY_IDS_ERROR(50028, "batch export process 
definition by ids error", "批量导出工作流定义错误"),
     IMPORT_PROCESS_DEFINE_ERROR(50029, "import process definition error", 
"导入工作流定义错误"),
     TASK_DEFINE_NOT_EXIST(50030, "task definition {0} does not exist", 
"任务定义[{0}]不存在"),
-    DELETE_TASK_DEFINE_BY_CODE_ERROR(50031, "delete task definition by code 
error", "删除任务定义错误"),
     DELETE_PROCESS_TASK_RELATION_ERROR(50032, "delete process task relation 
error", "删除工作流任务关系错误"),
     PROCESS_TASK_RELATION_NOT_EXIST(50033, "process task relation {0} does not 
exist", "工作流任务关系[{0}]不存在"),
     PROCESS_TASK_RELATION_EXIST(50034, "process task relation is already 
exist, processCode:[{0}]", "工作流任务关系已存在, processCode:[{0}]"),
     PROCESS_DAG_IS_EMPTY(50035, "process dag can not be empty", "工作流dag不能为空"),
     CHECK_PROCESS_TASK_RELATION_ERROR(50036, "check process task relation 
error", "工作流任务关系参数错误"),
+    CREATE_TASK_DEFINITION(50037, "create task definition", "创建任务错误"),
+    UPDATE_TASK_DEFINITION_ERROR(50038, "update task definition error", 
"更新任务定义错误"),
+    QUERY_TASK_DEFINITION_VERSIONS_ERROR(50039, "query task definition 
versions error", "查询任务历史版本信息出错"),
+    SWITCH_TASK_DEFINITION_VERSION_ERROR(50040, "Switch task definition 
version error", "切换任务版本出错"),
+    DELETE_TASK_DEFINITION_VERSION_ERROR(50041, "delete task definition 
version error", "删除任务历史版本出错"),
+    DELETE_TASK_DEFINE_BY_CODE_ERROR(50042, "delete task definition by code 
error", "删除任务定义错误"),
+    QUERY_DETAIL_OF_TASK_DEFINITION_ERROR(50043, "query detail of task 
definition error", "查询任务详细信息错误"),
+    QUERY_TASK_DEFINITION_LIST_PAGING_ERROR(50044, "query task definition list 
paging error", "分页查询任务定义列表错误"),
     HDFS_NOT_STARTUP(60001, "hdfs not startup", "hdfs未启用"),
 
     /**
diff --git 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/TaskDefinitionService.java
 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/TaskDefinitionService.java
index ea0031a..d3f2dc4 100644
--- 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/TaskDefinitionService.java
+++ 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/TaskDefinitionService.java
@@ -57,7 +57,7 @@ public interface TaskDefinitionService {
      */
     Map<String, Object> deleteTaskDefinitionByCode(User loginUser,
                                                    String projectName,
-                                                   Long taskCode);
+                                                   long taskCode);
 
     /**
      * update task definition
@@ -69,7 +69,7 @@ public interface TaskDefinitionService {
      */
     Map<String, Object> updateTaskDefinition(User loginUser,
                                              String projectName,
-                                             Long taskCode,
+                                             long taskCode,
                                              String taskDefinitionJson);
 
     /**
@@ -82,7 +82,67 @@ public interface TaskDefinitionService {
      */
     Map<String, Object> switchVersion(User loginUser,
                                       String projectName,
-                                      Long taskCode,
+                                      long taskCode,
                                       int version);
+
+    /**
+     * query the pagination versions info by one certain task definition code
+     *
+     * @param loginUser login user info to check auth
+     * @param projectName project name
+     * @param pageNo page number
+     * @param pageSize page size
+     * @param taskCode task definition code
+     * @return the pagination task definition versions info of the certain 
task definition
+     */
+    Map<String, Object> queryTaskDefinitionVersions(User loginUser,
+                                                    String projectName,
+                                                    int pageNo,
+                                                    int pageSize,
+                                                    long taskCode);
+
+    /**
+     * delete the certain task definition version by version and code
+     *
+     * @param loginUser login user info
+     * @param projectName the task definition project name
+     * @param taskCode the task definition code
+     * @param version the task definition version user want to delete
+     * @return delete version result code
+     */
+    Map<String, Object> deleteByCodeAndVersion(User loginUser,
+                                               String projectName,
+                                               long taskCode,
+                                               int version);
+
+    /**
+     * query detail of task definition by code
+     *
+     * @param loginUser login user
+     * @param projectName project name
+     * @param taskCode the task definition code
+     * @return task definition detail
+     */
+    Map<String, Object> queryTaskDefinitionDetail(User loginUser,
+                                                  String projectName,
+                                                  long taskCode);
+
+    /**
+     * query task definition list paging
+     *
+     * @param loginUser login user
+     * @param projectName project name
+     * @param searchVal search value
+     * @param pageNo page number
+     * @param pageSize page size
+     * @param userId user id
+     * @return task definition page
+     */
+    Map<String, Object> queryTaskDefinitionListPaging(User loginUser,
+                                                      String projectName,
+                                                      String searchVal,
+                                                      Integer pageNo,
+                                                      Integer pageSize,
+                                                      Integer userId);
 }
 
diff --git 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/TaskDefinitionServiceImpl.java
 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/TaskDefinitionServiceImpl.java
index e3608a7..04380f1 100644
--- 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/TaskDefinitionServiceImpl.java
+++ 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/TaskDefinitionServiceImpl.java
@@ -163,7 +163,7 @@ public class TaskDefinitionServiceImpl extends 
BaseServiceImpl implements TaskDe
      */
     @Transactional(rollbackFor = RuntimeException.class)
     @Override
-    public Map<String, Object> deleteTaskDefinitionByCode(User loginUser, 
String projectName, Long taskCode) {
+    public Map<String, Object> deleteTaskDefinitionByCode(User loginUser, 
String projectName, long taskCode) {
         Map<String, Object> result = new HashMap<>(5);
         Project project = projectMapper.queryByName(projectName);
 
@@ -200,7 +200,7 @@ public class TaskDefinitionServiceImpl extends 
BaseServiceImpl implements TaskDe
      */
     @Transactional(rollbackFor = RuntimeException.class)
     @Override
-    public Map<String, Object> updateTaskDefinition(User loginUser, String 
projectName, Long taskCode, String taskDefinitionJson) {
+    public Map<String, Object> updateTaskDefinition(User loginUser, String 
projectName, long taskCode, String taskDefinitionJson) {
         Map<String, Object> result = new HashMap<>(5);
         Project project = projectMapper.queryByName(projectName);
 
@@ -251,7 +251,7 @@ public class TaskDefinitionServiceImpl extends 
BaseServiceImpl implements TaskDe
      * @param version the version user want to switch
      */
     @Override
-    public Map<String, Object> switchVersion(User loginUser, String 
projectName, Long taskCode, int version) {
+    public Map<String, Object> switchVersion(User loginUser, String 
projectName, long taskCode, int version) {
         Map<String, Object> result = new HashMap<>(5);
         Project project = projectMapper.queryByName(projectName);
 
@@ -277,5 +277,30 @@ public class TaskDefinitionServiceImpl extends 
BaseServiceImpl implements TaskDe
         putMsg(result, Status.SUCCESS);
         return result;
     }
+
+    @Override
+    public Map<String, Object> queryTaskDefinitionVersions(User loginUser, 
String projectName, int pageNo, int pageSize, long taskCode) {
+        return null;
+    }
+
+    @Override
+    public Map<String, Object> deleteByCodeAndVersion(User loginUser, String 
projectName, long taskCode, int version) {
+        return null;
+    }
+
+    @Override
+    public Map<String, Object> queryTaskDefinitionDetail(User loginUser, 
String projectName, long taskCode) {
+        return null;
+    }
+
+    @Override
+    public Map<String, Object> queryTaskDefinitionListPaging(User loginUser,
+                                                             String 
projectName,
+                                                             String searchVal,
+                                                             Integer pageNo,
+                                                             Integer pageSize,
+                                                             Integer userId) {
+        return null;
+    }
 }
 

Reply via email to