|
@@ -250,7 +250,8 @@ public class MarkCronService {
|
|
List<MarkLibrary> libraryList = new ArrayList<>();
|
|
List<MarkLibrary> libraryList = new ArrayList<>();
|
|
int doubleCount = 0;
|
|
int doubleCount = 0;
|
|
int studentCount = studentList.size();
|
|
int studentCount = studentList.size();
|
|
- for (ExamStudent student : studentList) {
|
|
|
|
|
|
+ for (int i = 0; i < studentList.size(); i++) {
|
|
|
|
+ ExamStudent student = studentList.get(i);
|
|
MarkLibrary library = new MarkLibrary();
|
|
MarkLibrary library = new MarkLibrary();
|
|
library.setExamId(student.getExamId());
|
|
library.setExamId(student.getExamId());
|
|
library.setSubjectCode(student.getSubjectCode());
|
|
library.setSubjectCode(student.getSubjectCode());
|
|
@@ -289,36 +290,26 @@ public class MarkCronService {
|
|
doubleCount++;
|
|
doubleCount++;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ if (!libraryList.isEmpty() && i % 20 == 0) {
|
|
|
|
+ count += libraryList.size();
|
|
|
|
+ // 任务乱序
|
|
|
|
+ Collections.shuffle(libraryList);
|
|
|
|
+ libraryService.save(libraryList);
|
|
|
|
+ libraryList = new ArrayList<>();
|
|
|
|
+ }
|
|
}
|
|
}
|
|
// 有新任务创建
|
|
// 有新任务创建
|
|
if (!libraryList.isEmpty()) {
|
|
if (!libraryList.isEmpty()) {
|
|
count += libraryList.size();
|
|
count += libraryList.size();
|
|
// 任务乱序
|
|
// 任务乱序
|
|
- int shuffleCount = 20;
|
|
|
|
- if (group.getDoubleRate() != null && group.getDoubleRate() > 0) {
|
|
|
|
- shuffleCount = (int) (20 * (1 + group.getDoubleRate()));
|
|
|
|
- }
|
|
|
|
- List<MarkLibrary> list = new ArrayList<>();
|
|
|
|
- List<MarkLibrary> saveList = new ArrayList<>();
|
|
|
|
- for (MarkLibrary l : libraryList) {
|
|
|
|
- list.add(l);
|
|
|
|
- if (list.size() >= shuffleCount) {
|
|
|
|
- Collections.shuffle(list);
|
|
|
|
- saveList.addAll(list);
|
|
|
|
- list = new ArrayList<>();
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- if (!list.isEmpty()) {
|
|
|
|
- Collections.shuffle(list);
|
|
|
|
- saveList.addAll(list);
|
|
|
|
- }
|
|
|
|
|
|
+ Collections.shuffle(libraryList);
|
|
// 批量保存
|
|
// 批量保存
|
|
- libraryService.save(saveList);
|
|
|
|
|
|
+ libraryService.save(libraryList);
|
|
// 正评状态才需要更新任务数量
|
|
// 正评状态才需要更新任务数量
|
|
- if (group.getStatus() == MarkStatus.FORMAL) {
|
|
|
|
- markService.updateLibraryCount(group);
|
|
|
|
- markService.updateMarkedCount(group);
|
|
|
|
- }
|
|
|
|
|
|
+ }
|
|
|
|
+ if (count > 0 && group.getStatus() == MarkStatus.FORMAL) {
|
|
|
|
+ markService.updateLibraryCount(group);
|
|
|
|
+ markService.updateMarkedCount(group);
|
|
}
|
|
}
|
|
studentList = studentService.findUnLibraryStudent(group.getExamId(), group.getSubjectCode(),
|
|
studentList = studentService.findUnLibraryStudent(group.getExamId(), group.getSubjectCode(),
|
|
group.getNumber(), pageSize);
|
|
group.getNumber(), pageSize);
|