From 5cf8494a6da08dfcdc5fdb4c5e55aefd8b27d684 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期二, 26 十一月 2024 18:34:28 +0800
Subject: [PATCH] 代码提交

---
 xinquan-modules/xinquan-course/src/main/java/com/xinquan/course/controller/client/ClientCourseController.java |   36 +++++++++++++++++++++---------------
 1 files changed, 21 insertions(+), 15 deletions(-)

diff --git a/xinquan-modules/xinquan-course/src/main/java/com/xinquan/course/controller/client/ClientCourseController.java b/xinquan-modules/xinquan-course/src/main/java/com/xinquan/course/controller/client/ClientCourseController.java
index 8c48a63..fb64539 100644
--- a/xinquan-modules/xinquan-course/src/main/java/com/xinquan/course/controller/client/ClientCourseController.java
+++ b/xinquan-modules/xinquan-course/src/main/java/com/xinquan/course/controller/client/ClientCourseController.java
@@ -342,18 +342,17 @@
             long count1 = courseUserFavoriteService.count(new LambdaQueryWrapper<CourseUserFavorite>()
                     .eq(CourseUserFavorite::getCourseId, record.getId()));
             record.setCollectCount(count1);
-            // 查询学习人数
-//            record.setCount(remoteAppUserService.getUserByCourseId(record.getId()).getData().size());
-            int size1 = courseLearningRecordService.lambdaQuery().eq(CourseLearningRecord::getCourseId, record.getId())
-                    .groupBy(CourseLearningRecord::getAppUserId).list().size();
             List<CourseChapter> list = courseChapterService.lambdaQuery()
                     .eq(CourseChapter::getCourseId, record.getId()).list();
-            // 章节列表累加虚拟学习人数
-            int temp = 0;
+            int a = 0;
+            int b = 0;
             for (CourseChapter courseChapter : list) {
-                temp+=courseChapter.getVirtualLearnedNum();
+                a+= courseChapter.getVirtualLearnedNum();
+                Long data1 = remoteAppUserService.getCourseChapterHistoryCount(courseChapter.getId()).getData();
+                b+=data1;
+                courseChapter.setRealLearnedNum(Integer.valueOf(data1+""));
             }
-            record.setCount(size1+temp);
+            record.setCount(a+b);
         }
         return R.ok(PageDTO.of(page, Course.class));
     }
@@ -381,10 +380,9 @@
             a+= courseChapter.getVirtualLearnedNum();
             Long data1 = remoteAppUserService.getCourseChapterHistoryCount(courseChapter.getId()).getData();
             b+=data1;
+            courseChapter.setRealLearnedNum(Integer.valueOf(data1+""));
         }
-        int size1 = courseLearningRecordService.lambdaQuery()
-                .eq(CourseLearningRecord::getCourseId, uid).groupBy(CourseLearningRecord::getAppUserId)
-                .list().size();
+
         byId.setVirtualLearnedNum(a);
         byId.setRealLearnedNum(b);
         byId.setCount(a+b);
@@ -616,7 +614,6 @@
             @ApiImplicitParam(value = "课程id", name = "id", required = true, dataType = "String"),
     })
     public R<ClientCourseVO> getPayCourseInfoById(@RequestParam(value = "id")Long id) {
-
         Course byId = courseService.getById(id);
         ClientCourseVO clientCourseVO = new ClientCourseVO();
         BeanUtils.copyProperties(byId, clientCourseVO);
@@ -1012,7 +1009,10 @@
                 course.setRealLearnedNum(a+b);
                 course.setVirtualLearnedNum(0);
                 BeanUtils.copyProperties(course, courseVO);
-                courseVOS.add(courseVO);
+                List<Long> collect = courseVOS.stream().map(CourseVO::getId).collect(Collectors.toList());
+                if (!collect.contains(courseVO.getId())){
+                    courseVOS.add(courseVO);
+                }
             }
         }
         List<Long> data1 = remoteAppUserService.getCourseHistoryByUserId(userId).getData();
@@ -1035,7 +1035,10 @@
                 courseVO.setVirtualLearnedNum(0);
                 courseVO.setId(byId.getId());
                 courseVO.setCoverUrl(byId.getCoverUrl());
-                courseVOS.add(courseVO);
+                List<Long> collect = courseVOS.stream().map(CourseVO::getId).collect(Collectors.toList());
+                if (!collect.contains(courseVO.getId())){
+                    courseVOS.add(courseVO);
+                }
             }
         }
         // 查询两个相同类型的线上免费课程
@@ -1099,7 +1102,10 @@
                     courseVO.setVirtualLearnedNum(0);
                     courseVO.setId(byId.getId());
                     courseVO.setCoverUrl(byId.getCoverUrl());
-                    courseVOS.add(courseVO);
+                    List<Long> collect = courseVOS.stream().map(CourseVO::getId).collect(Collectors.toList());
+                    if (!collect.contains(courseVO.getId())){
+                        courseVOS.add(courseVO);
+                    }
                 }
             }
             studyPageVO.setCourseList(courseVOS);

--
Gitblit v1.7.1