mjh 4 years ago
parent
commit
c07a4137bb

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

@@ -81,6 +81,7 @@ public class ProjectServiceImpl implements ProjectService {
 
     @Override
     public JSONObject findProjectById(Integer id) {
+        log.info("devcloudService.getProjectVisibility: {}", devcloudService.getProjectVisibility(id));
         return devcloudService.getProjectById(id);
     }
 
@@ -95,6 +96,7 @@ public class ProjectServiceImpl implements ProjectService {
         // public
         List<CourseProject> publicProjects = courseProjectRepository.findByCourse_IdAndIsPublic(courseId, true);
         for (CourseProject courseProject : publicProjects) {
+//            projects.getJSONArray("public").add(this.findProjectById(courseProject.getProjectId()));
             if (SecurityUtils.getCurrentUser().getRole() == UserRole.TEACHER) {
                 projects.getJSONArray("public").add(findProjectById(courseProject.getProjectId()));
             } else {
@@ -104,7 +106,7 @@ public class ProjectServiceImpl implements ProjectService {
             }
         }
         // private
-        JSONArray allProjects = findAllProjects();
+        JSONArray allProjects = this.findAllProjects();
         for (Object o : allProjects) {
             JSONObject project = (JSONObject) o;
             CourseProject courseProject = courseProjectRepository.findById(project.getInteger("id")).orElse(null);
@@ -125,6 +127,7 @@ public class ProjectServiceImpl implements ProjectService {
         courseProject.setProjectId(devcloudResult.getInteger("id"));
         courseProject.setCourse(courseMapper.courseVOToCourse(courseService.findCourseById(project.getLong("courseId"))));
         courseProject.setPublic(project.getBoolean("isPublic"));
+        this.setProjectVisibility(courseProject.getProjectId(), courseProject.getPublic());
         courseProjectRepository.save(courseProject);
         return devcloudResult;
     }
@@ -134,13 +137,7 @@ public class ProjectServiceImpl implements ProjectService {
     public Boolean switchCourseProjectState(Integer projectId) {
         CourseProject courseProject = courseProjectRepository.findById(projectId)
                 .orElseThrow(CustomErrorException::courseProjectNotFound);
-        JSONObject devcloudRes;
-        if (courseProject.getPublic()) {
-            devcloudRes = devcloudService.setProjectVisibility(projectId, "PRIVATE");
-        } else {
-            devcloudRes = devcloudService.setProjectVisibility(projectId, "PUBLIC");
-        }
-        log.info("devcloudService.setProjectVisibility: {}", devcloudRes);
+        this.setProjectVisibility(projectId, !courseProject.getPublic());
         courseProject.setPublic(!courseProject.getPublic());
         courseProjectRepository.save(courseProject);
         return courseProject.getPublic();
@@ -152,6 +149,7 @@ public class ProjectServiceImpl implements ProjectService {
         CourseProject courseProject = courseProjectRepository.findById(projectId)
                 .orElseThrow(CustomErrorException::courseProjectNotFound);
         if (!courseProject.getPublic()) {throw CustomErrorException.courseSelectionNotFound();}
+        log.info("PROJECT VISIBILITY: {}", devcloudService.getProjectVisibility(projectId));
         // 验证当前用户已选课
         if (!courseService.checkSelection(SecurityUtils.getCurrentUser().getId(), courseProject.getCourse().getId())) {
             throw CustomErrorException.unauthorizedUser();
@@ -167,12 +165,12 @@ public class ProjectServiceImpl implements ProjectService {
         List<UserVO> members;
         try {
             members = groupService.findGroup(courseProject.getCourse().getId()).getMembers();
-        }catch (CustomErrorException e){
+        } catch (CustomErrorException e) {
             members = new ArrayList<>();
         }
-        if(members.size() != 0){
-            for(UserVO member: members){
-                if(!member.getPhone().equals(SecurityUtils.getCurrentUser().getPhone())){
+        if (members.size() != 0) {
+            for (UserVO member : members) {
+                if (!member.getPhone().equals(SecurityUtils.getCurrentUser().getPhone())) {
                     this.addProjectMember(newProjectId, member.getPhone());
                 }
             }
@@ -185,7 +183,14 @@ public class ProjectServiceImpl implements ProjectService {
         return devcloudService.getProjectMembers(projectId);
     }
 
-    private void addProjectMember(Integer projectId, String phone){
+    private void addProjectMember(Integer projectId, String phone) {
         JSONObject devcloudRes = devcloudService.addMember(projectId, phone);
+        log.info("devcloudService.addMember: {}", devcloudRes);
+    }
+
+    private void setProjectVisibility(Integer projectId, boolean isPublic) {
+        JSONObject devcloudRes = devcloudService.setProjectVisibility(projectId, isPublic ? "public" : "private");
+        log.info("devcloudService.setProjectVisibility: {}", devcloudRes);
+        log.info("devcloudService.getProjectVisibility: {}", devcloudService.getProjectVisibility(projectId));
     }
 }

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

@@ -119,7 +119,7 @@ public class DevcloudServiceImpl implements DevcloudService {
         JSONObject result;
         JSONObject requestBody = new JSONObject();
         requestBody.put("projectId", projectId);
-        requestBody.put("name", name);
+//        requestBody.put("name", name);
         try {
             result = JSONObject.parseObject(
                     httpService.sendPost(