Procházet zdrojové kódy

美术阅卷11月新增需求-新增打分阶段分档配置

wangliang před 5 roky
rodič
revize
08d65cf431

+ 2 - 0
stmms-ms-core/src/main/java/cn/com/qmth/stmms/ms/core/repository/LevelRepo.java

@@ -19,4 +19,6 @@ public interface LevelRepo extends JpaRepository<Level, Long> {
     String findMaxCodeByWorkId(Long workId);
 
     List<Level> findByCodeNotIn(List<String> levelList);
+
+    long countByCodeIn(List<String> levelList);
 }

+ 1 - 1
stmms-ms-main/src/main/resources/application-dev.properties

@@ -62,7 +62,7 @@ sys.config.imageServer.ip=localhost
 #打分阶段配置是否启用
 score.level.enable=true
 #打分阶段配置过滤档位(可选一个或多个档位,多个档位用","号隔开)
-score.level.exclude=C,D
+score.level.exclude=D
 #打分阶段配置档位排序规则(可选random/paper)
 score.level.taskSort=random
 

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

@@ -197,6 +197,11 @@ public class StageControlService {
             if (Objects.nonNull(scoreConfig) && Objects.nonNull(scoreConfig.getExclude()) && scoreConfig.getExclude().size() > 0) {
                 List<String> configLevelList = scoreConfig.getExclude();
                 configLevelList = configLevelList.stream().map(string -> string.trim().toUpperCase()).collect(Collectors.toList());
+                long levelCount = levelRepo.countByCodeIn(configLevelList);
+                if (levelCount == 0) {
+                    statusMap.put(markSubject.getId(), false);
+                    throw new RuntimeException("配置的档位:" + configLevelList + "不存在");
+                }
                 List<Level> levels = levelRepo.findByCodeNotIn(configLevelList);
                 List<String> levelList = levels.stream().map(Level::getCode).collect(Collectors.toList());
                 Collections.sort(levelList);