Browse Source

3.4.5 update-20250514

xiaofei 1 month ago
parent
commit
e2442450c4

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

@@ -1182,7 +1182,7 @@ public class MarkServiceImpl implements MarkService {
             } else if (questionModel.equals(QuestionModel.MULTI)) {
                 Set<Long> questions = markUserQuestions.stream().map(MarkUserQuestion::getQuestionId).collect(Collectors.toSet());
                 List<MarkQuestion> markQuestionList = markQuestionService.listByIds(questions);
-                questions = markQuestionList.stream().filter(MarkQuestion::getPersonTask).map(MarkQuestion::getId).collect(Collectors.toSet());
+                questions = markQuestionList.stream().filter(m->m.getPersonTask() && m.getTaskCount() > m.getMarkedCount()).map(MarkQuestion::getId).collect(Collectors.toSet());
                 studentIds = markStudentService.findUnMarked(new Page<>(pageNumber, 20), examId, paperNumber, questions, classNames);
                 if (studentIds.isEmpty()) {
                     break;

+ 2 - 6
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/utils/TaskLock.java

@@ -30,12 +30,8 @@ public class TaskLock {
         } else {
             LockNode node = head.next;
             while (true) {
-                // id+questions,只能被一个owner获取
-                if (node.isId(id) && node.isEqualQuestions(questions)) {
-                    return false;
-                }
-                // id只能被一个owner领取一个number
-                else if (node.isId(id) && !node.isOwner(owner)) {
+                // 一个id只能被锁一次
+                if (node.isId(id)) {
                     return false;
                 }
                 // 跳到下一个node