181250114 4 лет назад
Родитель
Сommit
f015de42d8

+ 32 - 0
src/main/java/com/seecoder/dataanalysis/analysis/DataAnalysisService.java

@@ -0,0 +1,32 @@
+package com.seecoder.dataanalysis.analysis;
+
+import com.seecoder.dataanalysis.data.entity.competency.CompetencyTree;
+
+/**
+ * @author Peng Yiyan
+ * @since 2022/02/03
+ */
+
+public interface DataAnalysisService {
+
+    /**
+     * 根据学生id,分析该学生的能力树
+     * @param student_id 学生id
+     * @return competency_tree 返回能力树
+     */
+    CompetencyTree getTreeById(int student_id);
+
+    /**
+     * 学生提交试卷,根据考试结果分析KSD并入库
+     * @param exam_id 学生提交试卷的试卷id
+     * @return competency_tree 返回能力树
+     */
+    CompetencyTree getTreeAfterExam(int exam_id);
+
+    /**
+     * 获得学生的错题列表
+     * @param student_id 学生id
+     * @return Map<String, Double> errorQuestions 返回学生的错误题目
+     */
+
+}

+ 43 - 0
src/main/java/com/seecoder/dataanalysis/analysis/impl/DataAnalysisServiceImpl.java

@@ -0,0 +1,43 @@
+package com.seecoder.dataanalysis.analysis.impl;
+
+import com.seecoder.dataanalysis.analysis.DataAnalysisService;
+import com.seecoder.dataanalysis.data.dao.competency.CompetencyTreeDao;
+import com.seecoder.dataanalysis.data.dao.eval.EvalExamInfoDao;
+import com.seecoder.dataanalysis.data.dao.eval.EvalExamRecordDao;
+import com.seecoder.dataanalysis.data.entity.competency.CompetencyTree;
+import com.seecoder.dataanalysis.data.entity.eval.EvalExamInfo;
+import com.seecoder.dataanalysis.data.entity.eval.EvalExamRecord;
+import com.seecoder.dataanalysis.vo.EvalExamRecordDTO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author Peng Yiyan
+ * @since 2022/02/03
+ */
+
+@Service
+public class DataAnalysisServiceImpl implements DataAnalysisService {
+    @Autowired
+    private EvalExamRecordDao evalExamRecordDao;
+    @Autowired
+    private EvalExamInfoDao evalExamInfoDao;
+    @Autowired
+    private CompetencyTreeDao competencyTreeDao;
+
+    @Override
+    public CompetencyTree getTreeById(int student_id){
+        return null;
+    }
+
+    @Override
+    public CompetencyTree getTreeAfterExam(int exam_id){
+        //TODO 记得写test测试查询方法是否有效(findById只能接受Sring?)
+        EvalExamRecord evalExamRecord = evalExamRecordDao.findById(""+exam_id).get();
+        EvalExamInfo evalExamInfo = evalExamInfoDao.findById(""+exam_id).get();
+        CompetencyTree competencyTree = competencyTreeDao.findByStudentId(evalExamRecord.getStudentId());
+        //数据取完,开始进行KSD分析和入库
+
+        return null;
+    }
+}