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

leonbao 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 d99934d  [Feature][JsonSplit] Fix api bug (#5102)
d99934d is described below

commit d99934d0da8d6d13b9a7a2d2d963f94e1399e678
Author: JinyLeeChina <[email protected]>
AuthorDate: Tue Mar 23 10:44:25 2021 +0800

    [Feature][JsonSplit] Fix api bug (#5102)
    
    * modify checkDAGRing and ProcessService method
    
    * merge
    
    * modify dagRing
    
    * modify process instance for project home page
    
    * fix save process bug
    
    * codeStyle
    
    * Fix logical bug in saving process definition
    
    * codeSytle
    
    * Fix bug in interface of  queryProcessDefinitionList
    
    * codeSytle
    
    * Fix api bug"
    
    Co-authored-by: JinyLeeChina <[email protected]>
---
 .../api/service/impl/DataAnalysisServiceImpl.java  | 38 ++++++++++++----------
 .../service/impl/ProcessInstanceServiceImpl.java   |  6 ++--
 .../api/service/impl/ProjectServiceImpl.java       |  2 +-
 .../service/impl/TaskDefinitionServiceImpl.java    | 22 ++-----------
 .../api/service/impl/UsersServiceImpl.java         |  4 +--
 .../api/service/ProjectServiceTest.java            |  2 +-
 .../api/service/UsersServiceTest.java              |  2 +-
 .../dolphinscheduler/common/model/TaskNode.java    | 15 ---------
 .../dolphinscheduler/dao/entity/ProjectUser.java   | 14 +-------
 .../dolphinscheduler/dao/mapper/ProjectMapper.java |  7 ++++
 .../dao/mapper/ProjectUserMapper.java              | 14 +++++---
 .../dao/mapper/ErrorCommandMapper.xml              |  2 +-
 .../dolphinscheduler/dao/mapper/ProjectMapper.xml  | 29 ++++++++++++-----
 .../dao/mapper/ProjectUserMapper.xml               |  8 ++---
 .../dao/mapper/ProjectUserMapperTest.java          |  5 ++-
 .../service/process/ProcessService.java            |  6 ++--
 sql/dolphinscheduler_mysql.sql                     |  2 +-
 17 files changed, 80 insertions(+), 98 deletions(-)

diff --git 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/DataAnalysisServiceImpl.java
 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/DataAnalysisServiceImpl.java
index c4a8118..a867dea 100644
--- 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/DataAnalysisServiceImpl.java
+++ 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/DataAnalysisServiceImpl.java
@@ -43,13 +43,14 @@ import org.apache.dolphinscheduler.dao.mapper.ProjectMapper;
 import org.apache.dolphinscheduler.dao.mapper.TaskInstanceMapper;
 import org.apache.dolphinscheduler.service.process.ProcessService;
 
-import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Date;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
+import java.util.Set;
 import java.util.stream.Collectors;
 
 import org.springframework.beans.factory.annotation.Autowired;
@@ -148,8 +149,8 @@ public class DataAnalysisServiceImpl extends 
BaseServiceImpl implements DataAnal
             }
         }
 
-        Project project = projectMapper.selectById(projectId);
-        Long[] projectCodeArray = getProjectCodesArrays(loginUser, 
project.getCode());
+        Long[] projectCodeArray = projectId == 0 ? 
getProjectCodesArrays(loginUser)
+                : new Long[] { projectMapper.selectById(projectId).getCode() };
         List<ExecuteStatusCount> processInstanceStateCounts =
                 instanceStateCounter.apply(start, end, projectCodeArray);
 
