You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dolphinscheduler.apache.org by le...@apache.org on 2021/01/22 07:27:35 UTC

[incubator-dolphinscheduler] branch json_split updated: [Feature][JsonSplit] Add Project code (#4509)

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 0055ef4  [Feature][JsonSplit] Add Project code  (#4509)
0055ef4 is described below

commit 0055ef4413410ba059805f81859c48e98ff52c8e
Author: Simon <zh...@cvte.com>
AuthorDate: Fri Jan 22 01:27:26 2021 -0600

    [Feature][JsonSplit] Add Project code  (#4509)
    
    * modify ProcessDefinition and add ProcessDefinitionLog
    
    * processDefinitionJson
    
    * code style
    
    * code style
    
    * code style
    
    * Add Project code
    
    * codeStyle
    
    * conflicts
    
    * conflicts
---
 .../api/service/impl/ProjectServiceImpl.java       |  8 +++++
 .../dolphinscheduler/dao/entity/Project.java       | 42 +++++++++++++++++-----
 .../dolphinscheduler/dao/mapper/ProjectMapper.xml  |  6 ++--
 3 files changed, 44 insertions(+), 12 deletions(-)

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 06b8eac..acf5f0a 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
@@ -24,6 +24,8 @@ import org.apache.dolphinscheduler.api.service.ProjectService;
 import org.apache.dolphinscheduler.api.utils.PageInfo;
 import org.apache.dolphinscheduler.common.Constants;
 import org.apache.dolphinscheduler.common.enums.UserType;
+import org.apache.dolphinscheduler.common.utils.SnowFlakeUtils;
+import org.apache.dolphinscheduler.common.utils.SnowFlakeUtils.SnowFlakeException;
 import org.apache.dolphinscheduler.dao.entity.ProcessDefinition;
 import org.apache.dolphinscheduler.dao.entity.Project;
 import org.apache.dolphinscheduler.dao.entity.ProjectUser;
@@ -85,15 +87,21 @@ public class ProjectServiceImpl extends BaseService implements ProjectService {
 
         Date now = new Date();
 
+        try {
         project = Project
                 .newBuilder()
                 .name(name)
+                .code(SnowFlakeUtils.getInstance().nextId())
                 .description(desc)
                 .userId(loginUser.getId())
                 .userName(loginUser.getUserName())
                 .createTime(now)
                 .updateTime(now)
                 .build();
+        } catch (SnowFlakeException e) {
+            putMsg(result, Status.CREATE_PROCESS_DEFINITION);
+            return result;
+        }
 
         if (projectMapper.insert(project) > 0) {
             Project insertedProject = projectMapper.queryByName(name);
diff --git a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/Project.java b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/Project.java
index 6726aa7..ad173b8 100644
--- a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/Project.java
+++ b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/entity/Project.java
@@ -48,6 +48,11 @@ public class Project {
     private String userName;
 
     /**
+     * project code
+     */
+    private Long code;
+
+    /**
      * project name
      */
     private String name;
@@ -85,6 +90,14 @@ public class Project {
     @TableField(exist = false)
     private int instRunningCount;
 
+    public Long getCode() {
+        return code;
+    }
+
+    public void setCode(Long code) {
+        this.code = code;
+    }
+
     public int getDefCount() {
         return defCount;
     }
@@ -167,15 +180,19 @@ public class Project {
 
     @Override
     public String toString() {
-        return "Project{" +
-                "id=" + id +
-                ", userId=" + userId +
-                ", userName='" + userName + '\'' +
-                ", name='" + name + '\'' +
-                ", description='" + description + '\'' +
-                ", createTime=" + createTime +
-                ", updateTime=" + updateTime +
-                '}';
+        return "Project{"
+                + "id=" + id
+                + ", userId=" + userId
+                + ", userName='" + userName + '\''
+                + ", code=" + code
+                + ", name='" + name + '\''
+                + ", description='" + description + '\''
+                + ", createTime=" + createTime
+                + ", updateTime=" + updateTime
+                + ", perm=" + perm
+                + ", defCount=" + defCount
+                + ", instRunningCount=" + instRunningCount
+                + '}';
     }
 
     @Override
@@ -211,6 +228,7 @@ public class Project {
         private int id;
         private int userId;
         private String userName;
+        private Long code;
         private String name;
         private String description;
         private Date createTime;
@@ -222,6 +240,11 @@ public class Project {
         private Builder() {
         }
 
+        public Builder code(Long code) {
+            this.code = code;
+            return this;
+        }
+
         public Builder id(int id) {
             this.id = id;
             return this;
@@ -276,6 +299,7 @@ public class Project {
             Project project = new Project();
             project.setId(id);
             project.setUserId(userId);
+            project.setCode(code);
             project.setUserName(userName);
             project.setName(name);
             project.setDescription(description);
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 a6d72d0..9def02d 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
@@ -20,10 +20,10 @@
 <mapper namespace="org.apache.dolphinscheduler.dao.mapper.ProjectMapper">
     <sql id="baseSql">
 
-        id, name, description, user_id, flag, create_time, update_time
+        id, name, code, description, user_id, flag, create_time, update_time
     </sql>
     <sql id="baseSqlV2">
-        ${alias}.id, ${alias}.name, ${alias}.description, ${alias}.user_id, ${alias}.flag, ${alias}.create_time, ${alias}.update_time
+        ${alias}.id, ${alias}.name, ${alias}.code, ${alias}.description, ${alias}.user_id, ${alias}.flag, ${alias}.create_time, ${alias}.update_time
     </sql>
     <select id="queryDetailById" resultType="org.apache.dolphinscheduler.dao.entity.Project">
         select
@@ -109,4 +109,4 @@
         join t_ds_user u on dp.user_id = u.id
         where di.id = #{processInstanceId};
     </select>
-</mapper>
+</mapper>
\ No newline at end of file