yin 9 ماه پیش
والد
کامیت
3541a592ef

+ 4 - 3
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/MarkerController.java

@@ -267,13 +267,14 @@ public class MarkerController extends BaseExamController {
                 obj.accumulate("message", "重置失败,授权码不正确");
                 return obj;
             }
-            if(group.getStatus()== MarkStatus.FINISH){
+            if (group.getStatus() == MarkStatus.FINISH) {
                 obj.accumulate("success", false);
                 obj.accumulate("message", "重置失败,关联分组已关闭");
                 return obj;
             }
             if (lockService.trylock(LockType.MARKER_RESET, marker.getId())) {
-                taskExecutor.submit(new MarkerResetThread(marker, group,markService,libraryService,trialService,markerService, lockService));
+                taskExecutor.submit(new MarkerResetThread(marker, group, markService, libraryService, trialService,
+                        markerService, groupService, lockService));
                 obj.accumulate("success", true);
             } else {
                 obj.accumulate("success", false);
@@ -569,7 +570,7 @@ public class MarkerController extends BaseExamController {
         } else {
             try {
                 lockService.watch(LockType.EXAM_SUBJECT, examId, subjectCode);
-                lockService.watch(LockType.GROUP,examId, subjectCode,groupNumber);
+                lockService.watch(LockType.GROUP, examId, subjectCode, groupNumber);
                 lockService.waitlock(LockType.MARKER, markerId);
                 markService.deleteMarker(marker);
             } catch (Exception e) {

+ 8 - 3
stmms-web/src/main/java/cn/com/qmth/stmms/admin/thread/MarkerResetThread.java

@@ -2,6 +2,7 @@ package cn.com.qmth.stmms.admin.thread;
 
 import cn.com.qmth.stmms.biz.exam.model.MarkGroup;
 import cn.com.qmth.stmms.biz.exam.model.Marker;
+import cn.com.qmth.stmms.biz.exam.service.MarkGroupService;
 import cn.com.qmth.stmms.biz.exam.service.MarkerService;
 import cn.com.qmth.stmms.biz.lock.LockService;
 import cn.com.qmth.stmms.biz.mark.model.MarkLibrary;
@@ -33,15 +34,18 @@ public class MarkerResetThread implements Runnable {
 
     private MarkerService markerService;
 
+    private MarkGroupService markGroupService;
+
     public MarkerResetThread(Marker marker, MarkGroup group, MarkService markService,
             MarkLibraryService markLibraryService, TrialService trialLibraryService, MarkerService markerService,
-            LockService lockService) {
+            MarkGroupService markGroupService, LockService lockService) {
         this.marker = marker;
         this.group = group;
         this.markService = markService;
         this.markLibraryService = markLibraryService;
         this.trialLibraryService = trialLibraryService;
         this.markerService = markerService;
+        this.markGroupService = markGroupService;
         this.lockService = lockService;
     }
 
@@ -57,8 +61,9 @@ public class MarkerResetThread implements Runnable {
             lockService.watch(LockType.EXAM_SUBJECT, marker.getExamId(), marker.getSubjectCode());
             lockService.watch(LockType.GROUP, marker.getExamId(), marker.getSubjectCode(), marker.getGroupNumber());
             lockService.waitlock(LockType.MARKER, marker.getId());
-            if(group.getStatus() == MarkStatus.FINISH){
-                return ;
+            group = markGroupService.findOne(group.getExamId(), group.getSubjectCode(), group.getNumber());
+            if (group.getStatus() == MarkStatus.FINISH) {
+                return;
             }
             markService.markerLogout(marker);
             if (group.getStatus() == MarkStatus.FORMAL) {