|
@@ -12,12 +12,15 @@ import com.qmth.teachcloud.common.bean.dto.MqDto;
|
|
|
import com.qmth.teachcloud.common.bean.vo.PaperInfoVo;
|
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
|
import com.qmth.teachcloud.common.entity.BasicCourse;
|
|
|
+import com.qmth.teachcloud.common.entity.BasicSchool;
|
|
|
import com.qmth.teachcloud.common.entity.MarkQuestion;
|
|
|
import com.qmth.teachcloud.common.enums.PushTypeEnum;
|
|
|
import com.qmth.teachcloud.common.enums.TaskResultEnum;
|
|
|
import com.qmth.teachcloud.common.enums.TaskStatusEnum;
|
|
|
import com.qmth.teachcloud.common.enums.mark.MarkPaperStatus;
|
|
|
+import com.qmth.teachcloud.common.mapper.BasicSchoolMapper;
|
|
|
import com.qmth.teachcloud.common.service.BasicCourseService;
|
|
|
+import com.qmth.teachcloud.common.service.SysConfigService;
|
|
|
import com.qmth.teachcloud.common.util.DateDisposeUtils;
|
|
|
import com.qmth.teachcloud.common.util.RedisUtil;
|
|
|
import com.qmth.teachcloud.data.service.TSyncDataService;
|
|
@@ -41,6 +44,7 @@ import java.util.Objects;
|
|
|
import java.util.concurrent.ExecutorService;
|
|
|
import java.util.concurrent.Executors;
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* @Description: job service impl
|
|
@@ -95,6 +99,10 @@ public class JobServiceImpl implements JobService {
|
|
|
|
|
|
@Resource
|
|
|
MarkStudentService markStudentService;
|
|
|
+ @Resource
|
|
|
+ BasicSchoolMapper basicSchoolMapper;
|
|
|
+ @Resource
|
|
|
+ SysConfigService sysConfigService;
|
|
|
|
|
|
@Override
|
|
|
public void sendSmsExpireTask() {
|
|
@@ -275,9 +283,16 @@ public class JobServiceImpl implements JobService {
|
|
|
log.info("start auto ocr_question");
|
|
|
try {
|
|
|
List<MarkQuestion> markQuestionList = markQuestionService.listUnOcrQuestion();
|
|
|
- for (MarkQuestion markQuestion : markQuestionList) {
|
|
|
- // AI评卷任务自动评卷
|
|
|
- markQuestionService.ocrMarkQuestion(markQuestion);
|
|
|
+ Map<Long, List<MarkQuestion>> listMap = markQuestionList.stream().collect(Collectors.groupingBy(MarkQuestion::getExamId));
|
|
|
+ for (Map.Entry<Long, List<MarkQuestion>> entry : listMap.entrySet()) {
|
|
|
+ BasicSchool basicSchool = basicSchoolMapper.selectByExamId(entry.getKey());
|
|
|
+ if (!sysConfigService.getEnableByType(basicSchool.getId(), SystemConstant.AI_MARK_SET)) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ for (MarkQuestion markQuestion : entry.getValue()) {
|
|
|
+ // AI评卷任务自动评卷
|
|
|
+ markQuestionService.ocrMarkQuestion(markQuestion);
|
|
|
+ }
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
log.error("auto ocr_question error", e);
|
|
@@ -291,9 +306,16 @@ public class JobServiceImpl implements JobService {
|
|
|
log.info("start auto ai_question");
|
|
|
try {
|
|
|
List<MarkQuestion> markQuestionList = markQuestionService.listUnMarkQuestion();
|
|
|
- for (MarkQuestion markQuestion : markQuestionList) {
|
|
|
- // AI评卷任务自动评卷
|
|
|
- markQuestionService.autoAiMark(markQuestion);
|
|
|
+ Map<Long, List<MarkQuestion>> listMap = markQuestionList.stream().collect(Collectors.groupingBy(MarkQuestion::getExamId));
|
|
|
+ for (Map.Entry<Long, List<MarkQuestion>> entry : listMap.entrySet()) {
|
|
|
+ BasicSchool basicSchool = basicSchoolMapper.selectByExamId(entry.getKey());
|
|
|
+ if (!sysConfigService.getEnableByType(basicSchool.getId(), SystemConstant.AI_MARK_SET)) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ for (MarkQuestion markQuestion : entry.getValue()) {
|
|
|
+ // AI评卷任务自动评卷
|
|
|
+ markQuestionService.autoAiMark(markQuestion);
|
|
|
+ }
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
log.error("auto ai_question error", e);
|