From a7b951974e230b7eda0a92ab9eb110c64486a99c Mon Sep 17 00:00:00 2001
From: Mlxa0324 <mlx950324@163.com>
Date: Sat, 14 Jan 2023 11:35:20 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AD=A6=E7=94=9F=E8=AF=95=E5=8D=B7=E7=BB=9F?=
 =?UTF-8?q?=E8=AE=A1?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../jlw/service/GeneralQuestionLogService.java  | 17 +++++++++++++++--
 .../TeacherOpenCourseQuestionLogService.java    | 15 +++++++++++++--
 2 files changed, 28 insertions(+), 4 deletions(-)

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 c7da828e..04aa1a9d 100644
--- a/web/src/main/java/com/ibeetl/jlw/service/GeneralQuestionLogService.java
+++ b/web/src/main/java/com/ibeetl/jlw/service/GeneralQuestionLogService.java
@@ -27,6 +27,7 @@ import com.ibeetl.jlw.enums.QuestionLogAddTypeEnum;
 import com.ibeetl.jlw.enums.ResourcesQuestionSnapshotFromTypeEnum;
 import com.ibeetl.jlw.web.query.GeneralQuestionLogQuery;
 import com.ibeetl.jlw.web.query.GeneralQuestionSettingQuery;
+import com.ibeetl.jlw.web.query.QuestionLogSummaryQuery;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.poi.hssf.usermodel.*;
 import org.apache.poi.ss.usermodel.*;
@@ -885,8 +886,20 @@ public class GeneralQuestionLogService extends CoreBaseService<GeneralQuestionLo
             questionLogSummary.setFinishTime(DateUtil.secondToTime(finishTime.intValue()));
             questionLogSummary.setFinishSecondTime(finishTime);
         }
-        questionLogSummaryService.logicDeleteByQuestionSettingIds(questionSettingId.toString());
-        questionLogSummaryService.insert(questionLogSummary);
+
+        QuestionLogSummaryQuery summaryQuery = new QuestionLogSummaryQuery();
+        summaryQuery.setQuestionLogSummaryStatus(1);
+        summaryQuery.setPersonId(student.getStudentId());
+        summaryQuery.setQuestionSettingId(questionSettingId);
+        summaryQuery.setQuestionLogSummaryFromType(fromType);
+        QuestionLogSummary logSummary = questionLogSummaryService.getInfo(summaryQuery);
+
+        if (logSummary != null) {
+            questionLogSummary.setQuestionLogSummaryId(logSummary.getQuestionLogSummaryId());
+        }
+
+        // 更新或插入统计数据
+        questionLogSummaryService.upsertByTemplate(questionLogSummary);
     }
 
     /**
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 a21400d2..ff79f44e 100644
--- a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseQuestionLogService.java
+++ b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseQuestionLogService.java
@@ -26,6 +26,7 @@ import com.ibeetl.jlw.entity.vo.TeacherOpenCourseHomeWorkLogExportVO;
 import com.ibeetl.jlw.entity.vo.TeacherOpenCourseQuestionLogAnswerLockVO;
 import com.ibeetl.jlw.enums.QuestionLogAddTypeEnum;
 import com.ibeetl.jlw.enums.ResourcesQuestionSnapshotFromTypeEnum;
+import com.ibeetl.jlw.web.query.QuestionLogSummaryQuery;
 import com.ibeetl.jlw.web.query.TeacherOpenCourseQuestionLogQuery;
 import com.ibeetl.jlw.web.query.TeacherOpenCourseQuestionSettingQuery;
 import lombok.extern.slf4j.Slf4j;
@@ -738,8 +739,18 @@ public class TeacherOpenCourseQuestionLogService extends CoreBaseService<Teacher
             questionLogSummary.setFinishSecondTime(finishTime);
         }
 
-        questionLogSummaryService.logicDeleteByQuestionSettingIds(questionSettingId.toString());
-        questionLogSummaryService.insert(questionLogSummary);
+        QuestionLogSummaryQuery summaryQuery = new QuestionLogSummaryQuery();
+        summaryQuery.setQuestionLogSummaryStatus(1);
+        summaryQuery.setPersonId(student.getStudentId());
+        summaryQuery.setQuestionSettingId(questionSettingId);
+        QuestionLogSummary logSummary = questionLogSummaryService.getInfo(summaryQuery);
+
+        if (logSummary != null) {
+            questionLogSummary.setQuestionLogSummaryId(logSummary.getQuestionLogSummaryId());
+        }
+
+        // 更新或插入统计数据
+        questionLogSummaryService.upsertByTemplate(questionLogSummary);
     }
 
     /**