|
@@ -5,7 +5,6 @@ import com.qmth.boot.api.constant.ApiConstant;
|
|
|
import com.qmth.boot.api.exception.ApiException;
|
|
|
import com.qmth.distributed.print.business.bean.result.EditResult;
|
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
|
-import com.qmth.teachcloud.common.entity.MarkQuestion;
|
|
|
import com.qmth.teachcloud.common.entity.SysUser;
|
|
|
import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
|
|
|
import com.qmth.teachcloud.common.enums.FieldUniqueEnum;
|
|
@@ -14,7 +13,10 @@ import com.qmth.teachcloud.common.util.RedisUtil;
|
|
|
import com.qmth.teachcloud.common.util.Result;
|
|
|
import com.qmth.teachcloud.common.util.ResultUtil;
|
|
|
import com.qmth.teachcloud.common.util.ServletUtil;
|
|
|
-import com.qmth.teachcloud.mark.entity.*;
|
|
|
+import com.qmth.teachcloud.mark.entity.MarkAiQuestionLevel;
|
|
|
+import com.qmth.teachcloud.mark.entity.MarkAiQuestionParam;
|
|
|
+import com.qmth.teachcloud.mark.entity.MarkAiQuestionPoint;
|
|
|
+import com.qmth.teachcloud.mark.entity.MarkPaper;
|
|
|
import com.qmth.teachcloud.mark.enums.MarkTaskStatus;
|
|
|
import com.qmth.teachcloud.mark.service.*;
|
|
|
import io.swagger.annotations.*;
|
|
@@ -55,6 +57,7 @@ public class MarkAiQuestionParamController {
|
|
|
|
|
|
@Resource
|
|
|
MarkAiQuestionLevelService markAiQuestionLevelService;
|
|
|
+
|
|
|
@Resource
|
|
|
private MarkQuestionService markQuestionService;
|
|
|
@Resource
|
|
@@ -80,26 +83,37 @@ public class MarkAiQuestionParamController {
|
|
|
throw ExceptionResultEnum.ERROR.exception("正在设置AI评卷参数,请稍候再试!");
|
|
|
}
|
|
|
|
|
|
- // 有人评任务
|
|
|
- MarkPaper markPaper = markPaperService.getByExamIdAndPaperNumber(markAiQuestionParam.getQuestionId(), markAiQuestionParam.getPaperNumber());
|
|
|
- if (!MarkPaperAiMark.NONE.equals(markPaper.getAiMark()) && markTaskService.countByExamIdAndPaperNumberAndQuestionIdAndAiMarkedAndStatusNotIn(markAiQuestionParam.getExamId(), markAiQuestionParam.getPaperNumber(), markAiQuestionParam.getQuestionId(), false, Arrays.asList(MarkTaskStatus.WAITING)) > 0) {
|
|
|
- throw ExceptionResultEnum.ERROR.exception("评卷员已开始评卷,请先重置评卷任务后再设置");
|
|
|
- }
|
|
|
boolean update = false;
|
|
|
try {
|
|
|
+ // 有人评任务
|
|
|
+ MarkPaper markPaper = markPaperService.getByExamIdAndPaperNumber(markAiQuestionParam.getExamId(), markAiQuestionParam.getPaperNumber());
|
|
|
+ Objects.requireNonNull(markPaper, "试卷信息为空");
|
|
|
+ Objects.requireNonNull(markPaper.getAiMark(), "AI评卷信息为空");
|
|
|
+ if (!MarkPaperAiMark.NONE.equals(markPaper.getAiMark()) && markTaskService.countByExamIdAndPaperNumberAndQuestionIdAndAiMarkedAndStatusNotIn(markAiQuestionParam.getExamId(), markAiQuestionParam.getPaperNumber(), markAiQuestionParam.getQuestionId(), false, Arrays.asList(MarkTaskStatus.WAITING)) > 0) {
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("评卷员已开始评卷,请先重置评卷任务后再设置");
|
|
|
+ }
|
|
|
switch (markAiQuestionParam.getMode()) {
|
|
|
case POINT://按得分点
|
|
|
if (CollectionUtils.isEmpty(markAiQuestionParam.getPointList())) {
|
|
|
throw ExceptionResultEnum.ERROR.exception("得分点信息为空");
|
|
|
}
|
|
|
- markAiQuestionParam.getPointList().stream().peek(s -> {
|
|
|
- s.setAiQuestionId(markAiQuestionParam.getId());
|
|
|
- s.setId(SystemConstant.getDbUuid());
|
|
|
- }).collect(Collectors.toList());
|
|
|
if (Objects.isNull(markAiQuestionParam.getId())) {//新增
|
|
|
markAiQuestionParam.insertInfo(sysUser.getId());
|
|
|
+ markAiQuestionParam.getPointList().stream().peek(s -> {
|
|
|
+ s.setAiQuestionId(markAiQuestionParam.getId());
|
|
|
+ s.setId(SystemConstant.getDbUuid());
|
|
|
+ }).collect(Collectors.toList());
|
|
|
markAiQuestionPointService.saveBatch(markAiQuestionParam.getPointList());
|
|
|
} else {//修改
|
|
|
+ markAiQuestionParam.getPointList().stream().peek(s -> {
|
|
|
+ if (Objects.isNull(s.getAiQuestionId())) {
|
|
|
+ s.setAiQuestionId(markAiQuestionParam.getId());
|
|
|
+ }
|
|
|
+ if (Objects.isNull(s.getId())) {
|
|
|
+ s.setId(SystemConstant.getDbUuid());
|
|
|
+ }
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+
|
|
|
List<MarkAiQuestionPoint> markAiQuestionPointDbList = markAiQuestionPointService.listByAiQuestionId(markAiQuestionParam.getId());
|
|
|
List<MarkAiQuestionLevel> markAiQuestionLevelDbList = markAiQuestionLevelService.listByAiQuestionId(markAiQuestionParam.getId());
|
|
|
|
|
@@ -123,14 +137,23 @@ public class MarkAiQuestionParamController {
|
|
|
if (CollectionUtils.isEmpty(markAiQuestionParam.getLevelList())) {
|
|
|
throw ExceptionResultEnum.ERROR.exception("档次信息为空");
|
|
|
}
|
|
|
- markAiQuestionParam.getLevelList().stream().peek(s -> {
|
|
|
- s.setAiQuestionId(markAiQuestionParam.getId());
|
|
|
- s.setId(SystemConstant.getDbUuid());
|
|
|
- }).collect(Collectors.toList());
|
|
|
if (Objects.isNull(markAiQuestionParam.getId())) {//新增
|
|
|
markAiQuestionParam.insertInfo(sysUser.getId());
|
|
|
+ markAiQuestionParam.getLevelList().stream().peek(s -> {
|
|
|
+ s.setAiQuestionId(markAiQuestionParam.getId());
|
|
|
+ s.setId(SystemConstant.getDbUuid());
|
|
|
+ }).collect(Collectors.toList());
|
|
|
markAiQuestionLevelService.saveBatch(markAiQuestionParam.getLevelList());
|
|
|
} else {
|
|
|
+ markAiQuestionParam.getLevelList().stream().peek(s -> {
|
|
|
+ if (Objects.isNull(s.getAiQuestionId())) {
|
|
|
+ s.setAiQuestionId(markAiQuestionParam.getId());
|
|
|
+ }
|
|
|
+ if (Objects.isNull(s.getId())) {
|
|
|
+ s.setId(SystemConstant.getDbUuid());
|
|
|
+ }
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+
|
|
|
List<MarkAiQuestionPoint> markAiQuestionPointDbList = markAiQuestionPointService.listByAiQuestionId(markAiQuestionParam.getId());
|
|
|
List<MarkAiQuestionLevel> markAiQuestionLevelDbList = markAiQuestionLevelService.listByAiQuestionId(markAiQuestionParam.getId());
|
|
|
|