浏览代码

考试课程的及格线设置

deason 2 年之前
父节点
当前提交
a6bc11dc4d

+ 7 - 0
examcloud-core-examwork-api-provider/src/main/java/cn/com/qmth/examcloud/core/examwork/api/controller/ExamCourseController.java

@@ -41,6 +41,13 @@ public class ExamCourseController extends ControllerSupport {
         return examCourseService.getExamCourseRelationListByPage(req);
     }
 
+    @PostMapping("/settingScoreLine")
+    @ApiOperation(value = "考试课程的及格线设置")
+    public void settingScoreLine(@RequestParam Long examId, @RequestParam Long courseId
+            , @RequestParam Integer passScoreLine, @RequestParam Integer goodScoreLine) {
+        examCourseService.settingScoreLine(examId, courseId, passScoreLine, goodScoreLine);
+    }
+
     @PostMapping("/weixinAnswerEnabled")
     @ApiOperation(value = "(批量)启用或禁用微信小程序作答")
     public void weixinAnswerEnabled(@RequestParam Long examId, @RequestParam Long[] courseIds, @RequestParam Boolean enabled) {

+ 7 - 0
examcloud-core-examwork-dao/src/main/java/cn/com/qmth/examcloud/core/examwork/dao/ExamCourseRelationRepo.java

@@ -38,4 +38,11 @@ public interface ExamCourseRelationRepo extends JpaRepository<ExamCourseRelation
     int updateWeixinAnswerEnabled(@Param("examId") Long examId, @Param("courseCode") String courseCode,
                                   @Param("enabled") Boolean enabled, @Param("updateTime") Date updateTime);
 
+    @Transactional
+    @Modifying
+    @Query("update ExamCourseRelationEntity set passScoreLine =:passScoreLine, goodScoreLine =:goodScoreLine, updateTime=:updateTime where examId=:examId and courseId=:courseId")
+    int updateScoreLine(@Param("examId") Long examId, @Param("courseId") Long courseId
+            , @Param("passScoreLine") Integer passScoreLine, @Param("goodScoreLine") Integer goodScoreLine
+            , @Param("updateTime") Date updateTime);
+
 }

+ 28 - 0
examcloud-core-examwork-dao/src/main/java/cn/com/qmth/examcloud/core/examwork/dao/entity/ExamCourseRelationEntity.java

@@ -38,6 +38,18 @@ public class ExamCourseRelationEntity extends JpaEntity {
     @Column(nullable = false)
     private Boolean weixinAnswerEnabled;
 
+    /**
+     * 分数及格线(整数百分比)
+     */
+    @Column
+    private Integer passScoreLine;
+
+    /**
+     * 分数优秀线(整数百分比)
+     */
+    @Column
+    private Integer goodScoreLine;
+
     public Long getExamId() {
         return examId;
     }
@@ -94,4 +106,20 @@ public class ExamCourseRelationEntity extends JpaEntity {
         this.weixinAnswerEnabled = weixinAnswerEnabled;
     }
 
+    public Integer getPassScoreLine() {
+        return passScoreLine;
+    }
+
+    public void setPassScoreLine(Integer passScoreLine) {
+        this.passScoreLine = passScoreLine;
+    }
+
+    public Integer getGoodScoreLine() {
+        return goodScoreLine;
+    }
+
+    public void setGoodScoreLine(Integer goodScoreLine) {
+        this.goodScoreLine = goodScoreLine;
+    }
+
 }

+ 2 - 0
examcloud-core-examwork-service/src/main/java/cn/com/qmth/examcloud/core/examwork/service/ExamCourseService.java

@@ -16,4 +16,6 @@ public interface ExamCourseService {
 
     void updateWeixinAnswerEnabled(Long examId, String courseCode, boolean enabled);
 
+    void settingScoreLine(Long examId, Long courseId, Integer passScoreLine, Integer goodScoreLine);
+
 }

+ 26 - 0
examcloud-core-examwork-service/src/main/java/cn/com/qmth/examcloud/core/examwork/service/bean/ExamCourseRelationInfo.java

@@ -23,6 +23,16 @@ public class ExamCourseRelationInfo implements JsonSerializable {
      */
     private Boolean weixinAnswerEnabled;
 
+    /**
+     * 分数及格线(整数百分比)
+     */
+    private Integer passScoreLine;
+
+    /**
+     * 分数优秀线(整数百分比)
+     */
+    private Integer goodScoreLine;
+
     public Long getExamId() {
         return examId;
     }
@@ -79,4 +89,20 @@ public class ExamCourseRelationInfo implements JsonSerializable {
         this.weixinAnswerEnabled = weixinAnswerEnabled;
     }
 
+    public Integer getPassScoreLine() {
+        return passScoreLine;
+    }
+
+    public void setPassScoreLine(Integer passScoreLine) {
+        this.passScoreLine = passScoreLine;
+    }
+
+    public Integer getGoodScoreLine() {
+        return goodScoreLine;
+    }
+
+    public void setGoodScoreLine(Integer goodScoreLine) {
+        this.goodScoreLine = goodScoreLine;
+    }
+
 }

+ 12 - 0
examcloud-core-examwork-service/src/main/java/cn/com/qmth/examcloud/core/examwork/service/impl/ExamCourseServiceImpl.java

@@ -102,6 +102,8 @@ public class ExamCourseServiceImpl implements ExamCourseService {
         info.setCourseLevel(entity.getCourseLevel());
         info.setCourseEnable(entity.getCourseEnable());
         info.setWeixinAnswerEnabled(entity.getWeixinAnswerEnabled());
+        info.setPassScoreLine(entity.getPassScoreLine());
+        info.setGoodScoreLine(entity.getGoodScoreLine());
         return info;
     }
 
@@ -125,4 +127,14 @@ public class ExamCourseServiceImpl implements ExamCourseService {
         log.warn("updateWeixinAnswerEnabled examId={} courseCode={} enabled={} effectCount={}", examId, courseCode, enabled, effect);
     }
 
+    @Override
+    public void settingScoreLine(Long examId, Long courseId, Integer passScoreLine, Integer goodScoreLine) {
+        if (examId == null || courseId == null) {
+            return;
+        }
+        int effect = examCourseRelationRepo.updateScoreLine(examId, courseId, passScoreLine, goodScoreLine, new Date());
+        log.warn("updateScoreLine examId:{} courseId:{} passScoreLine:{} goodScoreLine:{} effectCount={}",
+                examId, courseId, passScoreLine, goodScoreLine, effect);
+    }
+
 }