瀏覽代碼

代码走查优化

ting.yin 1 年之前
父節點
當前提交
47f3957d9b

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

@@ -506,12 +506,12 @@ public class MarkServiceImpl implements MarkService {
             List<MarkLibrary> list = libraryDao.findByMarkerIdAndStatusNotIn(marker.getId(), LibraryStatus.ARBITRATED,
                     LibraryStatus.WAIT_ARBITRATE, LibraryStatus.PROBLEM);
             for (MarkLibrary library : list) {
-                trackDao.deleteByLibraryId(library.getId());
-                specialTagDao.deleteByLibraryId(library.getId());
-                libraryDao.resetById(library.getId(), null, null, null, null, LibraryStatus.WAITING,
-                        library.getStatus());
                 lockService.waitlock(LockType.STUDENT, library.getStudentId());
                 try {
+                    trackDao.deleteByLibraryId(library.getId());
+                    specialTagDao.deleteByLibraryId(library.getId());
+                    libraryDao.resetById(library.getId(), null, null, null, null, LibraryStatus.WAITING,
+                            library.getStatus());
                     updateStudentGroupStatus(library.getStudentId(), library.getExamId(), library.getSubjectCode(),
                             library.getGroupNumber(), SubjectiveStatus.UNMARK);
                     studentService.updateSubjectiveStatusAndScore(library.getStudentId(), SubjectiveStatus.UNMARK, 0,

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

@@ -29,16 +29,16 @@ public class MarkerResetThread implements Runnable {
             return;
         }
         try {
-            lockService.waitlock(LockType.EXAM_SUBJECT, marker.getExamId(), marker.getSubjectCode());
-            lockService.waitlock(LockType.MARKER, marker.getId());
+            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());
             markService.resetMarker(marker);
         } catch (Exception e) {
             log.error("reset marker error", e);
         } finally {
             lockService.unwatch(LockType.GROUP, marker.getExamId(), marker.getSubjectCode(), marker.getGroupNumber());
+            lockService.unwatch(LockType.EXAM_SUBJECT, marker.getExamId(), marker.getSubjectCode());
             lockService.unlock(LockType.MARKER, marker.getId());
-            lockService.unlock(LockType.EXAM_SUBJECT, marker.getExamId(), marker.getSubjectCode());
             lockService.unlock(LockType.MARKER_RESET, marker.getId());
         }
     }