@@ -172,9 +173,12 @@ public class DataAnalysisServiceImpl extends 
BaseServiceImpl implements DataAnal
     @Override
     public Map<String, Object> countDefinitionByUser(User loginUser, int 
projectId) {
         Map<String, Object> result = new HashMap<>();
-
-        Project project = projectMapper.selectById(projectId);
-        Long[] projectCodeArray = getProjectCodesArrays(loginUser, 
project.getCode());
+        boolean checkProject = checkProject(loginUser, projectId, result);
+        if (!checkProject) {
+            return result;
+        }
+        Long[] projectCodeArray = projectId == 0 ? 
getProjectCodesArrays(loginUser)
+                : new Long[] { projectMapper.selectById(projectId).getCode() };
         List<DefinitionGroupByUser> defineGroupByUsers = 
processDefinitionMapper.countDefinitionGroupByUser(
                 loginUser.getId(), projectCodeArray, isAdmin(loginUser));
 
@@ -203,8 +207,6 @@ public class DataAnalysisServiceImpl extends 
BaseServiceImpl implements DataAnal
             return result;
         }
 
-        Project project = projectMapper.selectById(projectId);
-
         /**
          * find all the task lists in the project under the user
          * statistics based on task status execution, failure, completion, 
wait, total
@@ -226,7 +228,8 @@ public class DataAnalysisServiceImpl extends 
BaseServiceImpl implements DataAnal
             }
         }
 
-        Long[] projectCodeArray = getProjectCodesArrays(loginUser, 
project.getCode());
+        Long[] projectCodeArray = projectId == 0 ? 
getProjectCodesArrays(loginUser)
+                : new Long[] { projectMapper.selectById(projectId).getCode() };
         // count normal command state
         Map<CommandType, Integer> normalCountCommandCounts = 
commandMapper.countCommandState(loginUser.getId(), start, end, projectCodeArray)
                 .stream()
@@ -249,15 +252,14 @@ public class DataAnalysisServiceImpl extends 
BaseServiceImpl implements DataAnal
         return result;
     }
 
-    private Long[] getProjectCodesArrays(User loginUser, Long projectCode) {
-        List<Long> projectCodes = new ArrayList<>();
-        if (projectCode != 0) {
-            projectCodes.add(projectCode);
-        } else if (loginUser.getUserType() == UserType.GENERAL_USER) {
-            projectCodes = 
processService.getProjectIdListHavePerm(loginUser.getId());
-            if (projectCodes.isEmpty()) {
-                projectCodes.add(0L);
-            }
+    private Long[] getProjectCodesArrays(User loginUser) {
+        List<Project> projectList = 
projectMapper.queryRelationProjectListByUserId(
+                loginUser.getUserType() == UserType.ADMIN_USER ? 0 : 
loginUser.getId());
+        Set<Long> projectCodes = new HashSet<>();
+        projectList.forEach(project -> projectCodes.add(project.getCode()));
+        if (loginUser.getUserType() == UserType.GENERAL_USER) {
+            List<Project> createProjects = 
projectMapper.queryProjectCreatedByUser(loginUser.getId());
+            createProjects.forEach(project -> 
projectCodes.add(project.getCode()));
         }
         return projectCodes.toArray(new Long[0]);
     }
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 95e3f5c..e2f4320 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
@@ -259,9 +259,9 @@ public class ProcessInstanceServiceImpl extends 
BaseServiceImpl implements Proce
 
         ProcessDefinition processDefinition = 
processDefineMapper.queryByDefineId(processDefineId);
 
-        IPage<ProcessInstance> processInstanceList =
-                processInstanceMapper.queryProcessInstanceListPaging(page,
-                        project.getCode(), processDefinition.getCode(), 
searchVal, executorId, statusArray, host, start, end);
+        IPage<ProcessInstance> processInstanceList = 
processInstanceMapper.queryProcessInstanceListPaging(page,
+                        project.getCode(), processDefinition == null ? 0L : 
processDefinition.getCode(), searchVal,
+                        executorId, statusArray, host, start, end);
 
         List<ProcessInstance> processInstances = 
processInstanceList.getRecords();
 
diff --git 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProjectServiceImpl.java
 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProjectServiceImpl.java
index a484e58..09d0a36 100644
--- 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProjectServiceImpl.java
+++ 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProjectServiceImpl.java
@@ -444,7 +444,7 @@ public class ProjectServiceImpl extends BaseServiceImpl 
implements ProjectServic
             return Constants.ALL_PERMISSIONS;
         }
 
-        ProjectUser projectUser = 
projectUserMapper.queryProjectRelation(project.getCode(), user.getId());
+        ProjectUser projectUser = 
projectUserMapper.queryProjectRelation(project.getId(), user.getId());
 
         if (projectUser == null) {
             return 0;
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 c1da442..885a17a 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
@@ -271,25 +271,9 @@ public class TaskDefinitionServiceImpl extends 
BaseServiceImpl implements TaskDe
             return result;
         }
         TaskDefinitionLog taskDefinitionLog = 
taskDefinitionLogMapper.queryByDefinitionCodeAndVersion(taskCode, version);
-        taskDefinition.setVersion(version);
-        taskDefinition.setCode(taskCode);
-        taskDefinition.setName(taskDefinitionLog.getName());
-        taskDefinition.setDescription(taskDefinitionLog.getDescription());
-        taskDefinition.setProjectCode(taskDefinitionLog.getProjectCode());
-        taskDefinition.setUserId(loginUser.getId());
-        taskDefinition.setTaskType(taskDefinitionLog.getTaskType());
-        taskDefinition.setTaskParams(taskDefinitionLog.getTaskParams());
-        taskDefinition.setFlag(taskDefinitionLog.getFlag());
-        taskDefinition.setTaskPriority(taskDefinitionLog.getTaskPriority());
-        taskDefinition.setWorkerGroup(taskDefinitionLog.getWorkerGroup());
-        
taskDefinition.setFailRetryTimes(taskDefinitionLog.getFailRetryTimes());
-        
taskDefinition.setFailRetryInterval(taskDefinitionLog.getFailRetryInterval());
-        taskDefinition.setTimeoutFlag(taskDefinitionLog.getTimeoutFlag());
-        
taskDefinition.setTimeoutNotifyStrategy(taskDefinitionLog.getTimeoutNotifyStrategy());
-        taskDefinition.setTimeout(taskDefinitionLog.getTimeout());
-        taskDefinition.setUpdateTime(new Date());
-        taskDefinition.setResourceIds(taskDefinitionLog.getResourceIds());
-        taskDefinitionMapper.updateById(taskDefinition);
+        taskDefinitionLog.setUserId(loginUser.getId());
+        taskDefinitionLog.setUpdateTime(new Date());
+        taskDefinitionMapper.updateById(taskDefinitionLog);
         result.put(Constants.DATA_LIST, taskCode);
         putMsg(result, Status.SUCCESS);
         return result;
diff --git 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/UsersServiceImpl.java
 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/UsersServiceImpl.java
index 00cb720..869cfaf 100644
--- 
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/UsersServiceImpl.java
+++ 
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/UsersServiceImpl.java
@@ -525,10 +525,10 @@ public class UsersServiceImpl extends BaseServiceImpl 
implements UsersService {
             putMsg(result, Status.USER_NOT_EXIST, userId);
             return result;
         }
-        //if the selected projectIds are empty, delete all items associated 
with the user
-        projectUserMapper.deleteProjectRelation(0L, userId);
 
+        //if the selected projectIds are empty, delete all items associated 
with the user
         if (check(result, StringUtils.isEmpty(projectIds), Status.SUCCESS)) {
+            projectUserMapper.deleteProjectRelation(0, userId);
             return result;
         }
 
diff --git 
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/ProjectServiceTest.java
 
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/ProjectServiceTest.java
index f227cc0..857c52a 100644
--- 
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/ProjectServiceTest.java
+++ 
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/ProjectServiceTest.java
@@ -116,7 +116,7 @@ public class ProjectServiceTest {
     @Test
     public void testCheckProjectAndAuth() {
 
-        Mockito.when(projectUserMapper.queryProjectRelation(1L, 
1)).thenReturn(getProjectUser());
+        Mockito.when(projectUserMapper.queryProjectRelation(1, 
1)).thenReturn(getProjectUser());
         User loginUser = getLoginUser();
 
         Map<String, Object> result = 
projectService.checkProjectAndAuth(loginUser, null, projectName);
diff --git 
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/UsersServiceTest.java
 
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/UsersServiceTest.java
index bba368b..e8707fc 100644
--- 
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/UsersServiceTest.java
+++ 
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/UsersServiceTest.java
@@ -305,7 +305,7 @@ public class UsersServiceTest {
         logger.info(result.toString());
         Assert.assertEquals(Status.USER_NOT_EXIST, 
result.get(Constants.STATUS));
         //success
-        when(projectUserMapper.deleteProjectRelation(Mockito.anyLong(), 
Mockito.anyInt())).thenReturn(1);
+        when(projectUserMapper.deleteProjectRelation(Mockito.anyInt(), 
Mockito.anyInt())).thenReturn(1);
         result = usersService.grantProject(loginUser, 1, projectIds);
         logger.info(result.toString());
         Assert.assertEquals(Status.SUCCESS, result.get(Constants.STATUS));
diff --git 
a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/model/TaskNode.java
 
b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/model/TaskNode.java
index 1e338d9..60be33b 100644
--- 
a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/model/TaskNode.java
+++ 
b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/model/TaskNode.java
@@ -138,12 +138,6 @@ public class TaskNode {
     private String workerGroup;
 
     /**
-     * worker group id
-     */
-    private Integer workerGroupId;
-
-
-    /**
      * task time out
      */
     @JsonDeserialize(using = JSONUtils.JsonDataDeserializer.class)
