Procházet zdrojové kódy

feat: 增加无登录时考试推荐

weijin před 4 roky
rodič
revize
398a856c8a

+ 1 - 0
src/main/java/com/nju/edu/eval/data/dao/ExamDao.java

@@ -31,6 +31,7 @@ public interface ExamDao extends JpaRepository<Exam, Integer> {
 
     /**
      * 获得所有非隐藏的考试
+     * @param isHidden 是否隐藏:0:显示;1:隐藏
      * @return 考试列表
      */
     List<Exam> findByIsHidden(Integer isHidden);

+ 5 - 0
src/main/java/com/nju/edu/eval/service/ExamService.java

@@ -126,4 +126,9 @@ public interface ExamService {
      * @param hidden 是否隐藏
      */
     boolean setIsHidden (Integer userId, Integer examId, Integer hidden);
+
+    /**
+     * 获取推荐的考试
+     */
+    List<ExamInfoVO> getRecommendExam ();
 }

+ 10 - 0
src/main/java/com/nju/edu/eval/service/serviceImpl/ExamServiceImpl.java

@@ -284,4 +284,14 @@ public class ExamServiceImpl implements ExamService {
         return true;
     }
 
+    @Override
+    public List<ExamInfoVO> getRecommendExam() {
+        List<Exam> examList = examDao.findByIsHidden(0);
+        if(examList.size() > 8) {
+            return examList.stream().map(ExamConvertor::convertToExamInfoVO).collect(Collectors.toList()).subList(0, 8);
+        } else {
+            return examList.stream().map(ExamConvertor::convertToExamInfoVO).collect(Collectors.toList());
+        }
+    }
+
 }

+ 6 - 0
src/main/java/com/nju/edu/eval/web/controller/ExamController.java

@@ -158,4 +158,10 @@ public class ExamController {
                                 ) {
         return Response.buildSuccess(examService.setIsHidden(user.getId(), examId, hidden?1:0));
     }
+
+    @ApiOperation("获取考试推荐")
+    @GetMapping("/recommend")
+    public Response getRecommendExam() {
+        return Response.buildSuccess(examService.getRecommendExam());
+    }
 }