فهرست منبع

3.4.5 update-20250425,bug修改

xiaofei 1 ماه پیش
والد
کامیت
233efd2831

+ 5 - 0
distributed-print/src/main/java/com/qmth/distributed/print/api/mark/BaseController.java

@@ -55,6 +55,11 @@ public class BaseController {
         }
     }
 
+    public void validMarkPaperStatus(Long examId, String paperNumber) {
+        MarkPaper markPaper = markPaperService.getByExamIdAndPaperNumber(examId, paperNumber);
+        this.validMarkPaperStatus(markPaper);
+    }
+
     private void validMarkPaperMarkTime(MarkPaper markPaper) {
         Long markStartTime = markPaper.getMarkStartTime();
         Long markEndTime = markPaper.getMarkEndTime();

+ 3 - 0
distributed-print/src/main/java/com/qmth/distributed/print/api/mark/MarkQuestionSubjectiveController.java

@@ -6,6 +6,7 @@ import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.teachcloud.common.annotation.OperationLogDetail;
 import com.qmth.teachcloud.common.bean.params.mark.group.QuestionPictureConfigParams;
 import com.qmth.teachcloud.common.contant.SystemConstant;
+import com.qmth.teachcloud.common.entity.MarkQuestion;
 import com.qmth.teachcloud.common.enums.log.OperationTypeEnum;
 import com.qmth.teachcloud.common.util.Result;
 import com.qmth.teachcloud.common.util.ResultUtil;
@@ -140,6 +141,8 @@ public class MarkQuestionSubjectiveController extends BaseController {
     @ApiOperation(value = "AI评卷-重置AI智能评卷任务")
     @RequestMapping(value = "/ai/reset", method = RequestMethod.POST)
     public Result aiTaskReset(@ApiParam(value = "题目ID", required = true) @RequestParam Long questionId) {
+        MarkQuestion markQuestion = markQuestionService.getById(questionId);
+        validMarkPaperStatus(markQuestion.getExamId(), markQuestion.getPaperNumber());
         return ResultUtil.ok(markQuestionService.resetAiTask(questionId));
     }
 

+ 1 - 5
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkSyncServiceImpl.java

@@ -97,20 +97,16 @@ public class MarkSyncServiceImpl implements MarkSyncService {
         }
     }
 
-    @Async
+//    @Async
     @Override
     public void aiTaskResetSync(MarkQuestion markQuestion, Long questionId) {
         Long examId = markQuestion.getExamId();
         String paperNumber = markQuestion.getPaperNumber();
         try {
-            lockService.waitlock(LockType.EXAM_SUBJECT, examId, paperNumber);
-            lockService.waitlock(LockType.QUESTION, questionId);
             markService.resetAiTask(examId, paperNumber, questionId);
         } catch (Exception e) {
             log.error("reset ai task error", e);
         } finally {
-            lockService.unlock(LockType.QUESTION, questionId);
-            lockService.unlock(LockType.EXAM_SUBJECT, examId, paperNumber);
             lockService.unlock(LockType.AI_TASK_RESET, questionId);
         }
     }