Browse Source

feat: fork时显示错误信息

mjh 4 years ago
parent
commit
ee612b1973

+ 3 - 1
seecoder-portal-server/src/main/java/cn/seecoder/seecoderportalserver/service/subsystem/DevcloudService.java

@@ -25,6 +25,7 @@ public interface DevcloudService {
 
     /**
      * 根据项目id获取项目成员
+     *
      * @param id 项目id
      * @return JSONArray,包含了所有的项目成员
      */
@@ -32,6 +33,7 @@ public interface DevcloudService {
 
     /**
      * 调用devcloud系统新建项目
+     *
      * @param project 无id项目信息
      * @return 有id项目信息
      */
@@ -42,7 +44,7 @@ public interface DevcloudService {
      * forkProject
      *
      * @param projectId Integer
-     * @param name String
+     * @param name      String
      * @return JSONObject
      */
     JSONObject forkProject(Integer projectId, String name);

+ 2 - 2
seecoder-portal-server/src/main/java/cn/seecoder/seecoderportalserver/serviceImpl/ProjectServiceImpl.java

@@ -140,9 +140,9 @@ public class ProjectServiceImpl implements ProjectService {
         // 验证项目存在且公共
         CourseProject courseProject = courseProjectRepository.findById(projectId)
                 .orElseThrow(CustomErrorException::courseProjectNotFound);
-        if(!courseProject.getPublic()){throw CustomErrorException.courseSelectionNotFound();}
+        if (!courseProject.getPublic()) {throw CustomErrorException.courseSelectionNotFound();}
         // 验证当前用户已选课
-        if(!courseService.checkSelection(SecurityUtils.getCurrentUser().getId(), courseProject.getCourse().getId())){
+        if (!courseService.checkSelection(SecurityUtils.getCurrentUser().getId(), courseProject.getCourse().getId())) {
             throw CustomErrorException.unauthorizedUser();
         }
         JSONObject devcloudResult = devcloudService.forkProject(projectId, name);

+ 9 - 5
seecoder-portal-server/src/main/java/cn/seecoder/seecoderportalserver/serviceImpl/subsystem/DevcloudServiceImpl.java

@@ -16,6 +16,7 @@ import java.util.List;
 /**
  * @author wind
  */
+@SuppressWarnings("AlibabaUndefineMagicConstant")
 @Service
 public class DevcloudServiceImpl implements DevcloudService {
     private final String devcloudUri = "https://devcloud-server.seec.seecoder.cn";
@@ -124,11 +125,14 @@ public class DevcloudServiceImpl implements DevcloudService {
         } catch (Exception e) {
             throw new RuntimeException(e);
         }
-        assert result != null;
-        if (result.containsKey("code") && result.getInteger("code") == 200) {
-            return result.getJSONObject("data");
-        } else {
-            throw CustomErrorException.devcloudError(result.toString());
+        try {
+            if (result.containsKey("code") && result.getInteger("code") == 200) {
+                return result.getJSONObject("data");
+            } else {
+                throw CustomErrorException.devcloudError(result.toString());
+            }
+        } catch (NullPointerException e) {
+            throw CustomErrorException.devcloudError(null);
         }
     }
 }