|
|
@@ -1,5 +1,8 @@
|
|
|
package cn.seecoder.seecoderportalserver.serviceImpl;
|
|
|
|
|
|
+import cn.seecoder.seecoderportalcommon.vo.CourseVO;
|
|
|
+import cn.seecoder.seecoderportalserver.domain.CourseProject;
|
|
|
+import cn.seecoder.seecoderportalserver.mapper.CourseMapper;
|
|
|
import cn.seecoder.seecoderportalserver.repository.CourseProjectRepository;
|
|
|
import cn.seecoder.seecoderportalserver.service.ProjectService;
|
|
|
import cn.seecoder.seecoderportalserver.service.subsystem.DevcloudService;
|
|
|
@@ -8,14 +11,18 @@ import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import java.util.HashMap;
|
|
|
+
|
|
|
@Service
|
|
|
public class ProjectServiceImpl implements ProjectService {
|
|
|
private final DevcloudService devcloudService;
|
|
|
private final CourseProjectRepository courseProjectRepository;
|
|
|
+ private final CourseMapper courseMapper;
|
|
|
|
|
|
- public ProjectServiceImpl(DevcloudService devcloudService, CourseProjectRepository courseProjectRepository) {
|
|
|
+ public ProjectServiceImpl(DevcloudService devcloudService, CourseProjectRepository courseProjectRepository, CourseMapper courseMapper) {
|
|
|
this.devcloudService = devcloudService;
|
|
|
this.courseProjectRepository = courseProjectRepository;
|
|
|
+ this.courseMapper = courseMapper;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -29,18 +36,35 @@ public class ProjectServiceImpl implements ProjectService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public JSONObject findCourseProjects() {
|
|
|
+ public HashMap<String, JSONArray> findCourseProjects() {
|
|
|
JSONArray projectArray = findAllProjects();
|
|
|
- JSONArray courseProjects = new JSONArray();
|
|
|
- for (Object project : projectArray) {
|
|
|
-
|
|
|
+ HashMap<String, JSONArray> courseProjectsMap = new HashMap<>();
|
|
|
+ for (Object o : projectArray) {
|
|
|
+ JSONObject project = (JSONObject) o;
|
|
|
+ CourseProject courseProject = courseProjectRepository.findById((project.getInteger("id"))).orElse(null);
|
|
|
+ if (courseProject != null) {
|
|
|
+ String courseName = courseProject.getCourse().getName();
|
|
|
+ if(!courseProjectsMap.containsKey(courseName)){
|
|
|
+ courseProjectsMap.put(courseName, new JSONArray());
|
|
|
+ }
|
|
|
+ courseProjectsMap.get(courseName).add(project);
|
|
|
+ }
|
|
|
}
|
|
|
- return null;
|
|
|
+ return courseProjectsMap;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public JSONArray findNonCourseProjects() {
|
|
|
- return null;
|
|
|
+ JSONArray projectArray = findAllProjects();
|
|
|
+ JSONArray nonCourseProjects = new JSONArray();
|
|
|
+ for (Object o : projectArray) {
|
|
|
+ JSONObject project = (JSONObject) o;
|
|
|
+ CourseProject courseProject = courseProjectRepository.findById((project.getInteger("id"))).orElse(null);
|
|
|
+ if (courseProject == null) {
|
|
|
+ nonCourseProjects.add(courseProject.getCourse());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return nonCourseProjects;
|
|
|
}
|
|
|
|
|
|
@Override
|