|
@@ -45,6 +45,7 @@ import com.qmth.themis.business.dao.TEExamMapper;
|
|
import com.qmth.themis.business.dto.response.TEExamActivityDto;
|
|
import com.qmth.themis.business.dto.response.TEExamActivityDto;
|
|
import com.qmth.themis.business.dto.response.TEExamDto;
|
|
import com.qmth.themis.business.dto.response.TEExamDto;
|
|
import com.qmth.themis.business.entity.TEExam;
|
|
import com.qmth.themis.business.entity.TEExam;
|
|
|
|
+import com.qmth.themis.business.entity.TOeExamRecord;
|
|
import com.qmth.themis.business.enums.ExamRecordStatusEnum;
|
|
import com.qmth.themis.business.enums.ExamRecordStatusEnum;
|
|
import com.qmth.themis.business.enums.FinishTypeEnum;
|
|
import com.qmth.themis.business.enums.FinishTypeEnum;
|
|
import com.qmth.themis.business.service.TEExamActivityService;
|
|
import com.qmth.themis.business.service.TEExamActivityService;
|
|
@@ -84,6 +85,9 @@ public class TEExamServiceImpl extends ServiceImpl<TEExamMapper, TEExam> impleme
|
|
|
|
|
|
@Resource
|
|
@Resource
|
|
TOeExamRecordService toeExamRecordService;
|
|
TOeExamRecordService toeExamRecordService;
|
|
|
|
+
|
|
|
|
+ @Resource
|
|
|
|
+ TEExamStudentService examStudentService;
|
|
|
|
|
|
@Resource
|
|
@Resource
|
|
RedisUtil redisUtil;
|
|
RedisUtil redisUtil;
|
|
@@ -595,26 +599,25 @@ public class TEExamServiceImpl extends ServiceImpl<TEExamMapper, TEExam> impleme
|
|
*查询交卷结果
|
|
*查询交卷结果
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
- public ExamResultBean result(Long studentId, Long recordId) {
|
|
|
|
- // 校验当前登录用户和参数一致性
|
|
|
|
|
|
+ public ExamResultBean result(Long recordId) {
|
|
|
|
+ ExamResultBean ret = new ExamResultBean();
|
|
|
|
+ TOeExamRecord er=null;
|
|
if (ExamRecordCacheUtil.getId(recordId) == null) {
|
|
if (ExamRecordCacheUtil.getId(recordId) == null) {
|
|
- throw new BusinessException("未找到考试记录");
|
|
|
|
- }
|
|
|
|
- Long examStudentId = ExamRecordCacheUtil.getExamStudentId(recordId);
|
|
|
|
- ExamStudentCacheBean es = (ExamStudentCacheBean) redisUtil
|
|
|
|
- .get(RedisKeyHelper.examStudentCacheKey(examStudentId));
|
|
|
|
- if (es == null) {
|
|
|
|
- throw new BusinessException("未找到考生");
|
|
|
|
- }
|
|
|
|
- if (studentId.equals(es.getStudentId())) {
|
|
|
|
- throw new BusinessException("考试记录的学生Id和当前登录用户不一致");
|
|
|
|
|
|
+ er=toeExamRecordService.getById(recordId);
|
|
|
|
+ if(er==null) {
|
|
|
|
+ throw new BusinessException("未找到考试记录");
|
|
|
|
+ }
|
|
|
|
+ ret.setDurationSeconds(er.getDurationSeconds());
|
|
|
|
+ ret.setFinishTime(er.getFinishTime().getTime());
|
|
|
|
+ ret.setFinishType(er.getFinishType());
|
|
|
|
+ ret.setObjectiveScore(er.getObjectiveScore());
|
|
|
|
+ }else {
|
|
|
|
+ ret.setDurationSeconds(ExamRecordCacheUtil.getDurationSeconds(recordId));
|
|
|
|
+ ret.setFinishTime(ExamRecordCacheUtil.getFinishTime(recordId));
|
|
|
|
+ ret.setFinishType(ExamRecordCacheUtil.getFinishType(recordId));
|
|
|
|
+ ret.setObjectiveScore(ExamRecordCacheUtil.getObjectiveScore(recordId));
|
|
}
|
|
}
|
|
|
|
|
|
- ExamResultBean ret = new ExamResultBean();
|
|
|
|
- ret.setDurationSeconds(ExamRecordCacheUtil.getDurationSeconds(recordId));
|
|
|
|
- ret.setFinishTime(ExamRecordCacheUtil.getFinishTime(recordId));
|
|
|
|
- ret.setFinishType(ExamRecordCacheUtil.getFinishType(recordId));
|
|
|
|
- ret.setObjectiveScore(ExamRecordCacheUtil.getObjectiveScore(recordId));
|
|
|
|
//TODO
|
|
//TODO
|
|
ret.setReviewResult("");
|
|
ret.setReviewResult("");
|
|
return ret;
|
|
return ret;
|