【新增】 1、错题集(当相同的题正确的时候,进行删除试题)2、新增错题记录
This commit is contained in:
@@ -0,0 +1,44 @@
|
|||||||
|
package com.example.exam.exam.dal;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 错题集
|
||||||
|
*
|
||||||
|
* @author pengchen
|
||||||
|
*/
|
||||||
|
|
||||||
|
@TableName(value = "exam_error_question_info", autoResultMap = true)
|
||||||
|
@Accessors(chain = true)
|
||||||
|
@Data
|
||||||
|
public class ExamErrorQuestionInfo {
|
||||||
|
|
||||||
|
|
||||||
|
@TableId
|
||||||
|
private String id;
|
||||||
|
/**
|
||||||
|
* 试题id
|
||||||
|
*/
|
||||||
|
private String quId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 任务ID
|
||||||
|
*/
|
||||||
|
private String taskId;
|
||||||
|
|
||||||
|
private LocalDateTime createTime;
|
||||||
|
|
||||||
|
private String creator;
|
||||||
|
/**
|
||||||
|
* 租户id
|
||||||
|
*/
|
||||||
|
private long tenantId;
|
||||||
|
|
||||||
|
}
|
@@ -0,0 +1,16 @@
|
|||||||
|
package com.example.exam.exam.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.example.exam.exam.dal.ExamErrorQuestionInfo;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 错题集记录 Mapper接口
|
||||||
|
*
|
||||||
|
* @author pengchen
|
||||||
|
*/
|
||||||
|
@Mapper
|
||||||
|
public interface ExamErrorQuestionInfoMapper extends BaseMapper<ExamErrorQuestionInfo>
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
@@ -24,4 +24,6 @@ public interface ExamErrorQuestionMapper extends BaseMapper<ExamErrorQuestion>
|
|||||||
wrapper.eq(ExamErrorQuestion::getTenantId, tenantId);
|
wrapper.eq(ExamErrorQuestion::getTenantId, tenantId);
|
||||||
return selectOne(wrapper);
|
return selectOne(wrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int deleteByQuIdAndUserId(@Param("quId") String quId, @Param("userId") String userId, @Param("tenantId") String tenantId);
|
||||||
}
|
}
|
||||||
|
@@ -6,6 +6,7 @@ import com.example.exam.exam.mapper.EducationPaperMapper;
|
|||||||
import com.example.exam.exam.mapper.EducationPaperQuMapper;
|
import com.example.exam.exam.mapper.EducationPaperQuMapper;
|
||||||
import com.example.exam.exam.mapper.EducationPaperSchemeMapper;
|
import com.example.exam.exam.mapper.EducationPaperSchemeMapper;
|
||||||
import com.example.exam.exam.service.c.JudgementService;
|
import com.example.exam.exam.service.c.JudgementService;
|
||||||
|
import com.example.exam.exam.service.error.IExamErrorQuestionInfoService;
|
||||||
import com.example.exam.exam.service.error.IExamErrorQuestionService;
|
import com.example.exam.exam.service.error.IExamErrorQuestionService;
|
||||||
import com.example.exam.exam.service.question.IExamQuestionService;
|
import com.example.exam.exam.service.question.IExamQuestionService;
|
||||||
import com.example.exam.exam.service.stupaperscore.StuPaperScoreService;
|
import com.example.exam.exam.service.stupaperscore.StuPaperScoreService;
|
||||||
@@ -42,6 +43,8 @@ public class AutoForWinEmailSettingServiceImpl implements AutoForWinEmailSetting
|
|||||||
EducationPaperMapper educationPaperMapper;
|
EducationPaperMapper educationPaperMapper;
|
||||||
@Resource
|
@Resource
|
||||||
IExamErrorQuestionService examErrorQuestionService;
|
IExamErrorQuestionService examErrorQuestionService;
|
||||||
|
@Resource
|
||||||
|
IExamErrorQuestionInfoService examErrorQuestionInfoService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 自动判题邮箱
|
* 自动判题邮箱
|
||||||
@@ -204,14 +207,26 @@ public class AutoForWinEmailSettingServiceImpl implements AutoForWinEmailSetting
|
|||||||
insertInfo.setTrueScore(new BigDecimal(quScore));
|
insertInfo.setTrueScore(new BigDecimal(quScore));
|
||||||
stuPaperScoreService.insertStuPaperScore(insertInfo);
|
stuPaperScoreService.insertStuPaperScore(insertInfo);
|
||||||
// 判断是否进入错题集
|
// 判断是否进入错题集
|
||||||
ExamErrorQuestion examErrorQuestion = ErrorQuestion.insertErrorQuestion(quId, examQuestion, taskId, systemTenant, stuInfoVo, isTrue);
|
|
||||||
boolean isInsert = examErrorQuestionService.isExamErrorQuestion(quId,
|
boolean isInsert = examErrorQuestionService.isExamErrorQuestion(quId,
|
||||||
String.valueOf(stuInfoVo.getStuId()),
|
String.valueOf(stuInfoVo.getStuId()),
|
||||||
String.valueOf(systemTenant.getId()));
|
String.valueOf(systemTenant.getId()));
|
||||||
if (!isInsert) {
|
if (isTrue == 0) {
|
||||||
if (examErrorQuestion != null) {
|
// 如果做对了
|
||||||
examErrorQuestionService.insertExamErrorQuestion(examErrorQuestion);
|
if (!isInsert) {
|
||||||
|
// 删除对应的题,但是保留记录
|
||||||
|
examErrorQuestionService.deleteExamErrorQuestion(quId, String.valueOf(stuInfoVo.getStuId()), String.valueOf(systemTenant.getId()));
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
// 如果做错了
|
||||||
|
ExamErrorQuestion examErrorQuestion = ErrorQuestion.insertErrorQuestion(quId, examQuestion, taskId, systemTenant, stuInfoVo, isTrue);
|
||||||
|
if (!isInsert) {
|
||||||
|
if (examErrorQuestion != null) {
|
||||||
|
examErrorQuestionService.insertExamErrorQuestion(examErrorQuestion);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 只要是试题错误,直接进行添加到记录表中
|
||||||
|
ExamErrorQuestionInfo examErrorQuestionInfo = ErrorQuestion.insertErrorQuestionInfo(quId, taskId, systemTenant, stuInfoVo);
|
||||||
|
examErrorQuestionInfoService.insertExamErrorQuestionInfo(examErrorQuestionInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 关闭文件输入流
|
// 关闭文件输入流
|
||||||
@@ -266,15 +281,19 @@ public class AutoForWinEmailSettingServiceImpl implements AutoForWinEmailSetting
|
|||||||
insertInfo.setTrueScore(new BigDecimal(quScore));
|
insertInfo.setTrueScore(new BigDecimal(quScore));
|
||||||
stuPaperScoreService.insertStuPaperScore(insertInfo);
|
stuPaperScoreService.insertStuPaperScore(insertInfo);
|
||||||
// 判断是否进入错题集
|
// 判断是否进入错题集
|
||||||
ExamErrorQuestion examErrorQuestion = ErrorQuestion.insertErrorQuestion(quId, examQuestion, taskId, systemTenant, stuInfoVo, 1);
|
|
||||||
boolean isInsert = examErrorQuestionService.isExamErrorQuestion(quId,
|
boolean isInsert = examErrorQuestionService.isExamErrorQuestion(quId,
|
||||||
String.valueOf(stuInfoVo.getStuId()),
|
String.valueOf(stuInfoVo.getStuId()),
|
||||||
String.valueOf(systemTenant.getId()));
|
String.valueOf(systemTenant.getId()));
|
||||||
|
// 如果做错了
|
||||||
|
ExamErrorQuestion examErrorQuestion = ErrorQuestion.insertErrorQuestion(quId, examQuestion, taskId, systemTenant, stuInfoVo, 1);
|
||||||
if (!isInsert) {
|
if (!isInsert) {
|
||||||
if (examErrorQuestion != null) {
|
if (examErrorQuestion != null) {
|
||||||
examErrorQuestionService.insertExamErrorQuestion(examErrorQuestion);
|
examErrorQuestionService.insertExamErrorQuestion(examErrorQuestion);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// 只要是试题错误,直接进行添加到记录表中
|
||||||
|
ExamErrorQuestionInfo examErrorQuestionInfo = ErrorQuestion.insertErrorQuestionInfo(quId, taskId, systemTenant, stuInfoVo);
|
||||||
|
examErrorQuestionInfoService.insertExamErrorQuestionInfo(examErrorQuestionInfo);
|
||||||
}
|
}
|
||||||
return score.setScale(1, BigDecimal.ROUND_HALF_UP);
|
return score.setScale(1, BigDecimal.ROUND_HALF_UP);
|
||||||
}
|
}
|
||||||
|
@@ -6,6 +6,7 @@ import com.example.exam.exam.mapper.EducationPaperMapper;
|
|||||||
import com.example.exam.exam.mapper.EducationPaperQuMapper;
|
import com.example.exam.exam.mapper.EducationPaperQuMapper;
|
||||||
import com.example.exam.exam.mapper.EducationPaperSchemeMapper;
|
import com.example.exam.exam.mapper.EducationPaperSchemeMapper;
|
||||||
import com.example.exam.exam.service.c.JudgementService;
|
import com.example.exam.exam.service.c.JudgementService;
|
||||||
|
import com.example.exam.exam.service.error.IExamErrorQuestionInfoService;
|
||||||
import com.example.exam.exam.service.error.IExamErrorQuestionService;
|
import com.example.exam.exam.service.error.IExamErrorQuestionService;
|
||||||
import com.example.exam.exam.service.question.IExamQuestionService;
|
import com.example.exam.exam.service.question.IExamQuestionService;
|
||||||
import com.example.exam.exam.service.stupaperscore.StuPaperScoreService;
|
import com.example.exam.exam.service.stupaperscore.StuPaperScoreService;
|
||||||
@@ -41,6 +42,8 @@ public class AutoForWinEdgeSettingServiceImpl implements AutoForWinEdgeSettingSe
|
|||||||
EducationPaperMapper educationPaperMapper;
|
EducationPaperMapper educationPaperMapper;
|
||||||
@Resource
|
@Resource
|
||||||
IExamErrorQuestionService examErrorQuestionService;
|
IExamErrorQuestionService examErrorQuestionService;
|
||||||
|
@Resource
|
||||||
|
IExamErrorQuestionInfoService examErrorQuestionInfoService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 自动判题Edge
|
* 自动判题Edge
|
||||||
@@ -201,14 +204,26 @@ public class AutoForWinEdgeSettingServiceImpl implements AutoForWinEdgeSettingSe
|
|||||||
insertInfo.setTrueScore(new BigDecimal(quScore));
|
insertInfo.setTrueScore(new BigDecimal(quScore));
|
||||||
stuPaperScoreService.insertStuPaperScore(insertInfo);
|
stuPaperScoreService.insertStuPaperScore(insertInfo);
|
||||||
// 判断是否进入错题集
|
// 判断是否进入错题集
|
||||||
ExamErrorQuestion examErrorQuestion = ErrorQuestion.insertErrorQuestion(quId, examQuestion, taskId, systemTenant, stuInfoVo, isTrue);
|
|
||||||
boolean isInsert = examErrorQuestionService.isExamErrorQuestion(quId,
|
boolean isInsert = examErrorQuestionService.isExamErrorQuestion(quId,
|
||||||
String.valueOf(stuInfoVo.getStuId()),
|
String.valueOf(stuInfoVo.getStuId()),
|
||||||
String.valueOf(systemTenant.getId()));
|
String.valueOf(systemTenant.getId()));
|
||||||
if (!isInsert) {
|
if (isTrue == 0) {
|
||||||
if (examErrorQuestion != null) {
|
// 如果做对了
|
||||||
examErrorQuestionService.insertExamErrorQuestion(examErrorQuestion);
|
if (!isInsert) {
|
||||||
|
// 删除对应的题,但是保留记录
|
||||||
|
examErrorQuestionService.deleteExamErrorQuestion(quId, String.valueOf(stuInfoVo.getStuId()), String.valueOf(systemTenant.getId()));
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
// 如果做错了
|
||||||
|
ExamErrorQuestion examErrorQuestion = ErrorQuestion.insertErrorQuestion(quId, examQuestion, taskId, systemTenant, stuInfoVo, isTrue);
|
||||||
|
if (!isInsert) {
|
||||||
|
if (examErrorQuestion != null) {
|
||||||
|
examErrorQuestionService.insertExamErrorQuestion(examErrorQuestion);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 只要是试题错误,直接进行添加到记录表中
|
||||||
|
ExamErrorQuestionInfo examErrorQuestionInfo = ErrorQuestion.insertErrorQuestionInfo(quId, taskId, systemTenant, stuInfoVo);
|
||||||
|
examErrorQuestionInfoService.insertExamErrorQuestionInfo(examErrorQuestionInfo);
|
||||||
}
|
}
|
||||||
// 关闭文件输入流
|
// 关闭文件输入流
|
||||||
if (fileInputStream != null) {
|
if (fileInputStream != null) {
|
||||||
@@ -261,15 +276,19 @@ public class AutoForWinEdgeSettingServiceImpl implements AutoForWinEdgeSettingSe
|
|||||||
insertInfo.setTrueScore(new BigDecimal(quScore));
|
insertInfo.setTrueScore(new BigDecimal(quScore));
|
||||||
stuPaperScoreService.insertStuPaperScore(insertInfo);
|
stuPaperScoreService.insertStuPaperScore(insertInfo);
|
||||||
// 判断是否进入错题集
|
// 判断是否进入错题集
|
||||||
ExamErrorQuestion examErrorQuestion = ErrorQuestion.insertErrorQuestion(quId, examQuestion, taskId, systemTenant, stuInfoVo, 1);
|
|
||||||
boolean isInsert = examErrorQuestionService.isExamErrorQuestion(quId,
|
boolean isInsert = examErrorQuestionService.isExamErrorQuestion(quId,
|
||||||
String.valueOf(stuInfoVo.getStuId()),
|
String.valueOf(stuInfoVo.getStuId()),
|
||||||
String.valueOf(systemTenant.getId()));
|
String.valueOf(systemTenant.getId()));
|
||||||
|
// 如果做错了
|
||||||
|
ExamErrorQuestion examErrorQuestion = ErrorQuestion.insertErrorQuestion(quId, examQuestion, taskId, systemTenant, stuInfoVo, 1);
|
||||||
if (!isInsert) {
|
if (!isInsert) {
|
||||||
if (examErrorQuestion != null) {
|
if (examErrorQuestion != null) {
|
||||||
examErrorQuestionService.insertExamErrorQuestion(examErrorQuestion);
|
examErrorQuestionService.insertExamErrorQuestion(examErrorQuestion);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// 只要是试题错误,直接进行添加到记录表中
|
||||||
|
ExamErrorQuestionInfo examErrorQuestionInfo = ErrorQuestion.insertErrorQuestionInfo(quId, taskId, systemTenant, stuInfoVo);
|
||||||
|
examErrorQuestionInfoService.insertExamErrorQuestionInfo(examErrorQuestionInfo);
|
||||||
}
|
}
|
||||||
return score.setScale(1, BigDecimal.ROUND_HALF_UP);
|
return score.setScale(1, BigDecimal.ROUND_HALF_UP);
|
||||||
}
|
}
|
||||||
|
@@ -5,6 +5,7 @@ import com.example.exam.exam.dal.*;
|
|||||||
import com.example.exam.exam.mapper.EducationPaperQuMapper;
|
import com.example.exam.exam.mapper.EducationPaperQuMapper;
|
||||||
import com.example.exam.exam.mapper.EducationPaperSchemeMapper;
|
import com.example.exam.exam.mapper.EducationPaperSchemeMapper;
|
||||||
import com.example.exam.exam.service.brower.JudgementBrowerService;
|
import com.example.exam.exam.service.brower.JudgementBrowerService;
|
||||||
|
import com.example.exam.exam.service.error.IExamErrorQuestionInfoService;
|
||||||
import com.example.exam.exam.service.error.IExamErrorQuestionService;
|
import com.example.exam.exam.service.error.IExamErrorQuestionService;
|
||||||
import com.example.exam.exam.service.question.IExamQuestionService;
|
import com.example.exam.exam.service.question.IExamQuestionService;
|
||||||
import com.example.exam.exam.service.stupaperscore.StuPaperScoreService;
|
import com.example.exam.exam.service.stupaperscore.StuPaperScoreService;
|
||||||
@@ -38,6 +39,8 @@ public class AutoForBrowerServiceImpl implements AutoForBrowerService {
|
|||||||
SystemTenantService systemTenantService;
|
SystemTenantService systemTenantService;
|
||||||
@Resource
|
@Resource
|
||||||
IExamErrorQuestionService examErrorQuestionService;
|
IExamErrorQuestionService examErrorQuestionService;
|
||||||
|
@Resource
|
||||||
|
IExamErrorQuestionInfoService examErrorQuestionInfoService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 自动判题文件处理
|
* 自动判题文件处理
|
||||||
@@ -104,14 +107,26 @@ public class AutoForBrowerServiceImpl implements AutoForBrowerService {
|
|||||||
stuPaperScoreService.insertStuPaperScore(insertInfo);
|
stuPaperScoreService.insertStuPaperScore(insertInfo);
|
||||||
// 判断是否进入错题集
|
// 判断是否进入错题集
|
||||||
int isError = cpojo.getScore() == 0 ? 1 : cpojo.getScore() >= Double.parseDouble(quScore) ? 0 : 2;
|
int isError = cpojo.getScore() == 0 ? 1 : cpojo.getScore() >= Double.parseDouble(quScore) ? 0 : 2;
|
||||||
ExamErrorQuestion examErrorQuestion = ErrorQuestion.insertErrorQuestion(quId, examQuestion, taskId, systemTenant, stuInfoVo, isError);
|
|
||||||
boolean isInsert = examErrorQuestionService.isExamErrorQuestion(quId,
|
boolean isInsert = examErrorQuestionService.isExamErrorQuestion(quId,
|
||||||
String.valueOf(stuInfoVo.getStuId()),
|
String.valueOf(stuInfoVo.getStuId()),
|
||||||
String.valueOf(systemTenant.getId()));
|
String.valueOf(systemTenant.getId()));
|
||||||
if (!isInsert) {
|
if (isError == 0) {
|
||||||
if (examErrorQuestion != null) {
|
// 如果做对了
|
||||||
examErrorQuestionService.insertExamErrorQuestion(examErrorQuestion);
|
if (!isInsert) {
|
||||||
|
// 删除对应的题,但是保留记录
|
||||||
|
examErrorQuestionService.deleteExamErrorQuestion(quId, String.valueOf(stuInfoVo.getStuId()), String.valueOf(systemTenant.getId()));
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
// 如果做错了
|
||||||
|
ExamErrorQuestion examErrorQuestion = ErrorQuestion.insertErrorQuestion(quId, examQuestion, taskId, systemTenant, stuInfoVo, isError);
|
||||||
|
if (!isInsert) {
|
||||||
|
if (examErrorQuestion != null) {
|
||||||
|
examErrorQuestionService.insertExamErrorQuestion(examErrorQuestion);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 只要是试题错误,直接进行添加到记录表中
|
||||||
|
ExamErrorQuestionInfo examErrorQuestionInfo = ErrorQuestion.insertErrorQuestionInfo(quId, taskId, systemTenant, stuInfoVo);
|
||||||
|
examErrorQuestionInfoService.insertExamErrorQuestionInfo(examErrorQuestionInfo);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@@ -5,6 +5,7 @@ import com.example.exam.exam.dal.*;
|
|||||||
import com.example.exam.exam.mapper.EducationPaperQuMapper;
|
import com.example.exam.exam.mapper.EducationPaperQuMapper;
|
||||||
import com.example.exam.exam.mapper.EducationPaperSchemeMapper;
|
import com.example.exam.exam.mapper.EducationPaperSchemeMapper;
|
||||||
import com.example.exam.exam.service.c.JudgementService;
|
import com.example.exam.exam.service.c.JudgementService;
|
||||||
|
import com.example.exam.exam.service.error.IExamErrorQuestionInfoService;
|
||||||
import com.example.exam.exam.service.error.IExamErrorQuestionService;
|
import com.example.exam.exam.service.error.IExamErrorQuestionService;
|
||||||
import com.example.exam.exam.service.question.IExamQuestionService;
|
import com.example.exam.exam.service.question.IExamQuestionService;
|
||||||
import com.example.exam.exam.service.stupaperscore.StuPaperScoreService;
|
import com.example.exam.exam.service.stupaperscore.StuPaperScoreService;
|
||||||
@@ -39,6 +40,8 @@ public class AutoForCServiceImpl implements AutoForCService {
|
|||||||
SystemTenantService systemTenantService;
|
SystemTenantService systemTenantService;
|
||||||
@Resource
|
@Resource
|
||||||
IExamErrorQuestionService examErrorQuestionService;
|
IExamErrorQuestionService examErrorQuestionService;
|
||||||
|
@Resource
|
||||||
|
IExamErrorQuestionInfoService examErrorQuestionInfoService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 自动判题C语言
|
* 自动判题C语言
|
||||||
@@ -109,14 +112,26 @@ public class AutoForCServiceImpl implements AutoForCService {
|
|||||||
stuPaperScoreService.insertStuPaperScore(insertInfo);
|
stuPaperScoreService.insertStuPaperScore(insertInfo);
|
||||||
// 判断是否进入错题集
|
// 判断是否进入错题集
|
||||||
int isError = cpojo.getScore() == 0 ? 1 : cpojo.getScore() >= Double.parseDouble(quScore) ? 0 : 2;
|
int isError = cpojo.getScore() == 0 ? 1 : cpojo.getScore() >= Double.parseDouble(quScore) ? 0 : 2;
|
||||||
ExamErrorQuestion examErrorQuestion = ErrorQuestion.insertErrorQuestion(quId, examQuestion, taskId, systemTenant, stuInfoVo, isError);
|
|
||||||
boolean isInsert = examErrorQuestionService.isExamErrorQuestion(quId,
|
boolean isInsert = examErrorQuestionService.isExamErrorQuestion(quId,
|
||||||
String.valueOf(stuInfoVo.getStuId()),
|
String.valueOf(stuInfoVo.getStuId()),
|
||||||
String.valueOf(systemTenant.getId()));
|
String.valueOf(systemTenant.getId()));
|
||||||
if (!isInsert) {
|
if (isError == 0) {
|
||||||
if (examErrorQuestion != null) {
|
// 如果做对了
|
||||||
examErrorQuestionService.insertExamErrorQuestion(examErrorQuestion);
|
if (!isInsert) {
|
||||||
|
// 删除对应的题,但是保留记录
|
||||||
|
examErrorQuestionService.deleteExamErrorQuestion(quId, String.valueOf(stuInfoVo.getStuId()), String.valueOf(systemTenant.getId()));
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
// 如果做错了
|
||||||
|
ExamErrorQuestion examErrorQuestion = ErrorQuestion.insertErrorQuestion(quId, examQuestion, taskId, systemTenant, stuInfoVo, isError);
|
||||||
|
if (!isInsert) {
|
||||||
|
if (examErrorQuestion != null) {
|
||||||
|
examErrorQuestionService.insertExamErrorQuestion(examErrorQuestion);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 只要是试题错误,直接进行添加到记录表中
|
||||||
|
ExamErrorQuestionInfo examErrorQuestionInfo = ErrorQuestion.insertErrorQuestionInfo(quId, taskId, systemTenant, stuInfoVo);
|
||||||
|
examErrorQuestionInfoService.insertExamErrorQuestionInfo(examErrorQuestionInfo);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@@ -6,6 +6,7 @@ import com.example.exam.exam.mapper.EducationPaperMapper;
|
|||||||
import com.example.exam.exam.mapper.EducationPaperQuMapper;
|
import com.example.exam.exam.mapper.EducationPaperQuMapper;
|
||||||
import com.example.exam.exam.mapper.EducationPaperSchemeMapper;
|
import com.example.exam.exam.mapper.EducationPaperSchemeMapper;
|
||||||
import com.example.exam.exam.service.c.JudgementService;
|
import com.example.exam.exam.service.c.JudgementService;
|
||||||
|
import com.example.exam.exam.service.error.IExamErrorQuestionInfoService;
|
||||||
import com.example.exam.exam.service.error.IExamErrorQuestionService;
|
import com.example.exam.exam.service.error.IExamErrorQuestionService;
|
||||||
import com.example.exam.exam.service.question.IExamQuestionService;
|
import com.example.exam.exam.service.question.IExamQuestionService;
|
||||||
import com.example.exam.exam.service.stupaperscore.StuPaperScoreService;
|
import com.example.exam.exam.service.stupaperscore.StuPaperScoreService;
|
||||||
@@ -42,6 +43,8 @@ public class AutoForChoiceServiceImpl implements AutoForChoiceService {
|
|||||||
EducationPaperMapper educationPaperMapper;
|
EducationPaperMapper educationPaperMapper;
|
||||||
@Resource
|
@Resource
|
||||||
IExamErrorQuestionService examErrorQuestionService;
|
IExamErrorQuestionService examErrorQuestionService;
|
||||||
|
@Resource
|
||||||
|
IExamErrorQuestionInfoService examErrorQuestionInfoService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 自动判题选择题
|
* 自动判题选择题
|
||||||
@@ -160,14 +163,26 @@ public class AutoForChoiceServiceImpl implements AutoForChoiceService {
|
|||||||
stuPaperScoreService.insertStuPaperScore(insertInfo);
|
stuPaperScoreService.insertStuPaperScore(insertInfo);
|
||||||
// 判断是否进入错题集
|
// 判断是否进入错题集
|
||||||
int isError = isRight ? 0 : 1;
|
int isError = isRight ? 0 : 1;
|
||||||
ExamErrorQuestion examErrorQuestion = ErrorQuestion.insertErrorQuestion(quId, examQuestion, taskId, systemTenant, stuInfoVo, isError);
|
|
||||||
boolean isInsert = examErrorQuestionService.isExamErrorQuestion(quId,
|
boolean isInsert = examErrorQuestionService.isExamErrorQuestion(quId,
|
||||||
String.valueOf(stuInfoVo.getStuId()),
|
String.valueOf(stuInfoVo.getStuId()),
|
||||||
String.valueOf(systemTenant.getId()));
|
String.valueOf(systemTenant.getId()));
|
||||||
if (!isInsert) {
|
if (isError == 0) {
|
||||||
if (examErrorQuestion != null) {
|
// 如果做对了
|
||||||
examErrorQuestionService.insertExamErrorQuestion(examErrorQuestion);
|
if (!isInsert) {
|
||||||
|
// 删除对应的题,但是保留记录
|
||||||
|
examErrorQuestionService.deleteExamErrorQuestion(quId, String.valueOf(stuInfoVo.getStuId()), String.valueOf(systemTenant.getId()));
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
// 如果做错了
|
||||||
|
ExamErrorQuestion examErrorQuestion = ErrorQuestion.insertErrorQuestion(quId, examQuestion, taskId, systemTenant, stuInfoVo, isError);
|
||||||
|
if (!isInsert) {
|
||||||
|
if (examErrorQuestion != null) {
|
||||||
|
examErrorQuestionService.insertExamErrorQuestion(examErrorQuestion);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 只要是试题错误,直接进行添加到记录表中
|
||||||
|
ExamErrorQuestionInfo examErrorQuestionInfo = ErrorQuestion.insertErrorQuestionInfo(quId, taskId, systemTenant, stuInfoVo);
|
||||||
|
examErrorQuestionInfoService.insertExamErrorQuestionInfo(examErrorQuestionInfo);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// 根据ID查询试题
|
// 根据ID查询试题
|
||||||
@@ -211,6 +226,9 @@ public class AutoForChoiceServiceImpl implements AutoForChoiceService {
|
|||||||
examErrorQuestionService.insertExamErrorQuestion(examErrorQuestion);
|
examErrorQuestionService.insertExamErrorQuestion(examErrorQuestion);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// 只要是试题错误,直接进行添加到记录表中
|
||||||
|
ExamErrorQuestionInfo examErrorQuestionInfo = ErrorQuestion.insertErrorQuestionInfo(quId, taskId, systemTenant, stuInfoVo);
|
||||||
|
examErrorQuestionInfoService.insertExamErrorQuestionInfo(examErrorQuestionInfo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (fileInputStream != null) {
|
if (fileInputStream != null) {
|
||||||
@@ -271,6 +289,9 @@ public class AutoForChoiceServiceImpl implements AutoForChoiceService {
|
|||||||
examErrorQuestionService.insertExamErrorQuestion(examErrorQuestion);
|
examErrorQuestionService.insertExamErrorQuestion(examErrorQuestion);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// 只要是试题错误,直接进行添加到记录表中
|
||||||
|
ExamErrorQuestionInfo examErrorQuestionInfo = ErrorQuestion.insertErrorQuestionInfo(quId, taskId, systemTenant, stuInfoVo);
|
||||||
|
examErrorQuestionInfoService.insertExamErrorQuestionInfo(examErrorQuestionInfo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return score;
|
return score;
|
||||||
|
@@ -5,6 +5,7 @@ import com.example.exam.exam.dal.*;
|
|||||||
import com.example.exam.exam.mapper.EducationPaperQuMapper;
|
import com.example.exam.exam.mapper.EducationPaperQuMapper;
|
||||||
import com.example.exam.exam.mapper.EducationPaperSchemeMapper;
|
import com.example.exam.exam.mapper.EducationPaperSchemeMapper;
|
||||||
import com.example.exam.exam.service.c.JudgementService;
|
import com.example.exam.exam.service.c.JudgementService;
|
||||||
|
import com.example.exam.exam.service.error.IExamErrorQuestionInfoService;
|
||||||
import com.example.exam.exam.service.error.IExamErrorQuestionService;
|
import com.example.exam.exam.service.error.IExamErrorQuestionService;
|
||||||
import com.example.exam.exam.service.mysql.IMysqlLocalService;
|
import com.example.exam.exam.service.mysql.IMysqlLocalService;
|
||||||
import com.example.exam.exam.service.question.IExamQuestionService;
|
import com.example.exam.exam.service.question.IExamQuestionService;
|
||||||
@@ -44,6 +45,8 @@ public class AutoForFileServiceImpl implements AutoForFileService {
|
|||||||
SystemTenantService systemTenantService;
|
SystemTenantService systemTenantService;
|
||||||
@Resource
|
@Resource
|
||||||
IExamErrorQuestionService examErrorQuestionService;
|
IExamErrorQuestionService examErrorQuestionService;
|
||||||
|
@Resource
|
||||||
|
IExamErrorQuestionInfoService examErrorQuestionInfoService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 自动判题文件处理
|
* 自动判题文件处理
|
||||||
@@ -110,14 +113,26 @@ public class AutoForFileServiceImpl implements AutoForFileService {
|
|||||||
stuPaperScoreService.insertStuPaperScore(insertInfo);
|
stuPaperScoreService.insertStuPaperScore(insertInfo);
|
||||||
// 判断是否进入错题集
|
// 判断是否进入错题集
|
||||||
int isError = cpojo.getScore() == 0 ? 1 : cpojo.getScore() >= Double.parseDouble(quScore) ? 0 : 2;
|
int isError = cpojo.getScore() == 0 ? 1 : cpojo.getScore() >= Double.parseDouble(quScore) ? 0 : 2;
|
||||||
ExamErrorQuestion examErrorQuestion = ErrorQuestion.insertErrorQuestion(quId, examQuestion, taskId, systemTenant, stuInfoVo, isError);
|
|
||||||
boolean isInsert = examErrorQuestionService.isExamErrorQuestion(quId,
|
boolean isInsert = examErrorQuestionService.isExamErrorQuestion(quId,
|
||||||
String.valueOf(stuInfoVo.getStuId()),
|
String.valueOf(stuInfoVo.getStuId()),
|
||||||
String.valueOf(systemTenant.getId()));
|
String.valueOf(systemTenant.getId()));
|
||||||
if (!isInsert) {
|
if (isError == 0) {
|
||||||
if (examErrorQuestion != null) {
|
// 如果做对了
|
||||||
examErrorQuestionService.insertExamErrorQuestion(examErrorQuestion);
|
if (!isInsert) {
|
||||||
|
// 删除对应的题,但是保留记录
|
||||||
|
examErrorQuestionService.deleteExamErrorQuestion(quId, String.valueOf(stuInfoVo.getStuId()), String.valueOf(systemTenant.getId()));
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
// 如果做错了
|
||||||
|
ExamErrorQuestion examErrorQuestion = ErrorQuestion.insertErrorQuestion(quId, examQuestion, taskId, systemTenant, stuInfoVo, isError);
|
||||||
|
if (!isInsert) {
|
||||||
|
if (examErrorQuestion != null) {
|
||||||
|
examErrorQuestionService.insertExamErrorQuestion(examErrorQuestion);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 只要是试题错误,直接进行添加到记录表中
|
||||||
|
ExamErrorQuestionInfo examErrorQuestionInfo = ErrorQuestion.insertErrorQuestionInfo(quId, taskId, systemTenant, stuInfoVo);
|
||||||
|
examErrorQuestionInfoService.insertExamErrorQuestionInfo(examErrorQuestionInfo);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@@ -5,6 +5,7 @@ import com.example.exam.exam.dal.*;
|
|||||||
import com.example.exam.exam.mapper.EducationPaperQuMapper;
|
import com.example.exam.exam.mapper.EducationPaperQuMapper;
|
||||||
import com.example.exam.exam.mapper.EducationPaperSchemeMapper;
|
import com.example.exam.exam.mapper.EducationPaperSchemeMapper;
|
||||||
import com.example.exam.exam.service.c.JudgementService;
|
import com.example.exam.exam.service.c.JudgementService;
|
||||||
|
import com.example.exam.exam.service.error.IExamErrorQuestionInfoService;
|
||||||
import com.example.exam.exam.service.error.IExamErrorQuestionService;
|
import com.example.exam.exam.service.error.IExamErrorQuestionService;
|
||||||
import com.example.exam.exam.service.mysql.IMysqlLocalService;
|
import com.example.exam.exam.service.mysql.IMysqlLocalService;
|
||||||
import com.example.exam.exam.service.question.IExamQuestionService;
|
import com.example.exam.exam.service.question.IExamQuestionService;
|
||||||
@@ -38,6 +39,8 @@ public class AutoForMysqlServiceImpl implements AutoForMysqlService {
|
|||||||
SystemTenantService systemTenantService;
|
SystemTenantService systemTenantService;
|
||||||
@Resource
|
@Resource
|
||||||
IExamErrorQuestionService examErrorQuestionService;
|
IExamErrorQuestionService examErrorQuestionService;
|
||||||
|
@Resource
|
||||||
|
IExamErrorQuestionInfoService examErrorQuestionInfoService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 自动判题C语言
|
* 自动判题C语言
|
||||||
@@ -107,14 +110,26 @@ public class AutoForMysqlServiceImpl implements AutoForMysqlService {
|
|||||||
stuPaperScoreService.insertStuPaperScore(insertInfo);
|
stuPaperScoreService.insertStuPaperScore(insertInfo);
|
||||||
// 判断是否进入错题集
|
// 判断是否进入错题集
|
||||||
int isError = cpojo.getScore() == 0 ? 1 : cpojo.getScore() >= Double.parseDouble(quScore) ? 0 : 2;
|
int isError = cpojo.getScore() == 0 ? 1 : cpojo.getScore() >= Double.parseDouble(quScore) ? 0 : 2;
|
||||||
ExamErrorQuestion examErrorQuestion = ErrorQuestion.insertErrorQuestion(quId, examQuestion, taskId, systemTenant, stuInfoVo, isError);
|
|
||||||
boolean isInsert = examErrorQuestionService.isExamErrorQuestion(quId,
|
boolean isInsert = examErrorQuestionService.isExamErrorQuestion(quId,
|
||||||
String.valueOf(stuInfoVo.getStuId()),
|
String.valueOf(stuInfoVo.getStuId()),
|
||||||
String.valueOf(systemTenant.getId()));
|
String.valueOf(systemTenant.getId()));
|
||||||
if (!isInsert) {
|
if (isError == 0) {
|
||||||
if (examErrorQuestion != null) {
|
// 如果做对了
|
||||||
examErrorQuestionService.insertExamErrorQuestion(examErrorQuestion);
|
if (!isInsert) {
|
||||||
|
// 删除对应的题,但是保留记录
|
||||||
|
examErrorQuestionService.deleteExamErrorQuestion(quId, String.valueOf(stuInfoVo.getStuId()), String.valueOf(systemTenant.getId()));
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
// 如果做错了
|
||||||
|
ExamErrorQuestion examErrorQuestion = ErrorQuestion.insertErrorQuestion(quId, examQuestion, taskId, systemTenant, stuInfoVo, isError);
|
||||||
|
if (!isInsert) {
|
||||||
|
if (examErrorQuestion != null) {
|
||||||
|
examErrorQuestionService.insertExamErrorQuestion(examErrorQuestion);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 只要是试题错误,直接进行添加到记录表中
|
||||||
|
ExamErrorQuestionInfo examErrorQuestionInfo = ErrorQuestion.insertErrorQuestionInfo(quId, taskId, systemTenant, stuInfoVo);
|
||||||
|
examErrorQuestionInfoService.insertExamErrorQuestionInfo(examErrorQuestionInfo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@@ -4,6 +4,7 @@ import com.example.exam.exam.controller.auto.vo.StuInfoVo;
|
|||||||
import com.example.exam.exam.dal.*;
|
import com.example.exam.exam.dal.*;
|
||||||
import com.example.exam.exam.mapper.EducationPaperQuMapper;
|
import com.example.exam.exam.mapper.EducationPaperQuMapper;
|
||||||
import com.example.exam.exam.mapper.EducationPaperSchemeMapper;
|
import com.example.exam.exam.mapper.EducationPaperSchemeMapper;
|
||||||
|
import com.example.exam.exam.service.error.IExamErrorQuestionInfoService;
|
||||||
import com.example.exam.exam.service.error.IExamErrorQuestionService;
|
import com.example.exam.exam.service.error.IExamErrorQuestionService;
|
||||||
import com.example.exam.exam.service.mysql.IMysqlLocalService;
|
import com.example.exam.exam.service.mysql.IMysqlLocalService;
|
||||||
import com.example.exam.exam.service.ps.PsService;
|
import com.example.exam.exam.service.ps.PsService;
|
||||||
@@ -37,6 +38,8 @@ public class AutoForPsServiceImpl implements AutoForPsService {
|
|||||||
SystemTenantService systemTenantService;
|
SystemTenantService systemTenantService;
|
||||||
@Resource
|
@Resource
|
||||||
IExamErrorQuestionService examErrorQuestionService;
|
IExamErrorQuestionService examErrorQuestionService;
|
||||||
|
@Resource
|
||||||
|
IExamErrorQuestionInfoService examErrorQuestionInfoService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BigDecimal autoForPs(StuInfoVo stuInfoVo) throws IOException {
|
public BigDecimal autoForPs(StuInfoVo stuInfoVo) throws IOException {
|
||||||
@@ -100,14 +103,26 @@ public class AutoForPsServiceImpl implements AutoForPsService {
|
|||||||
stuPaperScoreService.insertStuPaperScore(insertInfo);
|
stuPaperScoreService.insertStuPaperScore(insertInfo);
|
||||||
// 判断是否进入错题集
|
// 判断是否进入错题集
|
||||||
int isError = wordpojo.getScore() == 0 ? 1 : wordpojo.getScore() >= Double.parseDouble(quScore) ? 0 : 2;
|
int isError = wordpojo.getScore() == 0 ? 1 : wordpojo.getScore() >= Double.parseDouble(quScore) ? 0 : 2;
|
||||||
ExamErrorQuestion examErrorQuestion = ErrorQuestion.insertErrorQuestion(quId, examQuestion, taskId, systemTenant, stuInfoVo, isError);
|
|
||||||
boolean isInsert = examErrorQuestionService.isExamErrorQuestion(quId,
|
boolean isInsert = examErrorQuestionService.isExamErrorQuestion(quId,
|
||||||
String.valueOf(stuInfoVo.getStuId()),
|
String.valueOf(stuInfoVo.getStuId()),
|
||||||
String.valueOf(systemTenant.getId()));
|
String.valueOf(systemTenant.getId()));
|
||||||
if (!isInsert) {
|
if (isError == 0) {
|
||||||
if (examErrorQuestion != null) {
|
// 如果做对了
|
||||||
examErrorQuestionService.insertExamErrorQuestion(examErrorQuestion);
|
if (!isInsert) {
|
||||||
|
// 删除对应的题,但是保留记录
|
||||||
|
examErrorQuestionService.deleteExamErrorQuestion(quId, String.valueOf(stuInfoVo.getStuId()), String.valueOf(systemTenant.getId()));
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
// 如果做错了
|
||||||
|
ExamErrorQuestion examErrorQuestion = ErrorQuestion.insertErrorQuestion(quId, examQuestion, taskId, systemTenant, stuInfoVo, isError);
|
||||||
|
if (!isInsert) {
|
||||||
|
if (examErrorQuestion != null) {
|
||||||
|
examErrorQuestionService.insertExamErrorQuestion(examErrorQuestion);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 只要是试题错误,直接进行添加到记录表中
|
||||||
|
ExamErrorQuestionInfo examErrorQuestionInfo = ErrorQuestion.insertErrorQuestionInfo(quId, taskId, systemTenant, stuInfoVo);
|
||||||
|
examErrorQuestionInfoService.insertExamErrorQuestionInfo(examErrorQuestionInfo);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@@ -0,0 +1,24 @@
|
|||||||
|
package com.example.exam.exam.service.error;
|
||||||
|
|
||||||
|
|
||||||
|
import com.example.exam.exam.dal.ExamErrorQuestionInfo;
|
||||||
|
import com.example.exam.exam.mapper.ExamErrorQuestionInfoMapper;
|
||||||
|
import jakarta.annotation.Resource;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 错题集记录 Service业务层处理
|
||||||
|
*
|
||||||
|
* @author pengchen
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class ExamErrorQuestionInfoServiceImpl implements IExamErrorQuestionInfoService
|
||||||
|
{
|
||||||
|
@Resource
|
||||||
|
ExamErrorQuestionInfoMapper examErrorQuestionInfoMapper;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void insertExamErrorQuestionInfo(ExamErrorQuestionInfo examErrorQuestionInfo) {
|
||||||
|
examErrorQuestionInfoMapper.insert(examErrorQuestionInfo);
|
||||||
|
}
|
||||||
|
}
|
@@ -29,4 +29,9 @@ public class ExamErrorQuestionServiceImpl implements IExamErrorQuestionService
|
|||||||
public boolean isExamErrorQuestion(String quId, String userId, String tenantId) {
|
public boolean isExamErrorQuestion(String quId, String userId, String tenantId) {
|
||||||
return examErrorQuestionMapper.selectByIdAndUserId(quId, userId, tenantId) != null;
|
return examErrorQuestionMapper.selectByIdAndUserId(quId, userId, tenantId) != null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int deleteExamErrorQuestion(String quId, String userId, String tenantId) {
|
||||||
|
return examErrorQuestionMapper.deleteByQuIdAndUserId(quId, userId, tenantId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -0,0 +1,16 @@
|
|||||||
|
package com.example.exam.exam.service.error;
|
||||||
|
|
||||||
|
|
||||||
|
import com.example.exam.exam.dal.ExamErrorQuestionInfo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 错题集记录 Service接口
|
||||||
|
*
|
||||||
|
* @author pengchen
|
||||||
|
*/
|
||||||
|
public interface IExamErrorQuestionInfoService {
|
||||||
|
/**
|
||||||
|
* 新增错题集数据
|
||||||
|
*/
|
||||||
|
void insertExamErrorQuestionInfo(ExamErrorQuestionInfo examErrorQuestionInfo);
|
||||||
|
}
|
@@ -18,4 +18,9 @@ public interface IExamErrorQuestionService {
|
|||||||
* 判断错题是否存在
|
* 判断错题是否存在
|
||||||
*/
|
*/
|
||||||
boolean isExamErrorQuestion(String quId, String userId, String tenantId);
|
boolean isExamErrorQuestion(String quId, String userId, String tenantId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除错题集数据
|
||||||
|
*/
|
||||||
|
int deleteExamErrorQuestion(String quId, String userId, String tenantId);
|
||||||
}
|
}
|
||||||
|
@@ -6,6 +6,7 @@ import com.example.exam.exam.dal.*;
|
|||||||
import com.example.exam.exam.mapper.EducationPaperQuMapper;
|
import com.example.exam.exam.mapper.EducationPaperQuMapper;
|
||||||
import com.example.exam.exam.mapper.EducationPaperSchemeMapper;
|
import com.example.exam.exam.mapper.EducationPaperSchemeMapper;
|
||||||
import com.example.exam.exam.service.c.JudgementService;
|
import com.example.exam.exam.service.c.JudgementService;
|
||||||
|
import com.example.exam.exam.service.error.IExamErrorQuestionInfoService;
|
||||||
import com.example.exam.exam.service.error.IExamErrorQuestionService;
|
import com.example.exam.exam.service.error.IExamErrorQuestionService;
|
||||||
import com.example.exam.exam.service.question.IExamQuestionService;
|
import com.example.exam.exam.service.question.IExamQuestionService;
|
||||||
import com.example.exam.exam.service.stupaperscore.StuPaperScoreService;
|
import com.example.exam.exam.service.stupaperscore.StuPaperScoreService;
|
||||||
@@ -42,6 +43,8 @@ public class JudgementForExcelServiceImpl implements JudgementForExcelService {
|
|||||||
SystemTenantService systemTenantService;
|
SystemTenantService systemTenantService;
|
||||||
@Resource
|
@Resource
|
||||||
IExamErrorQuestionService examErrorQuestionService;
|
IExamErrorQuestionService examErrorQuestionService;
|
||||||
|
@Resource
|
||||||
|
IExamErrorQuestionInfoService examErrorQuestionInfoService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BigDecimal autoForWpsExcel(StuInfoVo stuInfoVo) throws Exception {
|
public BigDecimal autoForWpsExcel(StuInfoVo stuInfoVo) throws Exception {
|
||||||
@@ -103,14 +106,26 @@ public class JudgementForExcelServiceImpl implements JudgementForExcelService {
|
|||||||
stuPaperScoreService.insertStuPaperScore(insertInfo);
|
stuPaperScoreService.insertStuPaperScore(insertInfo);
|
||||||
// 判断是否进入错题集
|
// 判断是否进入错题集
|
||||||
int isError = excelpojo.getScore() == 0 ? 1 : excelpojo.getScore() >= Double.parseDouble(quScore) ? 0 : 2;
|
int isError = excelpojo.getScore() == 0 ? 1 : excelpojo.getScore() >= Double.parseDouble(quScore) ? 0 : 2;
|
||||||
ExamErrorQuestion examErrorQuestion = ErrorQuestion.insertErrorQuestion(quId, examQuestion, taskId, systemTenant, stuInfoVo, isError);
|
|
||||||
boolean isInsert = examErrorQuestionService.isExamErrorQuestion(quId,
|
boolean isInsert = examErrorQuestionService.isExamErrorQuestion(quId,
|
||||||
String.valueOf(stuInfoVo.getStuId()),
|
String.valueOf(stuInfoVo.getStuId()),
|
||||||
String.valueOf(systemTenant.getId()));
|
String.valueOf(systemTenant.getId()));
|
||||||
if (!isInsert) {
|
if (isError == 0) {
|
||||||
if (examErrorQuestion != null) {
|
// 如果做对了
|
||||||
examErrorQuestionService.insertExamErrorQuestion(examErrorQuestion);
|
if (!isInsert) {
|
||||||
|
// 删除对应的题,但是保留记录
|
||||||
|
examErrorQuestionService.deleteExamErrorQuestion(quId, String.valueOf(stuInfoVo.getStuId()), String.valueOf(systemTenant.getId()));
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
// 如果做错了
|
||||||
|
ExamErrorQuestion examErrorQuestion = ErrorQuestion.insertErrorQuestion(quId, examQuestion, taskId, systemTenant, stuInfoVo, isError);
|
||||||
|
if (!isInsert) {
|
||||||
|
if (examErrorQuestion != null) {
|
||||||
|
examErrorQuestionService.insertExamErrorQuestion(examErrorQuestion);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 只要是试题错误,直接进行添加到记录表中
|
||||||
|
ExamErrorQuestionInfo examErrorQuestionInfo = ErrorQuestion.insertErrorQuestionInfo(quId, taskId, systemTenant, stuInfoVo);
|
||||||
|
examErrorQuestionInfoService.insertExamErrorQuestionInfo(examErrorQuestionInfo);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@@ -6,6 +6,7 @@ import com.example.exam.exam.dal.*;
|
|||||||
import com.example.exam.exam.mapper.EducationPaperQuMapper;
|
import com.example.exam.exam.mapper.EducationPaperQuMapper;
|
||||||
import com.example.exam.exam.mapper.EducationPaperSchemeMapper;
|
import com.example.exam.exam.mapper.EducationPaperSchemeMapper;
|
||||||
import com.example.exam.exam.service.c.JudgementService;
|
import com.example.exam.exam.service.c.JudgementService;
|
||||||
|
import com.example.exam.exam.service.error.IExamErrorQuestionInfoService;
|
||||||
import com.example.exam.exam.service.error.IExamErrorQuestionService;
|
import com.example.exam.exam.service.error.IExamErrorQuestionService;
|
||||||
import com.example.exam.exam.service.question.IExamQuestionService;
|
import com.example.exam.exam.service.question.IExamQuestionService;
|
||||||
import com.example.exam.exam.service.stupaperscore.StuPaperScoreService;
|
import com.example.exam.exam.service.stupaperscore.StuPaperScoreService;
|
||||||
@@ -42,6 +43,8 @@ public class JudgementForPptxServiceImpl implements JudgementForPptxService {
|
|||||||
SystemTenantService systemTenantService;
|
SystemTenantService systemTenantService;
|
||||||
@Resource
|
@Resource
|
||||||
IExamErrorQuestionService examErrorQuestionService;
|
IExamErrorQuestionService examErrorQuestionService;
|
||||||
|
@Resource
|
||||||
|
IExamErrorQuestionInfoService examErrorQuestionInfoService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BigDecimal autoForWpsPptx(StuInfoVo stuInfoVo) throws Exception {
|
public BigDecimal autoForWpsPptx(StuInfoVo stuInfoVo) throws Exception {
|
||||||
@@ -103,14 +106,26 @@ public class JudgementForPptxServiceImpl implements JudgementForPptxService {
|
|||||||
stuPaperScoreService.insertStuPaperScore(insertInfo);
|
stuPaperScoreService.insertStuPaperScore(insertInfo);
|
||||||
// 判断是否进入错题集
|
// 判断是否进入错题集
|
||||||
int isError = pptxpojo.getScore() == 0 ? 1 : pptxpojo.getScore() >= Double.parseDouble(quScore) ? 0 : 2;
|
int isError = pptxpojo.getScore() == 0 ? 1 : pptxpojo.getScore() >= Double.parseDouble(quScore) ? 0 : 2;
|
||||||
ExamErrorQuestion examErrorQuestion = ErrorQuestion.insertErrorQuestion(quId, examQuestion, taskId, systemTenant, stuInfoVo, isError);
|
|
||||||
boolean isInsert = examErrorQuestionService.isExamErrorQuestion(quId,
|
boolean isInsert = examErrorQuestionService.isExamErrorQuestion(quId,
|
||||||
String.valueOf(stuInfoVo.getStuId()),
|
String.valueOf(stuInfoVo.getStuId()),
|
||||||
String.valueOf(systemTenant.getId()));
|
String.valueOf(systemTenant.getId()));
|
||||||
if (!isInsert) {
|
if (isError == 0) {
|
||||||
if (examErrorQuestion != null) {
|
// 如果做对了
|
||||||
examErrorQuestionService.insertExamErrorQuestion(examErrorQuestion);
|
if (!isInsert) {
|
||||||
|
// 删除对应的题,但是保留记录
|
||||||
|
examErrorQuestionService.deleteExamErrorQuestion(quId, String.valueOf(stuInfoVo.getStuId()), String.valueOf(systemTenant.getId()));
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
// 如果做错了
|
||||||
|
ExamErrorQuestion examErrorQuestion = ErrorQuestion.insertErrorQuestion(quId, examQuestion, taskId, systemTenant, stuInfoVo, isError);
|
||||||
|
if (!isInsert) {
|
||||||
|
if (examErrorQuestion != null) {
|
||||||
|
examErrorQuestionService.insertExamErrorQuestion(examErrorQuestion);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 只要是试题错误,直接进行添加到记录表中
|
||||||
|
ExamErrorQuestionInfo examErrorQuestionInfo = ErrorQuestion.insertErrorQuestionInfo(quId, taskId, systemTenant, stuInfoVo);
|
||||||
|
examErrorQuestionInfoService.insertExamErrorQuestionInfo(examErrorQuestionInfo);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@@ -6,20 +6,18 @@ import com.example.exam.exam.dal.*;
|
|||||||
import com.example.exam.exam.mapper.EducationPaperQuMapper;
|
import com.example.exam.exam.mapper.EducationPaperQuMapper;
|
||||||
import com.example.exam.exam.mapper.EducationPaperSchemeMapper;
|
import com.example.exam.exam.mapper.EducationPaperSchemeMapper;
|
||||||
import com.example.exam.exam.service.c.JudgementService;
|
import com.example.exam.exam.service.c.JudgementService;
|
||||||
|
import com.example.exam.exam.service.error.IExamErrorQuestionInfoService;
|
||||||
import com.example.exam.exam.service.error.IExamErrorQuestionService;
|
import com.example.exam.exam.service.error.IExamErrorQuestionService;
|
||||||
import com.example.exam.exam.service.question.IExamQuestionService;
|
import com.example.exam.exam.service.question.IExamQuestionService;
|
||||||
import com.example.exam.exam.service.stupaperscore.StuPaperScoreService;
|
import com.example.exam.exam.service.stupaperscore.StuPaperScoreService;
|
||||||
import com.example.exam.exam.service.tenant.SystemTenantService;
|
import com.example.exam.exam.service.tenant.SystemTenantService;
|
||||||
import com.example.exam.exam.service.wpsword.JudgementWpsWordService;
|
import com.example.exam.exam.service.wpsword.JudgementWpsWordService;
|
||||||
import com.example.exam.exam.utils.error_question.ErrorQuestion;
|
import com.example.exam.exam.utils.error_question.ErrorQuestion;
|
||||||
import com.example.exam.exam.utils.snowflake.SnowflakeId;
|
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import org.springframework.beans.BeanUtils;
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
@@ -45,6 +43,8 @@ public class JudgementForWordServiceImpl implements JudgementForWordService {
|
|||||||
SystemTenantService systemTenantService;
|
SystemTenantService systemTenantService;
|
||||||
@Resource
|
@Resource
|
||||||
IExamErrorQuestionService examErrorQuestionService;
|
IExamErrorQuestionService examErrorQuestionService;
|
||||||
|
@Resource
|
||||||
|
IExamErrorQuestionInfoService examErrorQuestionInfoService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BigDecimal autoForWpsWord(StuInfoVo stuInfoVo) throws Exception {
|
public BigDecimal autoForWpsWord(StuInfoVo stuInfoVo) throws Exception {
|
||||||
@@ -106,14 +106,26 @@ public class JudgementForWordServiceImpl implements JudgementForWordService {
|
|||||||
stuPaperScoreService.insertStuPaperScore(insertInfo);
|
stuPaperScoreService.insertStuPaperScore(insertInfo);
|
||||||
// 判断是否进入错题集
|
// 判断是否进入错题集
|
||||||
int isError = wordpojo.getScore() == 0 ? 1 : wordpojo.getScore() >= Double.parseDouble(quScore) ? 0 : 2;
|
int isError = wordpojo.getScore() == 0 ? 1 : wordpojo.getScore() >= Double.parseDouble(quScore) ? 0 : 2;
|
||||||
ExamErrorQuestion examErrorQuestion = ErrorQuestion.insertErrorQuestion(quId, examQuestion, taskId, systemTenant, stuInfoVo, isError);
|
|
||||||
boolean isInsert = examErrorQuestionService.isExamErrorQuestion(quId,
|
boolean isInsert = examErrorQuestionService.isExamErrorQuestion(quId,
|
||||||
String.valueOf(stuInfoVo.getStuId()),
|
String.valueOf(stuInfoVo.getStuId()),
|
||||||
String.valueOf(systemTenant.getId()));
|
String.valueOf(systemTenant.getId()));
|
||||||
if (!isInsert) {
|
if (isError == 0) {
|
||||||
if (examErrorQuestion != null) {
|
// 如果做对了
|
||||||
examErrorQuestionService.insertExamErrorQuestion(examErrorQuestion);
|
if (!isInsert) {
|
||||||
|
// 删除对应的题,但是保留记录
|
||||||
|
examErrorQuestionService.deleteExamErrorQuestion(quId, String.valueOf(stuInfoVo.getStuId()), String.valueOf(systemTenant.getId()));
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
// 如果做错了
|
||||||
|
ExamErrorQuestion examErrorQuestion = ErrorQuestion.insertErrorQuestion(quId, examQuestion, taskId, systemTenant, stuInfoVo, isError);
|
||||||
|
if (!isInsert) {
|
||||||
|
if (examErrorQuestion != null) {
|
||||||
|
examErrorQuestionService.insertExamErrorQuestion(examErrorQuestion);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 只要是试题错误,直接进行添加到记录表中
|
||||||
|
ExamErrorQuestionInfo examErrorQuestionInfo = ErrorQuestion.insertErrorQuestionInfo(quId, taskId, systemTenant, stuInfoVo);
|
||||||
|
examErrorQuestionInfoService.insertExamErrorQuestionInfo(examErrorQuestionInfo);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@@ -2,6 +2,7 @@ package com.example.exam.exam.utils.error_question;
|
|||||||
|
|
||||||
import com.example.exam.exam.controller.auto.vo.StuInfoVo;
|
import com.example.exam.exam.controller.auto.vo.StuInfoVo;
|
||||||
import com.example.exam.exam.dal.ExamErrorQuestion;
|
import com.example.exam.exam.dal.ExamErrorQuestion;
|
||||||
|
import com.example.exam.exam.dal.ExamErrorQuestionInfo;
|
||||||
import com.example.exam.exam.dal.ExamQuestion;
|
import com.example.exam.exam.dal.ExamQuestion;
|
||||||
import com.example.exam.exam.dal.SystemTenant;
|
import com.example.exam.exam.dal.SystemTenant;
|
||||||
import com.example.exam.exam.utils.snowflake.SnowflakeId;
|
import com.example.exam.exam.utils.snowflake.SnowflakeId;
|
||||||
@@ -33,4 +34,20 @@ public class ErrorQuestion {
|
|||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static ExamErrorQuestionInfo insertErrorQuestionInfo(String quId,
|
||||||
|
String taskId,
|
||||||
|
SystemTenant systemTenant,
|
||||||
|
StuInfoVo stuInfoVo) {
|
||||||
|
ExamErrorQuestionInfo examErrorQuestionInfo = new ExamErrorQuestionInfo();
|
||||||
|
SnowflakeId idWorker = new SnowflakeId(0, 31);
|
||||||
|
examErrorQuestionInfo.setId(idWorker.nextIdStr());
|
||||||
|
examErrorQuestionInfo.setTaskId(taskId);
|
||||||
|
examErrorQuestionInfo.setQuId(quId);
|
||||||
|
examErrorQuestionInfo.setTenantId(systemTenant.getId());
|
||||||
|
examErrorQuestionInfo.setCreator(String.valueOf(stuInfoVo.getStuId()));
|
||||||
|
examErrorQuestionInfo.setCreateTime(LocalDateTime.now());
|
||||||
|
return examErrorQuestionInfo;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
15
src/main/resources/mapper/error/ExamErrorQuestionMapper.xml
Normal file
15
src/main/resources/mapper/error/ExamErrorQuestionMapper.xml
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!DOCTYPE mapper
|
||||||
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.example.exam.exam.mapper.ExamErrorQuestionMapper">
|
||||||
|
|
||||||
|
<delete id="deleteByQuIdAndUserId" parameterType="long">
|
||||||
|
DELETE
|
||||||
|
FROM exam_error_question
|
||||||
|
WHERE qu_id = #{quId}
|
||||||
|
AND creator = #{userId}
|
||||||
|
AND tenant_id = #{tenantId}
|
||||||
|
</delete>
|
||||||
|
|
||||||
|
</mapper>
|
Reference in New Issue
Block a user