Browse Source

联考版-迭代

xiaof 4 years ago
parent
commit
16fafd78c7

+ 24 - 0
stmms-ms-admin/src/main/java/cn/com/qmth/stmms/ms/admin/service/TrialService.java

@@ -1,10 +1,14 @@
 package cn.com.qmth.stmms.ms.admin.service;
 
+import cn.com.qmth.stmms.ms.commons.utils.DbBackupUtils;
+import cn.com.qmth.stmms.ms.core.cache.CacheService;
 import cn.com.qmth.stmms.ms.core.domain.MarkStage;
 import cn.com.qmth.stmms.ms.core.domain.MarkSubject;
 import cn.com.qmth.stmms.ms.core.domain.Paper;
 import cn.com.qmth.stmms.ms.core.domain.Work;
 import cn.com.qmth.stmms.ms.core.domain.enums.TrialEnum;
+import cn.com.qmth.stmms.ms.core.domain.user.MarkUser;
+import cn.com.qmth.stmms.ms.core.domain.user.Role;
 import cn.com.qmth.stmms.ms.core.repository.*;
 import cn.com.qmth.stmms.ms.core.vo.Subject;
 import cn.com.qmth.stmms.ms.marking.service.MarkingService;
@@ -13,6 +17,7 @@ import com.alibaba.fastjson.JSONObject;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
 
 import java.util.*;
 import java.util.function.Function;
@@ -58,6 +63,15 @@ public class TrialService {
     @Autowired
     MarkingService markingService;
 
+    @Autowired
+    DbBackupUtils dbBackupUtils;
+
+    @Autowired
+    CacheService cacheService;
+
+    @Autowired
+    MarkUserRepo markUserRepo;
+
     /**
      * 检查任务状态
      *
@@ -182,5 +196,15 @@ public class TrialService {
         paperRepo.delete(paperList);
         //7.删除分组
         markerGroupRepo.deleteBySubjectAndWorkId(subject, workId);
+
+        // 所有用户强制退出
+        List<MarkUser> userList = markUserRepo.findByWorkIdAndSubject(workId, subject);
+        userList = userList.stream().filter(m-> Role.MARKER.equals(m.getRole()) || Role.MARK_LEADER.equals(m.getRole())).collect(Collectors.toList());
+        if(!CollectionUtils.isEmpty(userList)){
+            for (MarkUser user : userList) {
+                cacheService.deleteTokenCache(user.getId().toString());
+            }
+        }
+        dbBackupUtils.startBackup("试评");
     }
 }

+ 4 - 4
stmms-ms-commons/src/main/java/cn/com/qmth/stmms/ms/commons/utils/DbBackupUtils.java

@@ -26,13 +26,13 @@ public class DbBackupUtils {
     @Autowired
     DbConfig dbConfig;
 
-    public void startBackup() {
-        service.submit(dbBackUp());
+    public void startBackup(String name) {
+        service.submit(dbBackUp(name));
     }
 
-    public Runnable dbBackUp() {
+    public Runnable dbBackUp(String name) {
         return () -> {
-            String pathSql = dbConfig.getDbName() + DateUtils.formatDate(new Date(), "yyyyMMddHHmmss") + ".sql";
+            String pathSql = name + "-" + dbConfig.getDbName() + "-" + DateUtils.formatDate(new Date(), "yyyyMMddHHmmss") + ".sql";
             File fileSql = new File(pathSql);
             try {
                 //创建备份sql文件

+ 1 - 1
stmms-ms-marking/src/main/java/cn/com/qmth/stmms/ms/marking/service/AssignTaskService.java

@@ -292,7 +292,7 @@ public class AssignTaskService {
                 cacheService.deleteTokenCache(user.getId().toString());
             }
         }
-        dbBackupUtils.startBackup();
+        dbBackupUtils.startBackup("分档");
     }
 
     private void initTaskPublishData(MarkSubject markSubject) {