Bladeren bron

修改分组模式下试评取任务锁

yin 9 maanden geleden
bovenliggende
commit
b7355d13a5

+ 8 - 4
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/service/Impl/MarkServiceImpl.java

@@ -380,9 +380,9 @@ public class MarkServiceImpl implements MarkService {
     public boolean applyLibrary(TrialLibrary library, Marker marker) {
         TaskLock taskLock = TaskLockUtil.getTrialTask(getGroupKey(marker));
         if (TrialMode.EXCLUSIVE.equals(systemCache.getTrialMode())) {
-            return taskLock.add(library.getStudentId(), marker.getId(), marker.getId());
-        } else {
             return taskLock.add(library.getStudentId(), library.getId(), marker.getId());
+        } else {
+            return taskLock.add(library.getStudentId(), 1, marker.getId());
         }
     }
 
@@ -414,7 +414,7 @@ public class MarkServiceImpl implements MarkService {
     public boolean hasApplied(TrialLibrary library, Marker marker) {
         TaskLock taskLock = TaskLockUtil.getTrialTask(getGroupKey(marker));
         if (TrialMode.EXCLUSIVE.equals(systemCache.getTrialMode())) {
-            return library.getMarkerId().equals(marker.getId());
+            return true;
         } else {
             return taskLock.exist(library.getStudentId(), 1, marker.getId());
         }
@@ -437,7 +437,11 @@ public class MarkServiceImpl implements MarkService {
             taskLock.refresh(marker.getId());
         } else if (result.getTrialLibrary() != null) {
             TaskLock taskLock = TaskLockUtil.getTrialTask(getGroupKey(marker));
-            taskLock.remove(result.getTrialLibrary().getStudentId(), 1, marker.getId());
+            if (TrialMode.EXCLUSIVE.equals(systemCache.getTrialMode())) {
+                taskLock.remove(result.getTrialLibrary().getStudentId(), result.getTrialLibrary().getId(), marker.getId());
+            }else{
+                taskLock.remove(result.getTrialLibrary().getStudentId(), 1, marker.getId());
+            }
         }
     }