فهرست منبع

美术阅卷12月新增需求-BUG修复

wangliang 5 سال پیش
والد
کامیت
3c2173e69e

+ 8 - 0
stmms-ms-commons/src/main/java/cn/com/qmth/stmms/ms/commons/utils/RandomUtil.java

@@ -20,6 +20,7 @@ public class RandomUtil {
     private final int minSize = 1000000;
     private final int maxSize = 1000001;
     private final int randomSize = 2000000;
+    private int randomNum = 0;
     private Map<Long, List<Long>> randomMap = new HashMap<>();
 //    public static List<Long> randomList = new ArrayList<>();
 
@@ -40,7 +41,14 @@ public class RandomUtil {
         }
         if (list.size() == 0 || againRandom) {
             long start = System.currentTimeMillis();
+            if (againRandom) {
+                randomNum++;
+            }
             Long randomReq = workId % 10;
+            randomReq = randomReq + randomNum;
+            if (randomReq > 9) {
+                randomReq = randomReq % 10;
+            }
             randomReq = randomReq == 0L ? 1L : randomReq;
             LOGGER.info("workId:{},开始生成随机数:{}", workId, start);
             Long finalRandomReq = randomReq;

+ 8 - 0
stmms-ms-marking/src/main/java/cn/com/qmth/stmms/ms/marking/service/StageControlService.java

@@ -233,6 +233,10 @@ public class StageControlService {
                 }
                 markSubject.setAllLevel(false);
                 papers = paperRepo.findByWorkIdAndSubjectAndIsMissingFalseAndActiveTrueAndLevelIn(workId, subject, finalLevelList);
+                if (Objects.isNull(papers) || papers.size() == 0) {
+                    statusMap.put(markSubject.getId(), false);
+                    throw new RuntimeException("试卷中没有找到" + finalLevelList + "档位");
+                }
             } else if (Objects.nonNull(scoreConfig) && Objects.nonNull(scoreConfig.getTaskSort())) {
                 if (Objects.equals("paper", scoreConfig.getTaskSort().trim()) && Objects.nonNull(scoreConfig.getExclude()) && scoreConfig.getExclude().size() == 0) {
                     List<Level> allLevel = levelRepo.findByWorkId(workId);
@@ -268,6 +272,10 @@ public class StageControlService {
                     List<String> distinctIdList = levelList.stream().filter(item -> !finalLevelList.contains(item)).collect(Collectors.toList());
                     markSubject.setAllLevel(true);
                     papers = paperRepo.findByWorkIdAndSubjectAndIsMissingFalseAndActiveTrueAndLevelIn(workId, subject, distinctIdList);
+                    if (Objects.isNull(papers) || papers.size() == 0) {
+                        statusMap.put(markSubject.getId(), false);
+                        throw new RuntimeException("试卷中没有找到" + distinctIdList + "档位");
+                    }
                 } else {
                     statusMap.put(markSubject.getId(), false);
                     throw new RuntimeException("请配置打分exclude");