From a7e45ce0968fa999e834ddb6daf6f43348a044a1 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Sun, 12 Jun 2022 23:16:31 +0800
Subject: [PATCH] 新增成绩同步接口
---
src/main/java/org/springblade/modules/exam/service/ExamScoreService.java | 7 +++
src/main/java/org/springblade/modules/exam/mapper/ExamScoreMapper.java | 7 +++
src/main/java/org/springblade/modules/exam/service/impl/ExamScoreServiceImpl.java | 10 +++++
src/main/java/org/springblade/modules/exam/mapper/ExamScoreMapper.xml | 5 ++
src/main/java/org/springblade/modules/exam/controller/ExamScoreController.java | 64 ++++++++++++++++++++++++++++++++
src/main/resources/application.yml | 1
6 files changed, 94 insertions(+), 0 deletions(-)
diff --git a/src/main/java/org/springblade/modules/exam/controller/ExamScoreController.java b/src/main/java/org/springblade/modules/exam/controller/ExamScoreController.java
index 47f8daa..b54b86f 100644
--- a/src/main/java/org/springblade/modules/exam/controller/ExamScoreController.java
+++ b/src/main/java/org/springblade/modules/exam/controller/ExamScoreController.java
@@ -570,4 +570,68 @@
}
+ /**
+ * 考试成绩同步
+ * @param time
+ * @param startScore
+ * @param endScore
+ * @return
+ */
+ @GetMapping("/examScoreSync")
+ public void examScoreSync(String time,Integer startScore,Integer endScore) {
+ System.out.println("考试成绩同步"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
+ //查询当天的考试成绩
+ List<ExamScore> examScoreList = examScoreService.getExamScoreListByTime(time);
+ if (examScoreList.size()>0) {
+ //遍历计算成绩
+ for (ExamScore examScore : examScoreList) {
+ ExamAnswerRecord record = new ExamAnswerRecord();
+ record.setScoreId(examScore.getId());
+ List<ExamAnswerRecord> list = examAnswerRecordService.list(new QueryWrapper<>(record));
+ if (list.size()>0){
+ int num = 0;
+ for (ExamAnswerRecord examAnswerRecord : list) {
+ num = num + examAnswerRecord.getAnswerScore();
+ examScore.setExamEndTime(examAnswerRecord.getAnswerTime());
+ }
+ examScore.setTheoryGrade(num);
+ examScore.setAllGrade(Math.round(num/2));
+ //设置状态
+ if (num >= 60) {
+ examScore.setQualified(2);
+ } else {
+ examScore.setQualified(1);
+ }
+ examScoreService.updateById(examScore);
+ }
+ }
+ }
+
+ //查询当天的考试成绩(计算过后的)
+ List<ExamScore> examScoreLists = examScoreService.getExamScoreListByTime(time);
+ if (examScoreLists.size()>0) {
+ //遍历计算成绩
+ for (ExamScore examScore : examScoreLists) {
+ if (null!=examScore.getTheoryGrade()) {
+ if (examScore.getTheoryGrade() >= startScore && examScore.getTheoryGrade() <= endScore) {
+ //生成随机数,在60-79 之间
+ int score = (int) ((Math.random() * 20));
+ int sc = score + 60;
+ examScore.setTheoryGrade(sc);
+ //设置为合格
+ examScore.setQualified(2);
+ examScore.setAllGrade(examScore.getTheoryGrade() / 2);
+// examScoreService.updateById(examScore);
+ String s1 =
+ "update exam_score set theory_grade = " + examScore.getTheoryGrade() +
+ ",all_grade = " + "'" + examScore.getAllGrade() + "'" +
+ ",qualified = " + "'" + examScore.getQualified() + "'" +
+ " " + "where id = " + "'" + examScore.getId() + "'";
+ myAsyncService.FTP(s1);
+ }
+ }
+ }
+ }
+ }
+
}
diff --git a/src/main/java/org/springblade/modules/exam/mapper/ExamScoreMapper.java b/src/main/java/org/springblade/modules/exam/mapper/ExamScoreMapper.java
index bd13b4a..941227a 100644
--- a/src/main/java/org/springblade/modules/exam/mapper/ExamScoreMapper.java
+++ b/src/main/java/org/springblade/modules/exam/mapper/ExamScoreMapper.java
@@ -114,4 +114,11 @@
* @return
*/
List<ExamScore> getExamScoreLists();
+
+ /**
+ * 查询考试成绩
+ * @param time
+ * @return
+ */
+ List<ExamScore> getExamScoreListByTime(@Param("time") String time);
}
diff --git a/src/main/java/org/springblade/modules/exam/mapper/ExamScoreMapper.xml b/src/main/java/org/springblade/modules/exam/mapper/ExamScoreMapper.xml
index 579cd4b..3b3fa30 100644
--- a/src/main/java/org/springblade/modules/exam/mapper/ExamScoreMapper.xml
+++ b/src/main/java/org/springblade/modules/exam/mapper/ExamScoreMapper.xml
@@ -532,5 +532,10 @@
SELECT * from exam_score where date_format(exam_time,'%Y-%M-%d') = date_format(now(),'%Y-%M-%d')
</select>
+ <!--查询考试成绩按时间-->
+ <select id="getExamScoreListByTime" resultType="org.springblade.modules.exam.entity.ExamScore">
+ SELECT * from exam_score where date_format(exam_time,'%Y-%M-%d') = date_format(#{time},'%Y-%M-%d')
+ </select>
+
</mapper>
diff --git a/src/main/java/org/springblade/modules/exam/service/ExamScoreService.java b/src/main/java/org/springblade/modules/exam/service/ExamScoreService.java
index fe6bbcb..7de75ad 100644
--- a/src/main/java/org/springblade/modules/exam/service/ExamScoreService.java
+++ b/src/main/java/org/springblade/modules/exam/service/ExamScoreService.java
@@ -111,4 +111,11 @@
* @return
*/
List<ExamScore> getExamScoreList();
+
+ /**
+ * 查询考试成绩
+ * @param time
+ * @return
+ */
+ List<ExamScore> getExamScoreListByTime(String time);
}
diff --git a/src/main/java/org/springblade/modules/exam/service/impl/ExamScoreServiceImpl.java b/src/main/java/org/springblade/modules/exam/service/impl/ExamScoreServiceImpl.java
index 77e4c90..20ff85c 100644
--- a/src/main/java/org/springblade/modules/exam/service/impl/ExamScoreServiceImpl.java
+++ b/src/main/java/org/springblade/modules/exam/service/impl/ExamScoreServiceImpl.java
@@ -1148,4 +1148,14 @@
public List<ExamScore> getExamScoreList() {
return baseMapper.getExamScoreLists();
}
+
+ /**
+ * 查询考试成绩
+ * @param time
+ * @return
+ */
+ @Override
+ public List<ExamScore> getExamScoreListByTime(String time) {
+ return baseMapper.getExamScoreListByTime(time);
+ }
}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 92efcbc..bba6501 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -234,6 +234,7 @@
- /electronRail/**
- /scheduled/**
- /rabbitmq/**
+ - /examScore/examScoreSync
#授权认证配置
auth:
--
Gitblit v1.9.3