From da7c60b16168fb5845d3a5dae10b0adaee1108d0 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期三, 12 十一月 2025 15:06:08 +0800
Subject: [PATCH] update

---
 ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/impl/TStudyServiceImpl.java |   33 ++++++++++++++++++++++++++-------
 1 files changed, 26 insertions(+), 7 deletions(-)

diff --git a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/impl/TStudyServiceImpl.java b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/impl/TStudyServiceImpl.java
index b15b761..837df8a 100644
--- a/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/impl/TStudyServiceImpl.java
+++ b/ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/impl/TStudyServiceImpl.java
@@ -484,7 +484,7 @@
                     if(studyListen.getType()!=null && studyListen.getType()==2 && i<2){
                         data.setStudyType(2);
                     }
-                    subs.add(data);
+
                     TSubjectRecordDetail tSubjectRecordDetail = new TSubjectRecordDetail();
                     tSubjectRecordDetail.setUserId(userid);
                     tSubjectRecordDetail.setWeek(week);
@@ -492,14 +492,16 @@
                     tSubjectRecordDetail.setType(1);
                     tSubjectRecordDetail.setStatus(1);
                     tSubjectRecordDetail.setObjectId(studyListen.getId());
-                    tSubjectRecordDetail.setSubject(data);
+                    tSubjectRecordDetail.setSubjectId(data.getId());
                     tSubjectRecordDetails.add(tSubjectRecordDetail);
+                    subjectRecordDetailService.save(tSubjectRecordDetail);
                     i++;
-
+                    data.setTSubjectRecordDetail(tSubjectRecordDetail);
+                    subs.add(data);
                 }
                 subjectList.add(subs);
             }
-            subjectRecordDetailService.saveBatch(tSubjectRecordDetails);
+//            subjectRecordDetailService.saveBatch(tSubjectRecordDetails);
             studyListenResultVO.setList(tSubjectRecordDetails);
             studyListenResultVO.setAccuracy(new BigDecimal("0.00"));
 
@@ -509,6 +511,7 @@
             for (TStudyListen studyListen : studyListens) {
                 List<String> subjectIds = Arrays.stream(studyListen.getSubject().split(",")).collect(Collectors.toList());
                 List<TSubject> subs = new ArrayList<>();
+                List<TSubject> subsTemp = new ArrayList<>();
                 // 图片及语音集合
                 int temp=0;
                 for (String id : subjectIds) {
@@ -520,7 +523,7 @@
                     temp++;
                     subs.add(data);
                 }
-                subjectList.add(subs);
+
                 List<TSubjectRecordDetail> tSubjectRecordDetail1 = list.stream()
                         .filter(e -> e.getObjectId().equals(studyListen.getId())).collect(Collectors.toList());
 
@@ -533,17 +536,33 @@
                         tSubjectRecordDetail.setType(1);
                         tSubjectRecordDetail.setStatus(1);
                         tSubjectRecordDetail.setObjectId(studyListen.getId());
+                        TSubject tSubject = subs.get(i);
+                        tSubjectRecordDetail.setSubjectId(tSubject.getId());
                         subjectRecordDetailService.save(tSubjectRecordDetail);
-                        tSubjectRecordDetail.setSubject(subs.get(i));
                         tSubjectRecordDetails.add(tSubjectRecordDetail);
+                        tSubject.setTSubjectRecordDetail(tSubjectRecordDetail);
+                        subsTemp.add(tSubject);
                     }
                 }else{
                     for (int i = 0; i < 4; i++) {
                         TSubjectRecordDetail tSubjectRecordDetail = tSubjectRecordDetail1.get( i);
-                        tSubjectRecordDetail.setSubject(subs.get(i));
+                        Integer subjectId = tSubjectRecordDetail.getSubjectId();
+                        TSubject tSubject = subs.stream().filter(e -> e.getId().equals(subjectId)).findFirst().orElse(null);
+                        if(tSubject!=null){
+                            tSubject.setTSubjectRecordDetail(tSubjectRecordDetail);
+                            subsTemp.add(tSubject);
+                        }else {
+                            TSubject tSubject1 = subs.get(i);
+                            tSubjectRecordDetail.setSubjectId(tSubject1.getId());
+                            subjectRecordDetailService.updateById(tSubjectRecordDetail);
+                            tSubject1.setTSubjectRecordDetail(tSubjectRecordDetail);
+                            subsTemp.add(tSubject1);
+                        }
                         tSubjectRecordDetails.add(tSubjectRecordDetail);
                     }
                 }
+
+                subjectList.add(subsTemp);
             }
 
             studyListenResultVO.setList(tSubjectRecordDetails);

--
Gitblit v1.7.1