|
@@ -2,6 +2,7 @@ package cn.com.qmth.examcloud.core.oe.student.service.impl;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
import java.text.DecimalFormat;
|
|
import java.text.DecimalFormat;
|
|
|
|
+import java.util.ArrayList;
|
|
import java.util.Date;
|
|
import java.util.Date;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
@@ -184,8 +185,24 @@ public class ExamRecordDataServiceImpl implements ExamRecordDataService {
|
|
if (size > 200) {
|
|
if (size > 200) {
|
|
throw new StatusException("1004", "size 最大为200");
|
|
throw new StatusException("1004", "size 最大为200");
|
|
}
|
|
}
|
|
- List<ExamRecordDataEntity> list = examRecordDataRepo.getLimitExamRecordDataList(batchNum, startId, size);
|
|
|
|
- List<Long> ids = list.stream().map(et -> et.getId()).collect(Collectors.toList());
|
|
|
|
|
|
+ List<Long> ids=new ArrayList<Long>();
|
|
|
|
+ for(;;) {
|
|
|
|
+ List<ExamRecordDataEntity> list = examRecordDataRepo.getLimitExamRecordDataList(batchNum, startId, size);
|
|
|
|
+ if(list!=null&&list.size()!=0) {
|
|
|
|
+ for(ExamRecordDataEntity e:list) {
|
|
|
|
+ if((e.getSyncStatus()==null||e.getSyncStatus().equals(SyncStatus.UNSYNC))&&!ExamRecordStatus.EXAM_ERROR.equals(e.getExamRecordStatus())) {
|
|
|
|
+ ids.add(e.getId());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if(ids.size()==0) {
|
|
|
|
+ startId=list.get(list.size()-1).getId();
|
|
|
|
+ }else {
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }else {
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
return ids;
|
|
return ids;
|
|
}
|
|
}
|
|
|
|
|