|
|
@@ -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));
|
|
|
}
|
|
|
}
|