diff --git a/web/src/main/java/com/ibeetl/jlw/service/GeneralQuestionLogService.java b/web/src/main/java/com/ibeetl/jlw/service/GeneralQuestionLogService.java index ee097bcf..22058342 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/GeneralQuestionLogService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/GeneralQuestionLogService.java @@ -716,11 +716,11 @@ public class GeneralQuestionLogService extends CoreBaseService logList = getValuesBySettingIds(questionSettingId.toString()); + List logList = getValuesBySettingIds(questionSettingId.toString(), student.getStudentId()); setErrorSuccessCountField(updateList, logList); @@ -858,9 +858,10 @@ public class GeneralQuestionLogService extends CoreBaseService getValuesBySettingIds(String settingIds) { + private List getValuesBySettingIds(String settingIds, Long studentId) { GeneralQuestionLogQuery logQuery = new GeneralQuestionLogQuery(); logQuery.setGeneralQuestionSettingIdPlural(settingIds); + logQuery.setStudentId(studentId); logQuery.setGeneralQuestionLogStatus(1); return generalQuestionLogDao.getValuesByQueryNotWithPermission(logQuery); } diff --git a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseQuestionLogService.java b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseQuestionLogService.java index 6ea68dc2..7904e4ab 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseQuestionLogService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseQuestionLogService.java @@ -242,9 +242,10 @@ public class TeacherOpenCourseQuestionLogService extends CoreBaseService getValuesBySettingIds (String settingIds){ + public List getValuesBySettingIds (String settingIds, Long studentId){ TeacherOpenCourseQuestionLogQuery logQuery = new TeacherOpenCourseQuestionLogQuery(); logQuery.setTeacherOpenCourseQuestionSettingIdPlural(settingIds); + logQuery.setStudentId(studentId); logQuery.setTeacherOpenCourseQuestionLogStatus(1); return teacherOpenCourseQuestionLogDao.getValuesByQueryNotWithPermission(logQuery); } @@ -478,21 +479,19 @@ public class TeacherOpenCourseQuestionLogService extends CoreBaseService logList = teacherOpenCourseQuestionLogDao.getValuesByQueryNotWithPermission(questionLogQuery); + List logListBySnapshotIds = teacherOpenCourseQuestionLogDao.getValuesByQueryNotWithPermission(questionLogQuery); final List tempList = Arrays.asList(PRE_SUBMIT, null); // 只是未提交的数据 - logList = logList.stream().filter(item -> tempList.contains(item.getQuestionLogAddType())).collect(Collectors.toList()); - Assert.notEmpty(logList, "未查询到题目信息!"); - // 题目日志IDs汇总 - String logsIds = logList.stream().map(item -> item.getTeacherOpenCourseQuestionLogId().toString()).collect(joining(",")); + logListBySnapshotIds = logListBySnapshotIds.stream().filter(item -> tempList.contains(item.getQuestionLogAddType())).collect(Collectors.toList()); + Assert.notEmpty(logListBySnapshotIds, "未查询到题目信息!"); // 当前时间, 存储要更新的题目日志集合 Date now = new Date(); List updateList = new ArrayList<>(); // 代表填空题和分析题的类型 List questionType = Arrays.asList(4, 5); // 处理答案和分数 - logList.forEach(questionLog -> { + logListBySnapshotIds.forEach(questionLog -> { // 验证最新的提交时间,防止网络延迟 if (!validateQuestionLogAddTimeLatest(questionSettingId, questionLog.getResourcesQuestionSnapshotId().toString(), studentId, addTime)) { return; @@ -585,14 +584,14 @@ public class TeacherOpenCourseQuestionLogService extends CoreBaseService logList = new CopyOnWriteArrayList<>(getValuesBySettingIds(questionSettingId.toString())); + List logList = new CopyOnWriteArrayList<>(getValuesBySettingIds(questionSettingId.toString(), student.getStudentId())); setErrorSuccessCountField(updateList, logList);