From dd663d0ac783755d889e270eee57ee58630c88c8 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期五, 28 二月 2025 17:46:52 +0800
Subject: [PATCH] 冥想2.0新增代码

---
 xinquan-modules/xinquan-course/src/main/java/com/xinquan/course/controller/client/ClientCourseController.java |   69 +++++++++++++++++++++-------------
 1 files changed, 42 insertions(+), 27 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 7578049..c83515b 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
@@ -5,6 +5,7 @@
 import cn.afterturn.easypoi.excel.entity.ExportParams;
 import com.alibaba.nacos.common.utils.StringUtils;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.xinquan.common.core.constant.SecurityConstants;
 import com.xinquan.common.core.domain.R;
@@ -342,18 +343,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));
     }
@@ -374,22 +374,19 @@
         }
         List<CourseChapter> list = courseChapterService.lambdaQuery()
                 .eq(CourseChapter::getCourseId, uid).list();
-        int temp = 0;
-        int temp1 = 0;
+
+        int a = 0;
+        int b = 0;
         for (CourseChapter courseChapter : list) {
-            int size = courseLearningRecordService.lambdaQuery()
-                    .eq(CourseLearningRecord::getChapterId, courseChapter.getId())
-                    .list().size();
-            courseChapter.setRealLearnedNum(size+courseChapter.getVirtualLearnedNum());
-            temp+=courseChapter.getVirtualLearnedNum();
-            temp1+=size;
+            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(temp);
-        byId.setRealLearnedNum(size1);
-        byId.setCount(temp+size1);
+
+        byId.setVirtualLearnedNum(a);
+        byId.setRealLearnedNum(b);
+        byId.setCount(a+b);
         byId.setList(list);
         int size = courseUserFavoriteService.lambdaQuery()
                 .eq(CourseUserFavorite::getCourseId, uid).list().size();
@@ -411,9 +408,15 @@
     @PostMapping("/updateCourse")
     @ApiOperation(value = "修改课程管理", tags = "管理后台-课程管理")
     public R updateCourse(@RequestBody Course homeBackgroundMusic) {
+        LambdaUpdateWrapper<Course> courseLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
+        courseLambdaUpdateWrapper.eq(Course::getId, homeBackgroundMusic.getId());
+        courseLambdaUpdateWrapper.set(Course::getDetailUrl, homeBackgroundMusic.getDetailUrl());
+        courseLambdaUpdateWrapper.set(Course::getDetailName, homeBackgroundMusic.getDetailName());
+        courseService.update(homeBackgroundMusic, courseLambdaUpdateWrapper);
         homeBackgroundMusic.setUpdateBy(SecurityUtils.getUsername());
         homeBackgroundMusic.setUpdateTime(LocalDateTime.now());
-        return R.ok(courseService.updateById(homeBackgroundMusic));
+        courseService.updateById(homeBackgroundMusic);
+        return R.ok();
     }
     @PostMapping("/deleteCourse")
     @ApiOperation(value = "批量删除", tags = "管理后台-课程管理")
@@ -618,7 +621,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);
@@ -725,6 +727,7 @@
         // 查询推荐课程
         List<Course> list = courseService.lambdaQuery().eq(Course::getCateId, byId.getCateId())
                 .eq(Course::getCourseType,1)
+                .eq(Course::getListingStatus,1)
                 .ne(Course::getId,id)
                 .eq(Course::getRecommend, 1).list();
         List<Course> courses = new ArrayList<>();
@@ -793,6 +796,8 @@
         // 查询推荐课程
         List<Course> list = courseService.lambdaQuery().eq(Course::getCateId, byId.getCateId())
                 .eq(Course::getCourseType,1)
+                .eq(Course::getListingStatus,1)
+                .ne(Course::getId,id)
                 .eq(Course::getRecommend, 1).list();
         List<Course> courses = new ArrayList<>();
         // 随机获取两个课程
@@ -948,6 +953,7 @@
         Long userId = loginUser.getUserid();
         Course byId = courseService.getById(courseId);
         List<Course> list = courseService.lambdaQuery().eq(Course::getCateId, byId.getCateId())
+                .eq(Course::getListingStatus,1)
                 .ne(Course::getId,courseId)
                 .eq(Course::getCourseType, 1).list();
         for (Course course : list) {
@@ -1010,7 +1016,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();
@@ -1033,7 +1042,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);
+                }
             }
         }
         // 查询两个相同类型的线上免费课程
@@ -1097,7 +1109,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