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

kirs pushed a commit to branch json_split
in repository https://gitbox.apache.org/repos/asf/incubator-dolphinscheduler.git


The following commit(s) were added to refs/heads/json_split by this push:
     new 8b35e21  [Feature][jsonsplit] replace processDefinitionVersion with 
processDefinitionLog (#4942)
8b35e21 is described below

commit 8b35e21390d48d4b6bdd9d03419300f8130dff28
Author: Simon <[email protected]>
AuthorDate: Thu Mar 4 12:57:10 2021 +0800

    [Feature][jsonsplit] replace processDefinitionVersion with 
processDefinitionLog (#4942)
    
    * Modify Project and ProjectUser Mapper
    
    * project_code is bigint(20)
    
    
    * modify saveProcessDefine, remove the duplicate code with 
createTaskAndRelation
    
    * modify import/export processdefinition, add genProcessData
    
    * modify listResources mothod and remove getResourceIds mothod
    
    * 1
    
    * conflicts solve
    
    * modify listResources mothod and remove getResourceIds mothod
    
    * modify listResources mothod and remove getResourceIds mothod
    
    * replace processDefinitionVersion with processDefinitionLog
---
 .../controller/ProcessDefinitionController.java    |   9 +-
 .../api/service/ProcessDefinitionService.java      |  25 ++
 .../service/ProcessDefinitionVersionService.java   |  73 ------
 .../service/impl/ProcessDefinitionServiceImpl.java |  82 ++++++
 .../impl/ProcessDefinitionVersionServiceImpl.java  | 184 --------------
 .../service/impl/ProcessInstanceServiceImpl.java   |   4 -
 .../ProcessDefinitionControllerTest.java           |  12 +-
 .../api/service/ProcessDefinitionServiceTest.java  |   2 -
 .../ProcessDefinitionVersionServiceTest.java       | 276 ---------------------
 .../api/service/ProcessInstanceServiceTest.java    |   4 -
 .../dao/mapper/ProcessDefinitionLogMapper.java     |  21 ++
 .../dao/mapper/ProcessDefinitionMapper.java        |  13 +
 .../dao/mapper/ProcessDefinitionVersionMapper.java |  69 ------
 .../dao/mapper/ProcessDefinitionLogMapper.xml      |  16 ++
 .../dao/mapper/ProcessDefinitionVersionMapper.xml  |  57 -----
 .../mapper/ProcessDefinitionVersionMapperTest.java | 168 -------------
 16 files changed, 164 insertions(+), 851 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 ab8fc2c..47ab8ac 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
@@ -37,7 +37,6 @@ import static 
org.apache.dolphinscheduler.api.enums.Status.VERIFY_PROCESS_DEFINI
 import org.apache.dolphinscheduler.api.enums.Status;
 import org.apache.dolphinscheduler.api.exceptions.ApiException;
 import org.apache.dolphinscheduler.api.service.ProcessDefinitionService;
-import org.apache.dolphinscheduler.api.service.ProcessDefinitionVersionService;
 import org.apache.dolphinscheduler.api.utils.RegexUtils;
 import org.apache.dolphinscheduler.api.utils.Result;
 import org.apache.dolphinscheduler.common.Constants;
@@ -90,9 +89,6 @@ public class ProcessDefinitionController extends 
BaseController {
     @Autowired
     private ProcessDefinitionService processDefinitionService;
 
-    @Autowired
-    private ProcessDefinitionVersionService processDefinitionVersionService;
-
     /**
      * create process definition
      *
@@ -297,8 +293,9 @@ public class ProcessDefinitionController extends 
BaseController {
                                                  @RequestParam(value = 
"pageSize") int pageSize,
                                                  @RequestParam(value = 
"processDefinitionId") int processDefinitionId) {
 
-        Map<String, Object> result = 
processDefinitionVersionService.queryProcessDefinitionVersions(loginUser
+        Map<String, Object> result = 
processDefinitionService.queryProcessDefinitionVersions(loginUser
             , projectName, pageNo, pageSize, processDefinitionId);
+
         return returnDataList(result);
     }
 
@@ -351,7 +348,7 @@ public class ProcessDefinitionController extends 
BaseController {
                                                  @RequestParam(value = 
"processDefinitionId") int processDefinitionId,
                                                  @RequestParam(value = 
"version") long version) {
 
-        Map<String, Object> result = 
processDefinitionVersionService.deleteByProcessDefinitionIdAndVersion(loginUser,
 projectName, processDefinitionId, version);
+        Map<String, Object> result = 
processDefinitionService.deleteByProcessDefinitionIdAndVersion(loginUser, 
projectName, processDefinitionId, version);
         return returnDataList(result);
     }
 
diff --git 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/ProcessDefinitionService.java
 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/ProcessDefinitionService.java
index 82651dd..ca4703c 100644
--- 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/ProcessDefinitionService.java
+++ 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/ProcessDefinitionService.java
@@ -274,5 +274,30 @@ public interface ProcessDefinitionService {
      */
     Map<String, Object> switchProcessDefinitionVersion(User loginUser, String 
projectName
             , int processDefinitionId, long version);
+
+    /**
+     * query the pagination versions info by one certain process definition id
+     *
+     * @param loginUser login user info to check auth
+     * @param projectName process definition project name
+     * @param pageNo page number
+     * @param pageSize page size
+     * @param processDefinitionId process definition id
+     * @return the pagination process definition versions info of the certain 
process definition
+     */
+    Map<String, Object> queryProcessDefinitionVersions(User loginUser, String 
projectName,
+                                                       int pageNo, int 
pageSize, int processDefinitionId);
+
+    /**
+     * delete one certain process definition by version number and process 
definition id
+     *
+     * @param loginUser login user info to check auth
+     * @param projectName process definition project name
+     * @param processDefinitionId process definition id
+     * @param version version number
+     * @return delele result code
+     */
+    Map<String, Object> deleteByProcessDefinitionIdAndVersion(User loginUser, 
String projectName,
+                                                              int 
processDefinitionId, long version);
 }
 
diff --git 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/ProcessDefinitionVersionService.java
 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/ProcessDefinitionVersionService.java
deleted file mode 100644
index cc7a344..0000000
--- 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/ProcessDefinitionVersionService.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * 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.service;
-
-import org.apache.dolphinscheduler.dao.entity.ProcessDefinition;
-import org.apache.dolphinscheduler.dao.entity.ProcessDefinitionVersion;
-import org.apache.dolphinscheduler.dao.entity.User;
-
-import java.util.Map;
-
-/**
- * process definition version service
- */
-public interface ProcessDefinitionVersionService {
-
-    /**
-     * add the newest version of one process definition
-     *
-     * @param processDefinition the process definition that need to record 
version
-     * @return the newest version number of this process definition
-     */
-    int addProcessDefinitionVersion(ProcessDefinition processDefinition);
-
-    /**
-     * query the pagination versions info by one certain process definition id
-     *
-     * @param loginUser login user info to check auth
-     * @param projectName process definition project name
-     * @param pageNo page number
-     * @param pageSize page size
-     * @param processDefinitionId process definition id
-     * @return the pagination process definition versions info of the certain 
process definition
-     */
-    Map<String, Object> queryProcessDefinitionVersions(User loginUser, String 
projectName,
-                                                       int pageNo, int 
pageSize, int processDefinitionId);
-
-    /**
-     * query one certain process definition version by version number and 
process definition id
-     *
-     * @param processDefinitionId process definition id
-     * @param version version number
-     * @return the process definition version info
-     */
-    ProcessDefinitionVersion queryByProcessDefinitionIdAndVersion(int 
processDefinitionId,
-                                                                  long 
version);
-
-    /**
-     * delete one certain process definition by version number and process 
definition id
-     *
-     * @param loginUser login user info to check auth
-     * @param projectName process definition project name
-     * @param processDefinitionId process definition id
-     * @param version version number
-     * @return delele result code
-     */
-    Map<String, Object> deleteByProcessDefinitionIdAndVersion(User loginUser, 
String projectName,
-                                                              int 
processDefinitionId, long version);
-}
diff --git 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessDefinitionServiceImpl.java
 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessDefinitionServiceImpl.java
index d3da26f..db972c4 100644
--- 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessDefinitionServiceImpl.java
+++ 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessDefinitionServiceImpl.java
@@ -101,6 +101,7 @@ import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.node.ArrayNode;
 import com.fasterxml.jackson.databind.node.ObjectNode;
+import com.google.common.collect.ImmutableMap;
 
 /**
  * process definition service impl
@@ -1701,4 +1702,85 @@ public class ProcessDefinitionServiceImpl extends 
BaseServiceImpl implements Pro
         }
     }
 
+    /**
+     * query the pagination versions info by one certain process definition id
+     *
+     * @param loginUser login user info to check auth
+     * @param projectName process definition project name
+     * @param pageNo page number
+     * @param pageSize page size
+     * @param processDefinitionId process definition id
+     * @return the pagination process definition versions info of the certain 
process definition
+     */
+    @Override
+    public Map<String, Object> queryProcessDefinitionVersions(User loginUser, 
String projectName, int pageNo, int pageSize, int processDefinitionId) {
+
+        Map<String, Object> result = new HashMap<>();
+
+        // check the if pageNo or pageSize less than 1
+        if (pageNo <= 0 || pageSize <= 0) {
+            putMsg(result
+                    , 
Status.QUERY_PROCESS_DEFINITION_VERSIONS_PAGE_NO_OR_PAGE_SIZE_LESS_THAN_1_ERROR
+                    , pageNo
+                    , pageSize);
+            return result;
+        }
+
+        Project project = projectMapper.queryByName(projectName);
+
+        // check project auth
+        Map<String, Object> checkResult = 
projectService.checkProjectAndAuth(loginUser, project, projectName);
+        Status resultStatus = (Status) checkResult.get(Constants.STATUS);
+        if (resultStatus != Status.SUCCESS) {
+            return checkResult;
+        }
+
+        ProcessDefinition processDefinition = 
processDefinitionMapper.queryByDefineId(processDefinitionId);
+
+        PageInfo<ProcessDefinitionLog> pageInfo = new PageInfo<>(pageNo, 
pageSize);
+        Page<ProcessDefinitionLog> page = new Page<>(pageNo, pageSize);
+        IPage<ProcessDefinitionLog> processDefinitionVersionsPaging = 
processDefinitionLogMapper.queryProcessDefinitionVersionsPaging(page, 
processDefinition.getCode());
+        List<ProcessDefinitionLog> processDefinitionLogs = 
processDefinitionVersionsPaging.getRecords();
+
+        ProcessData processData = 
processService.genProcessData(processDefinition);
+        
processDefinition.setProcessDefinitionJson(JSONUtils.toJsonString(processData));
+        pageInfo.setLists(processDefinitionLogs);
+        pageInfo.setTotalCount((int) 
processDefinitionVersionsPaging.getTotal());
+        return ImmutableMap.of(
+                Constants.MSG, Status.SUCCESS.getMsg()
+                , Constants.STATUS, Status.SUCCESS
+                , Constants.DATA_LIST, pageInfo);
+    }
+
+
+    /**
+     * delete one certain process definition by version number and process 
definition id
+     *
+     * @param loginUser login user info to check auth
+     * @param projectName process definition project name
+     * @param processDefinitionId process definition id
+     * @param version version number
+     * @return delele result code
+     */
+    @Override
+    public Map<String, Object> deleteByProcessDefinitionIdAndVersion(User 
loginUser, String projectName, int processDefinitionId, long version) {
+        Map<String, Object> result = new HashMap<>();
+        Project project = projectMapper.queryByName(projectName);
+        // check project auth
+        Map<String, Object> checkResult = 
projectService.checkProjectAndAuth(loginUser, project, projectName);
+        Status resultStatus = (Status) checkResult.get(Constants.STATUS);
+        if (resultStatus != Status.SUCCESS) {
+            return checkResult;
+        }
+        ProcessDefinition processDefinition = 
processDefinitionMapper.queryByDefineId(processDefinitionId);
+
+        if (processDefinition == null) {
+            putMsg(result, Status.PROCESS_DEFINE_NOT_EXIST, 
processDefinitionId);
+        } else {
+            
processDefinitionLogMapper.deleteByProcessDefinitionCodeAndVersion(processDefinition.getCode(),
 version);
+            putMsg(result, Status.SUCCESS);
+        }
+        return result;
+
+    }
 }
diff --git 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessDefinitionVersionServiceImpl.java
 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessDefinitionVersionServiceImpl.java
deleted file mode 100644
index 0764810..0000000
--- 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessDefinitionVersionServiceImpl.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*
- * 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.service.impl;
-
-import org.apache.dolphinscheduler.api.enums.Status;
-import org.apache.dolphinscheduler.api.service.ProcessDefinitionVersionService;
-import org.apache.dolphinscheduler.api.service.ProjectService;
-import org.apache.dolphinscheduler.api.utils.PageInfo;
-import org.apache.dolphinscheduler.common.Constants;
-import org.apache.dolphinscheduler.dao.entity.ProcessDefinition;
-import org.apache.dolphinscheduler.dao.entity.ProcessDefinitionVersion;
-import org.apache.dolphinscheduler.dao.entity.Project;
-import org.apache.dolphinscheduler.dao.entity.User;
-import org.apache.dolphinscheduler.dao.mapper.ProcessDefinitionVersionMapper;
-import org.apache.dolphinscheduler.dao.mapper.ProjectMapper;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.google.common.collect.ImmutableMap;
-
-/**
- * process definition version service impl
- */
-@Service
-public class ProcessDefinitionVersionServiceImpl extends BaseServiceImpl 
implements ProcessDefinitionVersionService {
-
-    @Autowired
-    private ProcessDefinitionVersionMapper processDefinitionVersionMapper;
-
-    @Autowired
-    private ProjectService projectService;
-
-    @Autowired
-    private ProjectMapper projectMapper;
-
-    /**
-     * add the newest version of one process definition
-     *
-     * @param processDefinition the process definition that need to record 
version
-     * @return the newest version number of this process definition
-     */
-    @Override
-    public int addProcessDefinitionVersion(ProcessDefinition 
processDefinition) {
-
-        long version = 
this.queryMaxVersionByProcessDefinitionId(processDefinition.getId()) + 1;
-
-        ProcessDefinitionVersion processDefinitionVersion = 
ProcessDefinitionVersion
-                .newBuilder()
-                .processDefinitionId(processDefinition.getId())
-                .version(version)
-                .description(processDefinition.getDescription())
-                .locations(processDefinition.getLocations())
-                .connects(processDefinition.getConnects())
-                .timeout(processDefinition.getTimeout())
-                .globalParams(processDefinition.getGlobalParams())
-                .createTime(processDefinition.getUpdateTime())
-                .warningGroupId(processDefinition.getWarningGroupId())
-                .resourceIds(processDefinition.getResourceIds())
-                .build();
-
-        processDefinitionVersionMapper.insert(processDefinitionVersion);
-
-        return Integer.parseInt(String.valueOf(version));
-    }
-
-    /**
-     * query the max version number by the process definition id
-     *
-     * @param processDefinitionId process definition id
-     * @return the max version number of this id
-     */
-    private long queryMaxVersionByProcessDefinitionId(int processDefinitionId) 
{
-        Long maxVersion = 
processDefinitionVersionMapper.queryMaxVersionByProcessDefinitionId(processDefinitionId);
-        if (Objects.isNull(maxVersion)) {
-            return 0L;
-        } else {
-            return maxVersion;
-        }
-    }
-
-    /**
-     * query the pagination versions info by one certain process definition id
-     *
-     * @param loginUser login user info to check auth
-     * @param projectName process definition project name
-     * @param pageNo page number
-     * @param pageSize page size
-     * @param processDefinitionId process definition id
-     * @return the pagination process definition versions info of the certain 
process definition
-     */
-    @Override
-    public Map<String, Object> queryProcessDefinitionVersions(User loginUser, 
String projectName, int pageNo, int pageSize, int processDefinitionId) {
-
-        Map<String, Object> result = new HashMap<>();
-
-        // check the if pageNo or pageSize less than 1
-        if (pageNo <= 0 || pageSize <= 0) {
-            putMsg(result
-                    , 
Status.QUERY_PROCESS_DEFINITION_VERSIONS_PAGE_NO_OR_PAGE_SIZE_LESS_THAN_1_ERROR
-                    , pageNo
-                    , pageSize);
-            return result;
-        }
-
-        Project project = projectMapper.queryByName(projectName);
-
-        // check project auth
-        Map<String, Object> checkResult = 
projectService.checkProjectAndAuth(loginUser, project, projectName);
-        Status resultStatus = (Status) checkResult.get(Constants.STATUS);
-        if (resultStatus != Status.SUCCESS) {
-            return checkResult;
-        }
-
-        PageInfo<ProcessDefinitionVersion> pageInfo = new PageInfo<>(pageNo, 
pageSize);
-        Page<ProcessDefinitionVersion> page = new Page<>(pageNo, pageSize);
-        IPage<ProcessDefinitionVersion> processDefinitionVersionsPaging = 
processDefinitionVersionMapper.queryProcessDefinitionVersionsPaging(page, 
processDefinitionId);
-        List<ProcessDefinitionVersion> processDefinitionVersions = 
processDefinitionVersionsPaging.getRecords();
-        pageInfo.setLists(processDefinitionVersions);
-        pageInfo.setTotalCount((int) 
processDefinitionVersionsPaging.getTotal());
-        return ImmutableMap.of(
-                Constants.MSG, Status.SUCCESS.getMsg()
-                , Constants.STATUS, Status.SUCCESS
-                , Constants.DATA_LIST, pageInfo);
-    }
-
-    /**
-     * query one certain process definition version by version number and 
process definition id
-     *
-     * @param processDefinitionId process definition id
-     * @param version version number
-     * @return the process definition version info
-     */
-    @Override
-    public ProcessDefinitionVersion queryByProcessDefinitionIdAndVersion(int 
processDefinitionId, long version) {
-        return 
processDefinitionVersionMapper.queryByProcessDefinitionIdAndVersion(processDefinitionId,
 version);
-    }
-
-    /**
-     * delete one certain process definition by version number and process 
definition id
-     *
-     * @param loginUser login user info to check auth
-     * @param projectName process definition project name
-     * @param processDefinitionId process definition id
-     * @param version version number
-     * @return delele result code
-     */
-    @Override
-    public Map<String, Object> deleteByProcessDefinitionIdAndVersion(User 
loginUser, String projectName, int processDefinitionId, long version) {
-        Map<String, Object> result = new HashMap<>();
-        Project project = projectMapper.queryByName(projectName);
-        // check project auth
-        Map<String, Object> checkResult = 
projectService.checkProjectAndAuth(loginUser, project, projectName);
-        Status resultStatus = (Status) checkResult.get(Constants.STATUS);
-        if (resultStatus != Status.SUCCESS) {
-            return checkResult;
-        }
-        
processDefinitionVersionMapper.deleteByProcessDefinitionIdAndVersion(processDefinitionId,
 version);
-        putMsg(result, Status.SUCCESS);
-        return result;
-    }
-}
diff --git 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessInstanceServiceImpl.java
 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessInstanceServiceImpl.java
index 4e53377..ca0bc8c 100644
--- 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessInstanceServiceImpl.java
+++ 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessInstanceServiceImpl.java
@@ -30,7 +30,6 @@ import org.apache.dolphinscheduler.api.enums.Status;
 import org.apache.dolphinscheduler.api.service.ExecutorService;
 import org.apache.dolphinscheduler.api.service.LoggerService;
 import org.apache.dolphinscheduler.api.service.ProcessDefinitionService;
-import org.apache.dolphinscheduler.api.service.ProcessDefinitionVersionService;
 import org.apache.dolphinscheduler.api.service.ProcessInstanceService;
 import org.apache.dolphinscheduler.api.service.ProjectService;
 import org.apache.dolphinscheduler.api.service.UsersService;
@@ -123,9 +122,6 @@ public class ProcessInstanceServiceImpl extends 
BaseServiceImpl implements Proce
     ProcessDefinitionService processDefinitionService;
 
     @Autowired
-    ProcessDefinitionVersionService processDefinitionVersionService;
-
-    @Autowired
     ExecutorService execService;
 
     @Autowired
diff --git 
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/ProcessDefinitionControllerTest.java
 
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/ProcessDefinitionControllerTest.java
index e44fad8..96d6ad2 100644
--- 
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/ProcessDefinitionControllerTest.java
+++ 
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/controller/ProcessDefinitionControllerTest.java
@@ -18,7 +18,6 @@
 package org.apache.dolphinscheduler.api.controller;
 
 import org.apache.dolphinscheduler.api.enums.Status;
-import org.apache.dolphinscheduler.api.service.ProcessDefinitionVersionService;
 import 
org.apache.dolphinscheduler.api.service.impl.ProcessDefinitionServiceImpl;
 import org.apache.dolphinscheduler.api.utils.PageInfo;
 import org.apache.dolphinscheduler.api.utils.Result;
@@ -26,7 +25,7 @@ import org.apache.dolphinscheduler.common.Constants;
 import org.apache.dolphinscheduler.common.enums.ReleaseState;
 import org.apache.dolphinscheduler.common.enums.UserType;
 import org.apache.dolphinscheduler.dao.entity.ProcessDefinition;
-import org.apache.dolphinscheduler.dao.entity.ProcessDefinitionVersion;
+import org.apache.dolphinscheduler.dao.entity.ProcessDefinitionLog;
 import org.apache.dolphinscheduler.dao.entity.Resource;
 import org.apache.dolphinscheduler.dao.entity.User;
 
@@ -64,9 +63,6 @@ public class ProcessDefinitionControllerTest {
     @Mock
     private ProcessDefinitionServiceImpl processDefinitionService;
 
-    @Mock
-    private ProcessDefinitionVersionService processDefinitionVersionService;
-
     protected User user;
 
     @Before
@@ -392,8 +388,8 @@ public class ProcessDefinitionControllerTest {
         String projectName = "test";
         Map<String, Object> resultMap = new HashMap<>();
         putMsg(resultMap, Status.SUCCESS);
-        resultMap.put(Constants.DATA_LIST, new 
PageInfo<ProcessDefinitionVersion>(1, 10));
-        
Mockito.when(processDefinitionVersionService.queryProcessDefinitionVersions(
+        resultMap.put(Constants.DATA_LIST, new 
PageInfo<ProcessDefinitionLog>(1, 10));
+        Mockito.when(processDefinitionService.queryProcessDefinitionVersions(
                 user
                 , projectName
                 , 1
@@ -435,7 +431,7 @@ public class ProcessDefinitionControllerTest {
         String projectName = "test";
         Map<String, Object> resultMap = new HashMap<>();
         putMsg(resultMap, Status.SUCCESS);
-        
Mockito.when(processDefinitionVersionService.deleteByProcessDefinitionIdAndVersion(
+        
Mockito.when(processDefinitionService.deleteByProcessDefinitionIdAndVersion(
                 user
                 , projectName
                 , 1
diff --git 
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/ProcessDefinitionServiceTest.java
 
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/ProcessDefinitionServiceTest.java
index c67d13c..fbe0f51 100644
--- 
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/ProcessDefinitionServiceTest.java
+++ 
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/ProcessDefinitionServiceTest.java
@@ -253,8 +253,6 @@ public class ProcessDefinitionServiceTest {
     private ProcessInstanceService processInstanceService;
     @Mock
     private TaskInstanceMapper taskInstanceMapper;
-    @Mock
-    private ProcessDefinitionVersionService processDefinitionVersionService;
 
     @Test
     public void testQueryProcessDefinitionList() {
diff --git 
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/ProcessDefinitionVersionServiceTest.java
 
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/ProcessDefinitionVersionServiceTest.java
deleted file mode 100644
index ba4f2e5..0000000
--- 
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/ProcessDefinitionVersionServiceTest.java
+++ /dev/null
@@ -1,276 +0,0 @@
-/*
- * 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.service;
-
-import org.apache.dolphinscheduler.api.enums.Status;
-import 
org.apache.dolphinscheduler.api.service.impl.ProcessDefinitionVersionServiceImpl;
-import org.apache.dolphinscheduler.api.service.impl.ProjectServiceImpl;
-import org.apache.dolphinscheduler.api.utils.PageInfo;
-import org.apache.dolphinscheduler.common.Constants;
-import org.apache.dolphinscheduler.common.enums.UserType;
-import org.apache.dolphinscheduler.dao.entity.ProcessDefinition;
-import org.apache.dolphinscheduler.dao.entity.ProcessDefinitionVersion;
-import org.apache.dolphinscheduler.dao.entity.Project;
-import org.apache.dolphinscheduler.dao.entity.User;
-import org.apache.dolphinscheduler.dao.mapper.ProcessDefinitionVersionMapper;
-import org.apache.dolphinscheduler.dao.mapper.ProjectMapper;
-
-import java.text.MessageFormat;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.junit.Assert;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.InjectMocks;
-import org.mockito.Mock;
-import org.mockito.Mockito;
-import org.mockito.junit.MockitoJUnitRunner;
-
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.google.common.collect.Lists;
-
-/**
- * process definition version service test
- */
-@RunWith(MockitoJUnitRunner.class)
-public class ProcessDefinitionVersionServiceTest {
-
-    @InjectMocks
-    private ProcessDefinitionVersionServiceImpl 
processDefinitionVersionService;
-
-    @Mock
-    private ProcessDefinitionVersionMapper processDefinitionVersionMapper;
-
-    @Mock
-    private ProjectMapper projectMapper;
-
-    @Mock
-    private ProjectServiceImpl projectService;
-
-    @Test
-    public void testAddProcessDefinitionVersion() {
-        long expectedVersion = 5L;
-        ProcessDefinition processDefinition = getProcessDefinition();
-        Mockito.when(processDefinitionVersionMapper
-                
.queryMaxVersionByProcessDefinitionId(processDefinition.getId()))
-                .thenReturn(expectedVersion);
-
-        int version = 
processDefinitionVersionService.addProcessDefinitionVersion(processDefinition);
-
-        Assert.assertEquals(expectedVersion + 1, version);
-    }
-
-    @Test
-    @SuppressWarnings("unchecked")
-    public void testQueryProcessDefinitionVersions() {
-        // pageNo <= 0
-        int pageNo = -1;
-        int pageSize = 10;
-        int processDefinitionId = 66;
-
-        String projectName = "project_test1";
-        User loginUser = new User();
-        loginUser.setId(-1);
-        loginUser.setUserType(UserType.GENERAL_USER);
-        Map<String, Object> resultMap1 = 
processDefinitionVersionService.queryProcessDefinitionVersions(
-                loginUser
-                , projectName
-                , pageNo
-                , pageSize
-                , processDefinitionId);
-        
Assert.assertEquals(Status.QUERY_PROCESS_DEFINITION_VERSIONS_PAGE_NO_OR_PAGE_SIZE_LESS_THAN_1_ERROR
-                , resultMap1.get(Constants.STATUS));
-
-        // pageSize <= 0
-        pageNo = 1;
-        pageSize = -1;
-        Map<String, Object> resultMap2 = 
processDefinitionVersionService.queryProcessDefinitionVersions(
-                loginUser
-                , projectName
-                , pageNo
-                , pageSize
-                , processDefinitionId);
-        
Assert.assertEquals(Status.QUERY_PROCESS_DEFINITION_VERSIONS_PAGE_NO_OR_PAGE_SIZE_LESS_THAN_1_ERROR
-                , resultMap2.get(Constants.STATUS));
-
-        Map<String, Object> res = new HashMap<>();
-        putMsg(res, Status.PROJECT_NOT_FOUNT);
-        Project project = getProject(projectName);
-        Mockito.when(projectMapper.queryByName(projectName))
-                .thenReturn(project);
-        Mockito.when(projectService.checkProjectAndAuth(loginUser, project, 
projectName))
-                .thenReturn(res);
-
-        // project auth fail
-        pageNo = 1;
-        pageSize = 10;
-        Map<String, Object> resultMap3 = 
processDefinitionVersionService.queryProcessDefinitionVersions(
-                loginUser
-                , projectName
-                , pageNo
-                , pageSize
-                , processDefinitionId);
-        Assert.assertEquals(Status.PROJECT_NOT_FOUNT, 
resultMap3.get(Constants.STATUS));
-
-        putMsg(res, Status.SUCCESS);
-
-        Mockito.when(projectService.checkProjectAndAuth(loginUser, project, 
projectName))
-                .thenReturn(res);
-
-        ProcessDefinitionVersion processDefinitionVersion = 
getProcessDefinitionVersion(getProcessDefinition());
-
-        Mockito.when(processDefinitionVersionMapper
-                .queryProcessDefinitionVersionsPaging(Mockito.any(Page.class), 
Mockito.eq(processDefinitionId)))
-                .thenReturn(new Page<ProcessDefinitionVersion>()
-                        
.setRecords(Lists.newArrayList(processDefinitionVersion)));
-
-        Map<String, Object> resultMap4 = 
processDefinitionVersionService.queryProcessDefinitionVersions(
-                loginUser
-                , projectName
-                , pageNo
-                , pageSize
-                , processDefinitionId);
-        Assert.assertEquals(Status.SUCCESS, resultMap4.get(Constants.STATUS));
-        Assert.assertEquals(processDefinitionVersion
-                , ((PageInfo<ProcessDefinitionVersion>) 
resultMap4.get(Constants.DATA_LIST))
-                        .getLists().get(0));
-    }
-
-    @Test
-    public void testQueryByProcessDefinitionIdAndVersion() {
-
-        ProcessDefinitionVersion expectedProcessDefinitionVersion =
-                getProcessDefinitionVersion(getProcessDefinition());
-
-        int processDefinitionId = 66;
-        long version = 10;
-        
Mockito.when(processDefinitionVersionMapper.queryByProcessDefinitionIdAndVersion(processDefinitionId,
 version))
-                .thenReturn(expectedProcessDefinitionVersion);
-
-        ProcessDefinitionVersion processDefinitionVersion = 
processDefinitionVersionService
-                .queryByProcessDefinitionIdAndVersion(processDefinitionId, 
version);
-
-        Assert.assertEquals(expectedProcessDefinitionVersion, 
processDefinitionVersion);
-    }
-
-    @Test
-    public void testDeleteByProcessDefinitionIdAndVersion() {
-        String projectName = "project_test1";
-        int processDefinitionId = 66;
-        long version = 10;
-        Project project = getProject(projectName);
-        Mockito.when(projectMapper.queryByName(projectName))
-                .thenReturn(project);
-
-        User loginUser = new User();
-        loginUser.setId(-1);
-        loginUser.setUserType(UserType.GENERAL_USER);
-
-        // project auth fail
-        Mockito.when(projectService.checkProjectAndAuth(loginUser, project, 
projectName))
-                .thenReturn(new HashMap<>());
-
-        Map<String, Object> resultMap1 = 
processDefinitionVersionService.deleteByProcessDefinitionIdAndVersion(
-                loginUser
-                , projectName
-                , processDefinitionId
-                , version);
-
-        Assert.assertEquals(0, resultMap1.size());
-
-        Map<String, Object> res = new HashMap<>();
-        putMsg(res, Status.SUCCESS);
-
-        
Mockito.when(processDefinitionVersionMapper.deleteByProcessDefinitionIdAndVersion(processDefinitionId,
 version))
-                .thenReturn(1);
-        Mockito.when(projectService.checkProjectAndAuth(loginUser, project, 
projectName))
-                .thenReturn(res);
-
-        Map<String, Object> resultMap2 = 
processDefinitionVersionService.deleteByProcessDefinitionIdAndVersion(
-                loginUser
-                , projectName
-                , processDefinitionId
-                , version);
-
-        Assert.assertEquals(Status.SUCCESS, resultMap2.get(Constants.STATUS));
-
-    }
-
-    /**
-     * get mock processDefinitionVersion by processDefinition
-     *
-     * @return processDefinitionVersion
-     */
-    private ProcessDefinitionVersion 
getProcessDefinitionVersion(ProcessDefinition processDefinition) {
-        return ProcessDefinitionVersion
-            .newBuilder()
-            .processDefinitionId(processDefinition.getId())
-            .version(1)
-            
.processDefinitionJson(processDefinition.getProcessDefinitionJson())
-            .description(processDefinition.getDescription())
-            .locations(processDefinition.getLocations())
-            .connects(processDefinition.getConnects())
-            .timeout(processDefinition.getTimeout())
-            .globalParams(processDefinition.getGlobalParams())
-            .createTime(processDefinition.getUpdateTime())
-            .warningGroupId(processDefinition.getWarningGroupId())
-                .resourceIds(processDefinition.getResourceIds())
-                .build();
-    }
-
-    /**
-     * get mock processDefinition
-     *
-     * @return ProcessDefinition
-     */
-    private ProcessDefinition getProcessDefinition() {
-
-        ProcessDefinition processDefinition = new ProcessDefinition();
-        processDefinition.setId(66);
-        processDefinition.setName("test_pdf");
-        processDefinition.setProjectId(2);
-        processDefinition.setTenantId(1);
-        processDefinition.setDescription("");
-
-        return processDefinition;
-    }
-
-    /**
-     * get mock Project
-     *
-     * @param projectName projectName
-     * @return Project
-     */
-    private Project getProject(String projectName) {
-        Project project = new Project();
-        project.setId(1);
-        project.setName(projectName);
-        project.setUserId(1);
-        return project;
-    }
-
-    private void putMsg(Map<String, Object> result, Status status, Object... 
statusParams) {
-        result.put(Constants.STATUS, status);
-        if (statusParams != null && statusParams.length > 0) {
-            result.put(Constants.MSG, MessageFormat.format(status.getMsg(), 
statusParams));
-        } else {
-            result.put(Constants.MSG, status.getMsg());
-        }
-    }
-}
\ No newline at end of file
diff --git 
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/ProcessInstanceServiceTest.java
 
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/ProcessInstanceServiceTest.java
index 5051342..27650e3 100644
--- 
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/ProcessInstanceServiceTest.java
+++ 
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/ProcessInstanceServiceTest.java
@@ -93,9 +93,6 @@ public class ProcessInstanceServiceTest {
     ProcessDefinitionService processDefinitionService;
 
     @Mock
-    ProcessDefinitionVersionService processDefinitionVersionService;
-
-    @Mock
     TaskInstanceMapper taskInstanceMapper;
 
     @Mock
@@ -387,7 +384,6 @@ public class ProcessInstanceServiceTest {
         when(processService.getTenantForProcess(Mockito.anyInt(), 
Mockito.anyInt())).thenReturn(tenant);
         
when(processService.updateProcessInstance(processInstance)).thenReturn(1);
         when(processDefinitionService.checkProcessNodeList(Mockito.any(), 
eq(shellJson))).thenReturn(result);
-        
when(processDefinitionVersionService.addProcessDefinitionVersion(processDefinition)).thenReturn(1);
         Map<String, Object> processInstanceFinishRes = 
processInstanceService.updateProcessInstance(loginUser, projectName, 1,
                 shellJson, "2020-02-21 00:00:00", true, Flag.YES, "", "");
         Assert.assertEquals(Status.UPDATE_PROCESS_INSTANCE_ERROR, 
processInstanceFinishRes.get(Constants.STATUS));
diff --git 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/ProcessDefinitionLogMapper.java
 
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/ProcessDefinitionLogMapper.java
index c6d3a54..f41eb4d 100644
--- 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/ProcessDefinitionLogMapper.java
+++ 
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/ProcessDefinitionLogMapper.java
@@ -24,6 +24,8 @@ import org.apache.ibatis.annotations.Param;
 import java.util.List;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 
 /**
  * process definition log mapper interface
@@ -62,4 +64,23 @@ public interface ProcessDefinitionLogMapper extends 
BaseMapper<ProcessDefinition
      */
     ProcessDefinitionLog 
queryByDefinitionCodeAndVersion(@Param("processDefinitionCode") Long 
processDefinitionCode,
                                                          @Param("version") 
long version);
+    
+    /**
+     * query the paging process definition version list by pagination info
+     *
+     * @param page pagination info
+     * @param processDefinitionCode process definition code
+     * @return the paging process definition version list
+     */
+    IPage<ProcessDefinitionLog> 
queryProcessDefinitionVersionsPaging(Page<ProcessDefinitionLog> page,
+                                                                         
@Param("processDefinitionCode") Long processDefinitionCode);
+
+    /**
+     * delete the certain process definition version by process definition id 
and version number
+     *
+     * @param processDefinitionCode process definition code
+     * @param version version number
+     * @return delete result
+     */
+    int 
deleteByProcessDefinitionCodeAndVersion(@Param("processDefinitionCode") Long 
processDefinitionCode, @Param("version") long version);
 }
diff --git 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/ProcessDefinitionMapper.java
 
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/ProcessDefinitionMapper.java
index fb5cb79..eba6962 100644
--- 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/ProcessDefinitionMapper.java
+++ 
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/ProcessDefinitionMapper.java
@@ -19,6 +19,7 @@ package org.apache.dolphinscheduler.dao.mapper;
 
 import org.apache.dolphinscheduler.dao.entity.DefinitionGroupByUser;
 import org.apache.dolphinscheduler.dao.entity.ProcessDefinition;
+import org.apache.dolphinscheduler.dao.entity.ProcessDefinitionLog;
 
 import org.apache.ibatis.annotations.MapKey;
 import org.apache.ibatis.annotations.Param;
@@ -29,6 +30,7 @@ import java.util.Map;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 
 /**
  * process definition mapper interface
@@ -169,4 +171,15 @@ public interface ProcessDefinitionMapper extends 
BaseMapper<ProcessDefinition> {
      * @return project ids list
      */
     List<Integer> listProjectIds();
+
+
+    /**
+     * query the paging process definition version list by pagination info
+     *
+     * @param page pagination info
+     * @param processDefinitionCode process definition code
+     * @return the paging process definition version list
+     */
+    IPage<ProcessDefinitionLog> 
queryProcessDefinitionVersionsPaging(Page<ProcessDefinitionLog> page,
+                                                                         
@Param("processDefinitionCode") Long processDefinitionCode);
 }
diff --git 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/ProcessDefinitionVersionMapper.java
 
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/ProcessDefinitionVersionMapper.java
deleted file mode 100644
index 27efda4..0000000
--- 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/ProcessDefinitionVersionMapper.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * 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.dao.mapper;
-
-import org.apache.dolphinscheduler.dao.entity.ProcessDefinitionVersion;
-
-import org.apache.ibatis.annotations.Param;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-
-/**
- * process definition mapper interface
- */
-public interface ProcessDefinitionVersionMapper extends 
BaseMapper<ProcessDefinitionVersion> {
-
-    /**
-     * query max version by process definition id
-     *
-     * @param processDefinitionId process definition id
-     * @return the max version of this process definition id
-     */
-    Long queryMaxVersionByProcessDefinitionId(@Param("processDefinitionId") 
int processDefinitionId);
-
-    /**
-     * query the paging process definition version list by pagination info
-     *
-     * @param page pagination info
-     * @param processDefinitionId process definition id
-     * @return the paging process definition version list
-     */
-    IPage<ProcessDefinitionVersion> 
queryProcessDefinitionVersionsPaging(Page<ProcessDefinitionVersion> page,
-                                                                         
@Param("processDefinitionId") int processDefinitionId);
-
-    /**
-     * query the certain process definition version info by process definition 
id and version number
-     *
-     * @param processDefinitionId process definition id
-     * @param version version number
-     * @return the process definition version info
-     */
-    ProcessDefinitionVersion 
queryByProcessDefinitionIdAndVersion(@Param("processDefinitionId") int 
processDefinitionId, @Param("version") long version);
-
-    /**
-     * delete the certain process definition version by process definition id 
and version number
-     *
-     * @param processDefinitionId process definition id
-     * @param version version number
-     * @return delete result
-     */
-    int deleteByProcessDefinitionIdAndVersion(@Param("processDefinitionId") 
int processDefinitionId, @Param("version") long version);
-
-}
diff --git 
a/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/ProcessDefinitionLogMapper.xml
 
b/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/ProcessDefinitionLogMapper.xml
index 60108fb..436a668 100644
--- 
a/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/ProcessDefinitionLogMapper.xml
+++ 
b/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/ProcessDefinitionLogMapper.xml
@@ -56,4 +56,20 @@
         where code = #{processDefinitionCode}
 
     </select>
+
+    <select id="queryProcessDefinitionVersionsPaging"
+            
resultType="org.apache.dolphinscheduler.dao.entity.ProcessDefinitionLog">
+        select
+        <include refid="baseSql"/>
+        from t_ds_process_definition_log
+        where code = #{processDefinitionCode}
+        order by version desc
+    </select>
+
+    <delete id="deleteByProcessDefinitionCodeAndVersion">
+        delete
+        from t_ds_process_definition_log
+        where code = #{processDefinitionCode}
+          and version = #{version}
+    </delete>
 </mapper>
diff --git 
a/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/ProcessDefinitionVersionMapper.xml
 
b/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/ProcessDefinitionVersionMapper.xml
deleted file mode 100644
index ff20e23..0000000
--- 
a/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/ProcessDefinitionVersionMapper.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!--
-  ~ 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.
-  -->
-
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"; >
-<mapper 
namespace="org.apache.dolphinscheduler.dao.mapper.ProcessDefinitionVersionMapper">
-    <sql id="baseSql">
-        id
-        , process_definition_id, version, process_definition_json, 
description, global_params,locations,connects,
-        warning_group_id, create_time, timeout, resource_ids
-    </sql>
-    <select id="queryMaxVersionByProcessDefinitionId" 
resultType="java.lang.Long">
-        select max(version)
-        from t_ds_process_definition_version
-        where process_definition_id = #{processDefinitionId}
-    </select>
-
-    <select id="queryProcessDefinitionVersionsPaging"
-            
resultType="org.apache.dolphinscheduler.dao.entity.ProcessDefinitionVersion">
-        select
-        <include refid="baseSql"/>
-        from t_ds_process_definition_version
-        where process_definition_id = #{processDefinitionId}
-        order by version desc
-    </select>
-
-    <select id="queryByProcessDefinitionIdAndVersion"
-            
resultType="org.apache.dolphinscheduler.dao.entity.ProcessDefinitionVersion">
-        select
-        <include refid="baseSql"/>
-        from t_ds_process_definition_version
-        where process_definition_id = #{processDefinitionId}
-        and version = #{version}
-    </select>
-
-    <delete id="deleteByProcessDefinitionIdAndVersion">
-        delete
-        from t_ds_process_definition_version
-        where process_definition_id = #{processDefinitionId}
-          and version = #{version}
-    </delete>
-
-</mapper>
diff --git 
a/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/ProcessDefinitionVersionMapperTest.java
 
b/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/ProcessDefinitionVersionMapperTest.java
deleted file mode 100644
index 938e26d..0000000
--- 
a/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/ProcessDefinitionVersionMapperTest.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * 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.dao.mapper;
-
-import org.apache.dolphinscheduler.common.utils.StringUtils;
-import org.apache.dolphinscheduler.dao.entity.ProcessDefinitionVersion;
-
-import java.util.Date;
-
-import org.junit.Assert;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.test.annotation.Rollback;
-import org.springframework.test.context.junit4.SpringRunner;
-import org.springframework.transaction.annotation.Transactional;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-
-@RunWith(SpringRunner.class)
-@SpringBootTest
-@Transactional
-@Rollback(true)
-public class ProcessDefinitionVersionMapperTest {
-
-
-    @Autowired
-    ProcessDefinitionMapper processDefinitionMapper;
-
-    @Autowired
-    ProcessDefinitionVersionMapper processDefinitionVersionMapper;
-
-    @Autowired
-    UserMapper userMapper;
-
-    @Autowired
-    QueueMapper queueMapper;
-
-    @Autowired
-    TenantMapper tenantMapper;
-
-    @Autowired
-    ProjectMapper projectMapper;
-
-    /**
-     * insert
-     *
-     * @return ProcessDefinition
-     */
-    private ProcessDefinitionVersion insertOne() {
-        // insertOne
-        ProcessDefinitionVersion processDefinitionVersion
-                = new ProcessDefinitionVersion();
-        processDefinitionVersion.setProcessDefinitionId(66);
-        processDefinitionVersion.setVersion(10);
-        processDefinitionVersion.setProcessDefinitionJson(StringUtils.EMPTY);
-        processDefinitionVersion.setDescription(StringUtils.EMPTY);
-        processDefinitionVersion.setGlobalParams(StringUtils.EMPTY);
-        processDefinitionVersion.setCreateTime(new Date());
-        processDefinitionVersion.setLocations(StringUtils.EMPTY);
-        processDefinitionVersion.setConnects(StringUtils.EMPTY);
-        processDefinitionVersion.setTimeout(10);
-        processDefinitionVersion.setResourceIds("1,2");
-        processDefinitionVersionMapper.insert(processDefinitionVersion);
-        return processDefinitionVersion;
-    }
-
-    /**
-     * insert
-     *
-     * @return ProcessDefinitionVersion
-     */
-    private ProcessDefinitionVersion insertTwo() {
-        // insertTwo
-        ProcessDefinitionVersion processDefinitionVersion
-                = new ProcessDefinitionVersion();
-        processDefinitionVersion.setProcessDefinitionId(67);
-        processDefinitionVersion.setVersion(11);
-        processDefinitionVersion.setProcessDefinitionJson(StringUtils.EMPTY);
-        processDefinitionVersion.setDescription(StringUtils.EMPTY);
-        processDefinitionVersion.setGlobalParams(StringUtils.EMPTY);
-        processDefinitionVersion.setCreateTime(new Date());
-        processDefinitionVersion.setLocations(StringUtils.EMPTY);
-        processDefinitionVersion.setConnects(StringUtils.EMPTY);
-        processDefinitionVersion.setTimeout(10);
-        processDefinitionVersion.setResourceIds("1,2");
-        processDefinitionVersionMapper.insert(processDefinitionVersion);
-        return processDefinitionVersion;
-    }
-
-    /**
-     * test insert
-     */
-    @Test
-    public void testInsert() {
-        ProcessDefinitionVersion processDefinitionVersion = insertOne();
-        Assert.assertTrue(processDefinitionVersion.getId() > 0);
-    }
-
-    /**
-     * test query
-     */
-    @Test
-    public void testQueryMaxVersionByProcessDefinitionId() {
-        ProcessDefinitionVersion processDefinitionVersion = insertOne();
-
-        Long version = 
processDefinitionVersionMapper.queryMaxVersionByProcessDefinitionId(
-                processDefinitionVersion.getProcessDefinitionId());
-        // query
-        Assert.assertEquals(10, (long) version);
-    }
-
-    @Test
-    public void testQueryProcessDefinitionVersionsPaging() {
-        insertOne();
-        insertTwo();
-
-        Page<ProcessDefinitionVersion> page = new Page<>(1, 3);
-
-        IPage<ProcessDefinitionVersion> processDefinitionVersionIPage =
-                
processDefinitionVersionMapper.queryProcessDefinitionVersionsPaging(page, 10);
-
-        Assert.assertTrue(processDefinitionVersionIPage.getSize() >= 2);
-    }
-
-    @Test
-    public void testDeleteByProcessDefinitionIdAndVersion() {
-        ProcessDefinitionVersion processDefinitionVersion = insertOne();
-        int i = 
processDefinitionVersionMapper.deleteByProcessDefinitionIdAndVersion(
-                processDefinitionVersion.getProcessDefinitionId(), 
processDefinitionVersion.getVersion());
-        Assert.assertEquals(1, i);
-    }
-
-    @Test
-    public void testQueryByProcessDefinitionIdAndVersion() {
-        ProcessDefinitionVersion processDefinitionVersion1 = insertOne();
-        ProcessDefinitionVersion processDefinitionVersion3 = 
processDefinitionVersionMapper.queryByProcessDefinitionIdAndVersion(
-                processDefinitionVersion1.getProcessDefinitionId(), 10);
-
-        ProcessDefinitionVersion processDefinitionVersion2 = insertTwo();
-        ProcessDefinitionVersion processDefinitionVersion4 = 
processDefinitionVersionMapper.queryByProcessDefinitionIdAndVersion(
-                processDefinitionVersion2.getProcessDefinitionId(), 11);
-
-        Assert.assertEquals(processDefinitionVersion1.getProcessDefinitionId(),
-                processDefinitionVersion3.getProcessDefinitionId());
-        Assert.assertEquals(processDefinitionVersion2.getProcessDefinitionId(),
-                processDefinitionVersion4.getProcessDefinitionId());
-
-    }
-
-}
\ No newline at end of file

Reply via email to