liujie
2025-11-28 a72d239d70139a06f4e16ae06053d0ad67c9ebd2
ruoyi-service/ruoyi-study/src/main/java/com/ruoyi/study/service/impl/TStudyServiceImpl.java
@@ -478,13 +478,13 @@
                List<TSubject> subs = new ArrayList<>();
                // 图片及语音集合
                int i=0;
                for (String id : subjectIds) {
                for (String id : studyListen.getSubject().split( ",")) {
                    TSubject data = subjectService.lambdaQuery().eq(TSubject::getId, id)
                            .eq(TSubject::getDisabled, 0).one();
                    if(studyListen.getType()==2 && i<2){
                    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,13 +492,23 @@
                    tSubjectRecordDetail.setType(1);
                    tSubjectRecordDetail.setStatus(1);
                    tSubjectRecordDetail.setObjectId(studyListen.getId());
                    tSubjectRecordDetail.setSubjectId(data.getId());
                    tSubjectRecordDetails.add(tSubjectRecordDetail);
                    subjectRecordDetailService.save(tSubjectRecordDetail);
                    i++;
                    data.setTSubjectRecordDetail(tSubjectRecordDetail);
                    subs.add(data);
                }
                if(studyListen.getId()==11220){
                    System.out.println("数据333"+subs);
                }
                subjectList.add(subs);
                if(studyListen.getId()==11220){
                    System.out.println("数据444"+subjectList);
                }
            }
            subjectRecordDetailService.saveBatch(tSubjectRecordDetails);
//            subjectRecordDetailService.saveBatch(tSubjectRecordDetails);
            studyListenResultVO.setList(tSubjectRecordDetails);
            studyListenResultVO.setAccuracy(new BigDecimal("0.00"));
@@ -508,18 +518,22 @@
            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) {
                for (String id : studyListen.getSubject().split( ",")) {
                    TSubject data = subjectService.lambdaQuery().eq(TSubject::getId, id)
                            .eq(TSubject::getDisabled, 0).one();
                    if(studyListen.getType()==2 && temp<2){
                    if(studyListen.getType()!=null && studyListen.getType()==2 && temp<2){
                        data.setStudyType(2);
                    }
                    temp++;
                    subs.add(data);
                }
                subjectList.add(subs);
                if(studyListen.getId()==11220){
                    System.out.println("数据333"+subs);
                }
                List<TSubjectRecordDetail> tSubjectRecordDetail1 = list.stream()
                        .filter(e -> e.getObjectId().equals(studyListen.getId())).collect(Collectors.toList());
@@ -532,12 +546,34 @@
                        tSubjectRecordDetail.setType(1);
                        tSubjectRecordDetail.setStatus(1);
                        tSubjectRecordDetail.setObjectId(studyListen.getId());
                        TSubject tSubject = subs.get(i);
                        tSubjectRecordDetail.setSubjectId(tSubject.getId());
                        subjectRecordDetailService.save(tSubjectRecordDetail);
                        tSubjectRecordDetails.add(tSubjectRecordDetail);
                        tSubject.setTSubjectRecordDetail(tSubjectRecordDetail);
                        subsTemp.add(tSubject);
                    }
                }else{
                    tSubjectRecordDetails.addAll(tSubjectRecordDetail1);
                    for (int i = 0; i < 4; i++) {
                        TSubjectRecordDetail tSubjectRecordDetail = tSubjectRecordDetail1.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());
                            tSubject1.setTSubjectRecordDetail(tSubjectRecordDetail);
                            subsTemp.add(tSubject1);
                        }
                        subjectRecordDetailService.setSubjectId(tSubjectRecordDetail);
                        tSubjectRecordDetails.add(tSubjectRecordDetail);
                    }
                }
                subjectList.add(subsTemp);
            }
            studyListenResultVO.setList(tSubjectRecordDetails);
@@ -547,6 +583,7 @@
            studyListenResultVO.setAccuracy(accuracy);
        }
        studyListenResultVO.setSubjectList(subjectList);
        System.out.println("数据!!!"+subjectList);
        return studyListenResultVO;
    }
@@ -1112,7 +1149,7 @@
                List<String> subjectIds = Arrays.stream(data.getSubject().split(",")).collect(Collectors.toList());
                List<TSubject> subjectLists = new ArrayList<>();
                for (String id : subjectIds) {
                for (String id : data.getSubject().split( ",")) {
                    if (id.startsWith("-")) {
                        id = id.replace("-", "");
                    }
@@ -1133,7 +1170,7 @@
            for (TStudyPair data : pair) {
                List<String> subjectIds = Arrays.stream(data.getSubject().split(",")).collect(Collectors.toList());
                List<TSubject> subjectLists = new ArrayList<>();
                for (String id : subjectIds) {
                for (String id : data.getSubject().split(",")) {
                    if (id.startsWith("-")) {
                        id = id.replace("-", "");
                    }