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

benjobs pushed a commit to branch dev-2.1.4
in repository https://gitbox.apache.org/repos/asf/incubator-streampark.git


The following commit(s) were added to refs/heads/dev-2.1.4 by this push:
     new f1f3ebeea [Improve] add project improvements
f1f3ebeea is described below

commit f1f3ebeea6f28aa6d5aea1cfd2eac662856d0f78
Author: benjobs <[email protected]>
AuthorDate: Mon Apr 1 17:24:11 2024 +0800

    [Improve] add project improvements
---
 .../core/service/impl/ProjectServiceImpl.java      | 29 ++++++++++------------
 1 file changed, 13 insertions(+), 16 deletions(-)

diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ProjectServiceImpl.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ProjectServiceImpl.java
index 9ad70cec7..d749e062b 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ProjectServiceImpl.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ProjectServiceImpl.java
@@ -31,6 +31,7 @@ import 
org.apache.streampark.console.base.mybatis.pager.MybatisPager;
 import org.apache.streampark.console.base.util.CommonUtils;
 import org.apache.streampark.console.base.util.FileUtils;
 import org.apache.streampark.console.base.util.GZipUtils;
+import org.apache.streampark.console.base.util.ObjectUtils;
 import org.apache.streampark.console.core.entity.Application;
 import org.apache.streampark.console.core.entity.Project;
 import org.apache.streampark.console.core.enums.BuildState;
@@ -95,22 +96,18 @@ public class ProjectServiceImpl extends 
ServiceImpl<ProjectMapper, Project>
 
   @Override
   public RestResponse create(Project project) {
-    LambdaQueryWrapper<Project> queryWrapper =
-        new LambdaQueryWrapper<Project>().eq(Project::getName, 
project.getName());
-    long count = count(queryWrapper);
     RestResponse response = RestResponse.success();
-    if (count == 0) {
-      Date date = new Date();
-      project.setCreateTime(date);
-      project.setModifyTime(date);
-      boolean status = save(project);
-      if (status) {
-        return response.message("Add project successfully").data(true);
-      } else {
-        return response.message("Add project failed").data(false);
-      }
+    project.setId(null);
+    ApiAlertException.throwIfTrue(
+        checkExists(project), "project name already exists, add project 
failed");
+    Date date = new Date();
+    project.setCreateTime(date);
+    project.setModifyTime(date);
+    boolean status = save(project);
+    if (status) {
+      return response.message("Add project successfully").data(true);
     } else {
-      throw new ApiAlertException("project name already exists,add project 
failed");
+      return response.message("Add project failed").data(false);
     }
   }
 
@@ -121,7 +118,7 @@ public class ProjectServiceImpl extends 
ServiceImpl<ProjectMapper, Project>
     Utils.notNull(project);
     ApiAlertException.throwIfFalse(
         project.getTeamId().equals(projectParam.getTeamId()),
-        "TeamId can't be changed, update project failed.");
+        "Team can't be changed, update project failed.");
     ApiAlertException.throwIfFalse(
         !project.getBuildState().equals(BuildState.BUILDING.get()),
         "The project is being built, update project failed.");
@@ -291,7 +288,7 @@ public class ProjectServiceImpl extends 
ServiceImpl<ProjectMapper, Project>
   public boolean checkExists(Project project) {
     if (project.getId() != null) {
       Project proj = getById(project.getId());
-      if (proj.getName().equals(project.getName())) {
+      if (proj != null && ObjectUtils.safeEquals(project.getName(), 
proj.getName())) {
         return false;
       }
     }

Reply via email to