浏览代码

重新调整MarkService几个updateCount方法的命名与调用规则

luoshi 6 年之前
父节点
当前提交
1c7ace4c00

+ 2 - 2
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/service/Impl/MarkCronService.java

@@ -187,7 +187,7 @@ public class MarkCronService {
                 // 尝试构造评卷任务
                 try {
                     markService.buildFormalLibrary(student, campus, group);
-                    markService.updateTotalCount(group);
+                    markService.updateLibraryCount(group);
                     lastBuildTime = student.getUploadTime();
                 } catch (Exception e) {
                     log.error("build formal library error for studentId=" + student.getId() + ", groupNumber="
@@ -221,7 +221,7 @@ public class MarkCronService {
                 // 尝试构造试评任务
                 try {
                     markService.buildTrialLibrary(student, campus, group);
-                    markService.updateTotalCount(group);
+                    markService.updateLibraryCount(group);
                 } catch (Exception e) {
                     log.error("build trial library error for studentId=" + student.getId() + ", groupNumber="
                             + group.getNumber(), e);

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

@@ -393,7 +393,7 @@ public class MarkServiceImpl implements MarkService {
                 trialTrackDao.deleteByMarkerId(marker.getId());
                 trialHistoryDao.deleteByMarkerId(marker.getId());
             }
-            updateLibraryCount(group);
+            updateMarkedCount(group);
             releaseByMarker(marker);
         } catch (Exception e) {
             throw e;
@@ -423,7 +423,7 @@ public class MarkServiceImpl implements MarkService {
             trialHistoryDao.deleteByStudentId(student.getId());
             trialLibraryDao.deleteByStudentId(student.getId());
 
-            updateLibraryCount(student.getExamId(), student.getSubjectCode());
+            updateAllCount(student.getExamId(), student.getSubjectCode());
         } catch (Exception e) {
             throw e;
         } finally {
@@ -461,7 +461,7 @@ public class MarkServiceImpl implements MarkService {
                         && result.getTotalScore() <= group.getTotalScore()
                         && StringUtils.isNotBlank(result.getScoreList())) {
                     if (submitLibrary(library, marker, group, result)) {
-                        updateLibraryCount(group);
+                        updateMarkedCount(group);
                         releaseLibrary(library, marker);
                         return true;
                     }
@@ -493,7 +493,7 @@ public class MarkServiceImpl implements MarkService {
                             trialTagDao.deleteByLibraryIdAndMarkerId(history.getLibraryId(), history.getMarkerId());
                             trialTagDao.save(result.getTagList(history));
                         }
-                        updateLibraryCount(group);
+                        updateMarkedCount(group);
                         releaseLibrary(library, marker);
                         return true;
                     }
@@ -593,7 +593,7 @@ public class MarkServiceImpl implements MarkService {
         if (libraryDao.resetById(library.getId(), LibraryStatus.WAITING, LibraryStatus.MARKED) > 0) {
             trackDao.deleteByLibraryId(library.getId());
             specialTagDao.deleteByLibraryId(library.getId());
-            updateLibraryCount(library.getExamId(), library.getSubjectCode(), library.getGroupNumber());
+            updateMarkedCount(library.getExamId(), library.getSubjectCode(), library.getGroupNumber());
             return true;
         } else {
             return false;
@@ -631,7 +631,7 @@ public class MarkServiceImpl implements MarkService {
         arbitrateDao.saveAndFlush(history);
         libraryDao.updateHeaderResult(history.getStudentId(), history.getGroupNumber(), history.getUserId(),
                 history.getTotalScore(), history.getScoreList(), history.getUpdateTime(), LibraryStatus.ARBITRATED);
-        updateLibraryCount(history.getExamId(), history.getSubjectCode(), history.getGroupNumber());
+        updateMarkedCount(history.getExamId(), history.getSubjectCode(), history.getGroupNumber());
         scoreCalculate(history.getExamId(), history.getSubjectCode(), history.getStudentId());
     }
 
@@ -734,31 +734,21 @@ public class MarkServiceImpl implements MarkService {
         return true;
     }
 
-    /**
-     * 更新某个大题评卷任务数量
-     * 
-     * @param examId
-     * @param subjectCode
-     * @param groupNumber
-     */
-    @Override
-    @Transactional
-    public void updateLibraryCount(Integer examId, String subjectCode, Integer groupNumber) {
+    private void updateMarkedCount(Integer examId, String subjectCode, Integer groupNumber) {
         MarkGroup group = groupDao.findOne(examId, subjectCode, groupNumber);
         if (group != null) {
-            updateLibraryCount(group);
+            updateMarkedCount(group);
         }
-
     }
 
     /**
-     * 更新某个大题评任务数量
+     * 更新某个大题已评任务数量
      * 
      * @param group
      */
     @Override
     @Transactional
-    public void updateLibraryCount(MarkGroup group) {
+    public void updateMarkedCount(MarkGroup group) {
         if (group.getStatus() == MarkStatus.FORMAL) {
             groupDao.updateMarkedCount(group.getExamId(), group.getSubjectCode(), group.getNumber(),
                     (int) libraryDao.countByExamIdAndSubjectCodeAndGroupNumberAndStatus(group.getExamId(),
@@ -770,24 +760,21 @@ public class MarkServiceImpl implements MarkService {
     }
 
     /**
-     * 更新某个大题评卷任务
+     * 更新某个大题评卷任务
      * 
      * @param group
      */
     @Override
     @Transactional
-    public void updateTotalCount(MarkGroup group) {
+    public void updateLibraryCount(MarkGroup group) {
         if (group.getStatus() == MarkStatus.FORMAL) {
-            group.setLibraryCount((int) libraryDao.countByExamIdAndSubjectCodeAndGroupNumber(group.getExamId(),
-                    group.getSubjectCode(), group.getNumber()));
+            groupDao.updateLibraryCount(group.getExamId(), group.getSubjectCode(), group.getNumber(),
+                    (int) libraryDao.countByExamIdAndSubjectCodeAndGroupNumber(group.getExamId(),
+                            group.getSubjectCode(), group.getNumber()));
         } else if (group.getStatus() == MarkStatus.TRIAL) {
-            group.setLibraryCount((int) trialLibraryDao.countByExamIdAndSubjectCodeAndGroupNumber(group.getExamId(),
-                    group.getSubjectCode(), group.getNumber()));
-        }
-        if (group.getStatus() == MarkStatus.TRIAL || group.getStatus() == MarkStatus.FORMAL) {
-            group.setLeftCount(group.getLibraryCount() - group.getMarkedCount());
             groupDao.updateLibraryCount(group.getExamId(), group.getSubjectCode(), group.getNumber(),
-                    group.getLibraryCount());
+                    (int) trialLibraryDao.countByExamIdAndSubjectCodeAndGroupNumber(group.getExamId(),
+                            group.getSubjectCode(), group.getNumber()));
         }
     }
 
@@ -800,11 +787,11 @@ public class MarkServiceImpl implements MarkService {
      */
     @Transactional
     @Override
-    public void updateLibraryCount(Integer examId, String subjectCode) {
+    public void updateAllCount(Integer examId, String subjectCode) {
         List<MarkGroup> groups = groupDao.findByExamIdAndSubjectCode(examId, subjectCode);
         for (MarkGroup group : groups) {
+            updateMarkedCount(group);
             updateLibraryCount(group);
-            updateTotalCount(group);
         }
     }
 

+ 6 - 16
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/service/MarkService.java

@@ -140,36 +140,26 @@ public interface MarkService {
     boolean backLibrary(MarkLibrary library);
 
     /**
-     * 更新某个大题评任务数量
+     * 更新某个大题评任务数量
      * 
      * @param group
      */
-    void updateLibraryCount(MarkGroup group);
+    void updateMarkedCount(MarkGroup group);
 
     /**
-     * 更新某个大题评卷任务总
+     * 更新某个大题评卷任务总量
      * 
      * @param group
      */
-    void updateTotalCount(MarkGroup group);
-
-    /**
-     * 更新某个大题评卷任务数量
-     * 
-     * @param examId
-     * @param subjectCode
-     * @param groupNumber
-     */
-    void updateLibraryCount(Integer examId, String subjectCode, Integer groupNumber);
+    void updateLibraryCount(MarkGroup group);
 
     /**
-     * 更新某个科目所有大题评卷任务数量
+     * 更新某个科目所有大题评卷任务总量与已评数量
      * 
      * @param examId
      * @param subjectCode
-     * @param groupNumber
      */
-    void updateLibraryCount(Integer examId, String subjectCode);
+    void updateAllCount(Integer examId, String subjectCode);
 
     /**
      * 某个大题已申请的评卷任务数量

+ 2 - 2
stmms-web/src/main/java/cn/com/qmth/stmms/admin/exam/MarkGroupController.java

@@ -135,7 +135,7 @@ public class MarkGroupController extends BaseExamController {
         if (subject == null) {
             return "redirect:/admin/exam/mark";
         }
-        markService.updateLibraryCount(examId, subjectCode);
+        markService.updateAllCount(examId, subjectCode);
 
         redirectAttributes.addAttribute("subjectCode", subjectCode);
         return "redirect:/admin/exam/group";
@@ -193,7 +193,7 @@ public class MarkGroupController extends BaseExamController {
                     && status == MarkStatus.FORMAL) {
                 // 切换到正评成功后刷新任务数量
                 group.setStatus(status);
-                markService.updateLibraryCount(group);
+                markService.updateMarkedCount(group);
             }
         } else {
             redirectAttributes.addAttribute("message", "不能切换到指定的评卷状态");