@@ -325,14 +319,6 @@ public class TaskNode {
         this.conditionResult = conditionResult;
     }
 
-    public Integer getWorkerGroupId() {
-        return workerGroupId;
-    }
-
-    public void setWorkerGroupId(Integer workerGroupId) {
-        this.workerGroupId = workerGroupId;
-    }
-
     public int getDelayTime() {
         return delayTime;
     }
@@ -405,7 +391,6 @@ public class TaskNode {
                 + ", conditionResult='" + conditionResult + '\''
                 + ", taskInstancePriority=" + taskInstancePriority
                 + ", workerGroup='" + workerGroup + '\''
-                + ", workerGroupId=" + workerGroupId
                 + ", timeout='" + timeout + '\''
                 + ", delayTime=" + delayTime
                 + '}';
diff --git 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/ProjectUser.java
 
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/ProjectUser.java
index e541ac0..37722f3 100644
--- 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/ProjectUser.java
+++ 
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/ProjectUser.java
@@ -34,12 +34,9 @@ public class ProjectUser {
     @TableField("user_id")
     private int userId;
 
-    @TableField(exist = false)
+    @TableField("project_id")
     private int projectId;
 
-    @TableField("project_code")
-    private long projectCode;
-
     /**
      * project name
      */
@@ -63,14 +60,6 @@ public class ProjectUser {
     @TableField("update_time")
     private Date updateTime;
 
-    public long getProjectCode() {
-        return projectCode;
-    }
-
-    public void setProjectCode(long projectCode) {
-        this.projectCode = projectCode;
-    }
-
     public int getId() {
         return id;
     }
@@ -141,7 +130,6 @@ public class ProjectUser {
                + "id=" + id
                + ", userId=" + userId
                + ", projectId=" + projectId
-               + ", projectCode=" + projectCode
                + ", projectName='" + projectName + '\''
                + ", userName='" + userName + '\''
                + ", perm=" + perm
diff --git 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/ProjectMapper.java
 
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/ProjectMapper.java
index ffc45a2..ad4cdb9 100644
--- 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/ProjectMapper.java
+++ 
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/ProjectMapper.java
@@ -86,6 +86,13 @@ public interface ProjectMapper extends BaseMapper<Project> {
     List<Project> queryAuthedProjectListByUserId(@Param("userId") int userId);
 
     /**
+     * query relation project list by userId
+     * @param userId userId
+     * @return project list
+     */
+    List<Project> queryRelationProjectListByUserId(@Param("userId") int 
userId);
+
+    /**
      * query project except userId
      * @param userId userId
      * @return project list
diff --git 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/ProjectUserMapper.java
 
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/ProjectUserMapper.java
index f842eb3..b694721 100644
--- 
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/ProjectUserMapper.java
+++ 
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/ProjectUserMapper.java
@@ -17,9 +17,11 @@
 package org.apache.dolphinscheduler.dao.mapper;
 
 import org.apache.dolphinscheduler.dao.entity.ProjectUser;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
 import org.apache.ibatis.annotations.Param;
 
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
 /**
  * project user mapper interface
  */
@@ -27,19 +29,21 @@ public interface ProjectUserMapper extends 
BaseMapper<ProjectUser> {
 
     /**
      * delte prject user relation
-     * @param projectCode projectCode
+     *
+     * @param projectId projectId
      * @param userId userId
      * @return delete result
      */
-    int deleteProjectRelation(@Param("projectCode") Long projectCode,
+    int deleteProjectRelation(@Param("projectId") int projectId,
                               @Param("userId") int userId);
 
     /**
      * query project relation
-     * @param projectCode projectCode
+     *
+     * @param projectId projectId
      * @param userId userId
      * @return project user relation
      */
-    ProjectUser queryProjectRelation(@Param("projectCode") Long projectCode,
+    ProjectUser queryProjectRelation(@Param("projectId") int projectId,
                                      @Param("userId") int userId);
 }
diff --git 
a/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/ErrorCommandMapper.xml
 
b/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/ErrorCommandMapper.xml
index 0865e96..5f93854 100644
--- 
a/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/ErrorCommandMapper.xml
+++ 
b/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/ErrorCommandMapper.xml
@@ -29,7 +29,7 @@
             </foreach>
         </if>
         <if test="startTime != null and endTime != null">
-            and cmd.startTime <![CDATA[ >= ]]> #{startTime} and 
cmd.update_time <![CDATA[ <= ]]> #{endTime}
+            and cmd.start_time <![CDATA[ >= ]]> #{startTime} and 
cmd.update_time <![CDATA[ <= ]]> #{endTime}
         </if>
         group by cmd.command_type
     </select>
diff --git 
a/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/ProjectMapper.xml
 
b/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/ProjectMapper.xml
index 0469587..04db7ab 100644
--- 
a/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/ProjectMapper.xml
+++ 
b/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/ProjectMapper.xml
@@ -19,7 +19,6 @@
 <!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.ProjectMapper">
     <sql id="baseSql">
-
         id, name, code, description, user_id, flag, create_time, update_time
     </sql>
     <sql id="baseSqlV2">
@@ -83,9 +82,9 @@
         join t_ds_user u on u.id=p.user_id
         where 1=1
         <if test="userId != 0">
-            and p.code in
-            (select project_code from t_ds_relation_project_user where 
user_id=#{userId}
-            union select id as project_code from t_ds_project where 
user_id=#{userId}
+            and p.id in
+            (select project_id from t_ds_relation_project_user where 
user_id=#{userId}
+            union select id as project_id from t_ds_project where 
user_id=#{userId}
             )
         </if>
         <if test="searchName!=null and searchName != ''">
@@ -101,6 +100,18 @@
         from t_ds_project p,t_ds_relation_project_user rel
         where p.id = rel.project_id and rel.user_id= #{userId}
     </select>
+    <select id="queryRelationProjectListByUserId" 
resultType="org.apache.dolphinscheduler.dao.entity.Project">
+        select
+        <include refid="baseSqlV2">
+            <property name="alias" value="p"/>
+        </include>
+        from t_ds_project p left join t_ds_relation_project_user rel
+        on p.id = rel.project_id
+        where 1=1
+        <if test="userId != 0 ">
+            and rel.user_id= #{userId}
+        </if>
+    </select>
     <select id="queryProjectExceptUserId" 
resultType="org.apache.dolphinscheduler.dao.entity.Project">
         select
         <include refid="baseSql"/>
@@ -114,16 +125,18 @@
         where user_id = #{userId}
     </select>
     <select id="queryProjectCreatedAndAuthorizedByUserId" 
resultType="org.apache.dolphinscheduler.dao.entity.Project">
-        select * from t_ds_project where id in
+        select
+        <include refid="baseSql"/>
+        from t_ds_project where id in
            (select project_id from t_ds_relation_project_user  where 
user_id=#{userId}
              union select id as project_id  from t_ds_project where 
user_id=#{userId})
     </select>
 
     <select id="queryProjectWithUserByProcessInstanceId" 
resultType="org.apache.dolphinscheduler.dao.entity.ProjectUser">
         select
-            dp.code projectCode,
-            dp.name projectName,
-            u.user_name userName
+            dp.id project_id,
+            dp.name project_name,
+            u.user_name user_name
         from t_ds_process_instance di
         join t_ds_process_definition dpd on di.process_definition_code = 
dpd.code
         join t_ds_project dp on dpd.project_code = dp.code
diff --git 
a/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/ProjectUserMapper.xml
 
b/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/ProjectUserMapper.xml
index 8b3442c..de74d64 100644
--- 
a/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/ProjectUserMapper.xml
+++ 
b/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/ProjectUserMapper.xml
@@ -19,21 +19,21 @@
 <!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.ProjectUserMapper">
     <sql id="baseSql">
-        id, user_id, project_code, perm, create_time, update_time
+        id, user_id, project_id, perm, create_time, update_time
     </sql>
     <delete id="deleteProjectRelation">
         delete from t_ds_relation_project_user
         where 1=1
         and user_id = #{userId}
-        <if test="projectCode != 0 ">
-            and project_code = #{projectCode}
+        <if test="projectId != 0 ">
+            and project_id = #{projectId}
         </if>
     </delete>
     <select id="queryProjectRelation" 
resultType="org.apache.dolphinscheduler.dao.entity.ProjectUser">
         select
         <include refid="baseSql"/>
         from t_ds_relation_project_user
-        where project_code = #{projectCode}
+        where project_id = #{projectId}
         and user_id = #{userId}
         limit 1
     </select>
diff --git 
a/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/ProjectUserMapperTest.java
 
b/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/ProjectUserMapperTest.java
index a5910f7..e8eff87 100644
--- 
a/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/ProjectUserMapperTest.java
+++ 
b/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/ProjectUserMapperTest.java
@@ -52,7 +52,6 @@ public class ProjectUserMapperTest {
     private ProjectUser insertOne(){
         //insertOne
         ProjectUser projectUser = new ProjectUser();
-        projectUser.setProjectCode(1010L);
         projectUser.setProjectId(1010);
         projectUser.setUserId(111);
         projectUserMapper.insert(projectUser);
@@ -101,7 +100,7 @@ public class ProjectUserMapperTest {
 
 
         ProjectUser projectUser = insertOne();
-        int delete = 
projectUserMapper.deleteProjectRelation(projectUser.getProjectCode(), 
projectUser.getUserId());
+        int delete = 
projectUserMapper.deleteProjectRelation(projectUser.getProjectId(), 
projectUser.getUserId());
         assertThat(delete,greaterThanOrEqualTo(1));
 
     }
@@ -112,7 +111,7 @@ public class ProjectUserMapperTest {
     @Test
     public void testQueryProjectRelation() {
         ProjectUser projectUser = insertOne();
-        ProjectUser projectUser1 = 
projectUserMapper.queryProjectRelation(projectUser.getProjectCode(), 
projectUser.getUserId());
+        ProjectUser projectUser1 = 
projectUserMapper.queryProjectRelation(projectUser.getProjectId(), 
projectUser.getUserId());
         Assert.assertNotEquals(projectUser1, null);
 
     }
diff --git 
a/dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/process/ProcessService.java
 
b/dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/process/ProcessService.java
index 5a12c6e..a1f5eca 100644
--- 
a/dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/process/ProcessService.java
+++ 
b/dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/process/ProcessService.java
@@ -2222,7 +2222,6 @@ public class ProcessService {
      * update task definition
      */
     public int updateTaskDefinition(User operator, Long projectCode, TaskNode 
taskNode, TaskDefinition taskDefinition) {
-
         Integer version = 
taskDefinitionLogMapper.queryMaxVersionForDefinition(taskDefinition.getCode());
         Date now = new Date();
         taskDefinition.setProjectCode(projectCode);
@@ -2243,7 +2242,7 @@ public class ProcessService {
         taskDefinition.setName(taskNode.getName());
         taskDefinition.setDescription(taskNode.getDesc());
         taskDefinition.setTaskType(TaskType.of(taskNode.getType()));
-        taskDefinition.setTaskParams(taskNode.getParams());
+        taskDefinition.setTaskParams(TaskType.of(taskNode.getType()) == 
TaskType.DEPENDENT ? taskNode.getDependence() : taskNode.getParams());
         taskDefinition.setFlag(taskNode.isForbidden() ? Flag.NO : Flag.YES);
         taskDefinition.setTaskPriority(taskNode.getTaskInstancePriority());
         taskDefinition.setWorkerGroup(taskNode.getWorkerGroup());
@@ -2508,7 +2507,8 @@ public class ProcessService {
             v.setRunFlag(taskDefinitionLog.getFlag() == Flag.YES ? 
Constants.FLOWNODE_RUN_FLAG_NORMAL : Constants.FLOWNODE_RUN_FLAG_FORBIDDEN);
             v.setMaxRetryTimes(taskDefinitionLog.getFailRetryTimes());
             v.setRetryInterval(taskDefinitionLog.getFailRetryInterval());
-            v.setParams(taskDefinitionLog.getTaskParams());
+            v.setParams(taskDefinitionLog.getTaskType() == TaskType.DEPENDENT 
? "" : taskDefinitionLog.getTaskParams());
+            v.setDependence(taskDefinitionLog.getTaskType() == 
TaskType.DEPENDENT ? taskDefinitionLog.getTaskParams() : "");
             v.setTaskInstancePriority(taskDefinitionLog.getTaskPriority());
             v.setWorkerGroup(taskDefinitionLog.getWorkerGroup());
             v.setTimeout(JSONUtils.toJsonString(new 
TaskTimeoutParameter(taskDefinitionLog.getTimeoutFlag() == TimeoutFlag.OPEN,
diff --git a/sql/dolphinscheduler_mysql.sql b/sql/dolphinscheduler_mysql.sql
index 8158b54..419e90b 100644
--- a/sql/dolphinscheduler_mysql.sql
+++ b/sql/dolphinscheduler_mysql.sql
@@ -696,7 +696,7 @@ DROP TABLE IF EXISTS `t_ds_relation_project_user`;
 CREATE TABLE `t_ds_relation_project_user` (
   `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'key',
   `user_id` int(11) NOT NULL COMMENT 'user id',
-  `project_code` bigint(20) DEFAULT NULL COMMENT 'project code',
+  `project_id` int(11) DEFAULT NULL COMMENT 'project id',
   `perm` int(11) DEFAULT '1' COMMENT 'limits of authority',
   `create_time` datetime DEFAULT NULL COMMENT 'create time',
   `update_time` datetime DEFAULT NULL COMMENT 'update time',

Reply via email to