Browse Source

Merge remote-tracking branch 'origin/seec' into seec

yhd12345 3 years ago
parent
commit
9efb03e96a

+ 1 - 0
seecoder-portal-server/src/main/java/cn/seecoder/seecoderportalserver/config/SpringSecurityConfiguration.java

@@ -111,6 +111,7 @@ public class SpringSecurityConfiguration extends WebSecurityConfigurerAdapter {
                         "/api/project/findById",
                         "/api/project/findByCourse",
                         "/api/project/updateState",
+                        "/api/project/findAllPublicGroupByCourse",
                         "/api/group",
                         "/api/group/one",
                         "/api/group/all",

+ 6 - 1
seecoder-portal-server/src/main/java/cn/seecoder/seecoderportalserver/service/CourseService.java

@@ -6,6 +6,9 @@ import org.springframework.web.multipart.MultipartFile;
 
 import java.util.List;
 
+/**
+ * @author wind
+ */
 public interface CourseService {
 
     CourseVO createCourse(CourseVO courseVO, Long userId);
@@ -36,7 +39,7 @@ public interface CourseService {
 
     Boolean checkCourseCodeUnique(Long id, String code);
 
-    CourseVO findCourseByEvalId(int evalId) throws Exception;
+    CourseVO findCourseByEvalId(int evalId);
 
     Boolean isCourseNameExisted(String name);
 
@@ -59,4 +62,6 @@ public interface CourseService {
     Boolean uploadCarouselChart(List<String> courses);
 
     List<CourseVO> queryCarouselChart();
+
+    CourseVO findCourseByName(String name);
 }

+ 1 - 5
seecoder-portal-server/src/main/java/cn/seecoder/seecoderportalserver/service/CourseWareService.java

@@ -26,11 +26,7 @@ public interface CourseWareService {
 
     CourseWareVO getCourseWareById(Long id);
 
-    String downloadCourseWare(HttpServletRequest req, HttpServletResponse res, Long id) throws IOException;
-
-    String getSlideUrl(Long slideId);
-
-    CourseWareVO getSlideInfo(Long slideId);
+//    String downloadCourseWare(HttpServletRequest req, HttpServletResponse res, Long id) throws IOException;
 
     String changeCourseWareName(Long id, String name);
 

+ 7 - 0
seecoder-portal-server/src/main/java/cn/seecoder/seecoderportalserver/service/ProjectService.java

@@ -78,4 +78,11 @@ public interface ProjectService {
      * @return JSONArray
      */
     JSONArray findProjectMembers(Integer projectId);
+
+    /**
+     * 查找全部公开项目,并以项目所属课程分类返回
+     *
+     * @return JSONObject course: Array(projects)
+     */
+    JSONObject findAllPublicProjectsGroupByCourse();
 }

+ 5 - 0
seecoder-portal-server/src/main/java/cn/seecoder/seecoderportalserver/serviceImpl/CourseServiceImpl.java

@@ -319,4 +319,9 @@ public class CourseServiceImpl implements CourseService {
             return null;
         }
     }
+
+    @Override
+    public CourseVO findCourseByName(String name) {
+        return courseMapper.courseToCourseVO(courseRepository.findCourseByName(name).orElse(null));
+    }
 }

+ 38 - 52
seecoder-portal-server/src/main/java/cn/seecoder/seecoderportalserver/serviceImpl/CourseWareServiceImpl.java

@@ -73,7 +73,7 @@ public class CourseWareServiceImpl implements CourseWareService {
     public List<CourseWareDTO> getCourseWaresByCourseId(Long courseId) {
         System.out.println("get");
         List<CourseWareDTO> result = courseWareRepository.findCourseWaresByCourseIdAndStateNot(courseId, ObjectState.DELETED).stream()
-                .sorted(Comparator.comparing(CourseWare::getCreatedTime))
+                .sorted(Comparator.comparing(CourseWare::getUseMethod).thenComparing(CourseWare::getCreatedTime))
                 .map(courseWare -> new CourseWareDTO(courseWareMapper.toCourseWareVO(courseWare)))
                 .collect(Collectors.toList());
         return result;
@@ -98,57 +98,43 @@ public class CourseWareServiceImpl implements CourseWareService {
         }
     }
 
-    @Override
-    public String downloadCourseWare(HttpServletRequest req, HttpServletResponse res, Long id) throws IOException {
-        System.out.println("download");
-        CourseWare courseWare = courseWareRepository.findCourseWareById(id);
-        String fileName = courseWare.getName();
-        String filePath = courseWare.getFileUrl();
-
-        OutputStream os = null;
-        InputStream is = null;
-        try{
-            res.reset();
-            res.setCharacterEncoding("utf-8");
-            res.setContentType("application/octet-stream");
-            res.setHeader("Content-Disposition", "attachment;" + new String(fileName.getBytes("gb2312"), "ISO8859-1"));
-            File f = new File(filePath);
-            is = new FileInputStream(f);
-            ServletOutputStream sout = res.getOutputStream();
-            BufferedInputStream bis = null;
-            BufferedOutputStream bos = null;
-            bis = new BufferedInputStream(is);
-            bos = new BufferedOutputStream(sout);
-            byte[] buff = new byte[2048];
-            int bytesRead;
-            while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) {
-                bos.write(buff, 0, bytesRead);
-            }
-            bos.flush();
-            bos.close();
-            bis.close();
-            is.close();
-            os.close();
-        }catch (Exception e){
-
-        }
-
-        return fileName;
-    }
-
-    @Override
-    public String getSlideUrl(Long slideId) {
-        System.out.println("geturl");
-        CourseWare courseWare = courseWareRepository.findCourseWareById(slideId);
-        return courseWare.getFileUrl();
-    }
-
-    @Override
-    public CourseWareVO getSlideInfo(Long slideId) {
-        System.out.println("getinfo");
-        CourseWare courseWare = courseWareRepository.findCourseWareById(slideId);
-        return courseWareMapper.toCourseWareVO(courseWare);
-    }
+//    @Override
+//    public String downloadCourseWare(HttpServletRequest req, HttpServletResponse res, Long id) throws IOException {
+//        System.out.println("download");
+//        CourseWare courseWare = courseWareRepository.findCourseWareById(id);
+//        String fileName = courseWare.getName();
+//        String filePath = courseWare.getFileUrl();
+//
+//        OutputStream os = null;
+//        InputStream is = null;
+//        try{
+//            res.reset();
+//            res.setCharacterEncoding("utf-8");
+//            res.setContentType("application/octet-stream");
+//            res.setHeader("Content-Disposition", "attachment;" + new String(fileName.getBytes("gb2312"), "ISO8859-1"));
+//            File f = new File(filePath);
+//            is = new FileInputStream(f);
+//            ServletOutputStream sout = res.getOutputStream();
+//            BufferedInputStream bis = null;
+//            BufferedOutputStream bos = null;
+//            bis = new BufferedInputStream(is);
+//            bos = new BufferedOutputStream(sout);
+//            byte[] buff = new byte[2048];
+//            int bytesRead;
+//            while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) {
+//                bos.write(buff, 0, bytesRead);
+//            }
+//            bos.flush();
+//            bos.close();
+//            bis.close();
+//            is.close();
+//            os.close();
+//        }catch (Exception e){
+//
+//        }
+//
+//        return fileName;
+//    }
 
     @Override
     public String changeCourseWareName(Long id, String newName) {

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

@@ -1,5 +1,6 @@
 package cn.seecoder.seecoderportalserver.serviceImpl;
 
+import cn.seecoder.seecoderportalcommon.vo.CourseVO;
 import cn.seecoder.seecoderportalcommon.vo.UserVO;
 import cn.seecoder.seecoderportalserver.domain.CourseProject;
 import cn.seecoder.seecoderportalserver.mapper.CourseMapper;
@@ -176,6 +177,16 @@ public class ProjectServiceImpl implements ProjectService {
         return devcloudService.getProjectMembers(projectId);
     }
 
+    @Override
+    public JSONObject findAllPublicProjectsGroupByCourse() {
+        List<CourseVO> courseVOList = courseService.findRecommendCourses();
+        JSONObject result = new JSONObject();
+        for (CourseVO courseVO : courseVOList) {
+            result.put(courseVO.getName(), this.findProjectsByCourse(courseVO.getId()).getJSONArray("public"));
+        }
+        return result;
+    }
+
     private void addProjectMember(Integer projectId, String phone) {
         JSONObject devcloudRes = devcloudService.addMember(projectId, phone);
         log.info("devcloudService.addMember: {}", devcloudRes);

+ 11 - 10
seecoder-portal-server/src/main/java/cn/seecoder/seecoderportalserver/web/rest/CourseController.java

@@ -22,7 +22,7 @@ public class CourseController {
 
     @GetMapping("/getCourseById")
     public OkResponse<CourseVO> findCourseById(@RequestParam Long id) {
-        Call call = MonitorClient.createCall(SeecSystem.PORTAL,"seec-portal","/api/course/getCourseById");
+        Call call = MonitorClient.createCall(SeecSystem.PORTAL, "seec-portal", "/api/course/getCourseById");
         call.start();
         OkResponse<CourseVO> res = OkResponse.of(courseService.findCourseById(id));
         call.end();
@@ -65,8 +65,8 @@ public class CourseController {
     }
 
     @GetMapping("/getCourseByCoderId")
-    public OkResponse<Long> findCourseByCoderId(@RequestParam Integer coderId) {
-        return OkResponse.of(courseService.findCourseByCoderId(coderId).getId());
+    public OkResponse<CourseVO> findCourseByCoderId(@RequestParam Integer coderId) {
+        return OkResponse.of(courseService.findCourseByCoderId(coderId));
     }
 
     @GetMapping("/checkName")
@@ -95,12 +95,8 @@ public class CourseController {
     }
 
     @GetMapping("/getCourseByEvalId")
-    public OkResponse<Long> findCourseByEvalId(@RequestParam int evalId) {
-        try {
-            return OkResponse.of(courseService.findCourseByEvalId(evalId).getId());
-        } catch (Exception e) {
-            throw new RuntimeException(e);
-        }
+    public OkResponse<CourseVO> findCourseByEvalId(@RequestParam int evalId) {
+        return OkResponse.of(courseService.findCourseByEvalId(evalId));
     }
 
     @PostMapping("/uploadImage")
@@ -115,7 +111,12 @@ public class CourseController {
     }
 
     @GetMapping("/queryCarouselChart")
-    public OkResponse<List<CourseVO>> queryCarouselChart(){
+    public OkResponse<List<CourseVO>> queryCarouselChart() {
         return OkResponse.of(courseService.queryCarouselChart());
     }
+
+    @GetMapping("/findCourseByName")
+    public OkResponse<CourseVO> findCourseByName(@RequestParam String name) {
+        return OkResponse.of(courseService.findCourseByName(name));
+    }
 }

+ 4 - 14
seecoder-portal-server/src/main/java/cn/seecoder/seecoderportalserver/web/rest/CourseWareController.java

@@ -56,20 +56,10 @@ public class CourseWareController {
         return OkResponse.of(courseWareService.getCourseWareById(id));
     }
 
-    @GetMapping("/download")
-    public OkResponse<String> downloadCourseWare(HttpServletRequest req, HttpServletResponse res, @RequestParam Long id) throws IOException {
-        return OkResponse.of(courseWareService.downloadCourseWare(req, res, id));
-    }
-
-    @GetMapping("/getSlideUrl")
-    public OkResponse<String> getSlideUrl(@RequestParam Long slideId) {
-        return OkResponse.of(courseWareService.getSlideUrl(slideId));
-    }
-
-    @GetMapping("/getSlideInfo")
-    public OkResponse<CourseWareVO> getSlideInfo(@RequestParam Long slideId) {
-        return OkResponse.of(courseWareService.getSlideInfo(slideId));
-    }
+//    @GetMapping("/download")
+//    public OkResponse<String> downloadCourseWare(HttpServletRequest req, HttpServletResponse res, @RequestParam Long id) throws IOException {
+//        return OkResponse.of(courseWareService.downloadCourseWare(req, res, id));
+//    }
 
     @PostMapping("/changeCourseWareName")
     public OkResponse<String> changeCourseWareName(@RequestParam Long id, @RequestParam String newName) {

+ 7 - 0
seecoder-portal-server/src/main/java/cn/seecoder/seecoderportalserver/web/rest/ProjectController.java

@@ -72,4 +72,11 @@ public class ProjectController {
     public OkResponse<JSONObject> forkProject(@RequestParam Integer projectId, @RequestParam(defaultValue = "") String name){
         return OkResponse.of(projectService.forkPublicProject(projectId, name));
     }
+
+
+    @ApiOperation(value = "查找全部公开项目", httpMethod = "GET")
+    @GetMapping("/findAllPublicGroupByCourse")
+    public OkResponse<JSONObject> findAllPublicProjectsGroupByCourse(){
+        return OkResponse.of(projectService.findAllPublicProjectsGroupByCourse());
+    }
 }

+ 1 - 1
seecoder-portal-server/src/main/resources/application-dev.yml

@@ -9,7 +9,7 @@ spring:
   datasource:
     url: jdbc:postgresql://localhost:5432/portal
     username: postgres
-    password: 123456
+    password: postgres
 #    username: postgres
 #    password: postgres