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 | 87 +++++++++++++++++++++++++------------------ 1 files changed, 50 insertions(+), 37 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 5307119..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 @@ -313,7 +313,7 @@ .eq(Objects.nonNull(courseDTO.getCourseType()), Course::getCourseType, courseDTO.getCourseType()) .eq(Objects.nonNull(courseDTO.getChargeType()), Course::getChargeType, courseDTO.getChargeType()) .eq(Objects.nonNull(courseDTO.getListingStatus()), Course::getListingStatus, courseDTO.getListingStatus()) - .orderByDesc(Course::getSortNum); + .orderByDesc(Course::getCreateTime); if (org.springframework.util.StringUtils.hasLength(courseDTO.getCourseTitle())){ List<Long> collect = courseService.lambdaQuery().like(Course::getCourseTitle, courseDTO.getCourseTitle()).list() .stream().map(Course::getId).collect(Collectors.toList()); @@ -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)); } @@ -374,22 +373,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(); @@ -507,16 +503,15 @@ orderCourseVO.setGeneralPrice(record.getGeneralPrice()); orderCourseVO.setIosPrice(record.getIosPrice()); orderCourseVO.setCoverUrl(record.getCoverUrl()); - List<AppUser> data1 = remoteAppUserService.getUserByCourseId(record.getId()).getData(); - List<CourseChapter> list = courseChapterService.lambdaQuery().eq(CourseChapter::getCourseId, record.getId()).list(); int temp = 0 ; + int temp1 = 0 ; for (CourseChapter courseChapter : list) { temp+= courseChapter.getVirtualLearnedNum(); + Long data2 = remoteAppUserService.getCourseChapterHistoryCount(courseChapter.getId()).getData(); + temp1+=data2; } - int size = courseLearningRecordService.lambdaQuery().eq(CourseLearningRecord::getCourseId, record.getId()) - .groupBy(CourseLearningRecord::getAppUserId).list().size(); - orderCourseVO.setCount(temp+size); + orderCourseVO.setCount(temp+temp1); orderCourseVOS.add(orderCourseVO); } break; @@ -619,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); @@ -646,6 +640,12 @@ }else{ clientCourseVO.setIsVip(0); } + List<Long> collect9 = data.stream().map(AppUser::getId).collect(Collectors.toList()); + if (!collect9.isEmpty()){ + if (collect9.contains(userId)){ + clientCourseVO.setIsBuy(1); + } + } if(byId.getChargeType() != 1){ List<CourseChapter> list = courseChapterService.lambdaQuery().eq(CourseChapter::getCourseId, byId.getId()) .list(); @@ -658,7 +658,6 @@ b+=courseChapter.getVirtualLearnedNum(); } clientCourseVO.setCount(a+b); - clientCourseVO.setIsBuy(1); }else if (data!=null){ // 查询学习人数和头像列表 clientCourseVO.setCount(data.size()); @@ -706,8 +705,8 @@ Long data2 = remoteAppUserService.getCourseChapterHistoryCount(courseChapter.getId()).getData(); a+=data2; b+=courseChapter.getVirtualLearnedNum(); - courseChapter.setRealLearnedNum(a+b); - courseChapter.setVirtualLearnedNum(0); + courseChapter.setRealLearnedNum(a); + courseChapter.setVirtualLearnedNum(b); LoginUser loginUser = tokenService.getLoginUser(); if (loginUser!=null){ Integer data1 = remoteAppUserService.getCourseChapterHistoryState(loginUser.getUserid(), courseChapter.getId()).getData(); @@ -721,6 +720,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<>(); // 随机获取两个课程 @@ -729,10 +730,10 @@ int index = (int) (Math.random() * size); if (size >= 2){ for (int i = 0; i < 2; i++) { - courses.add(list.get(index)); + courses.add(list.get(i)); } }else{ - courses.add(list.get(index)); + courses.addAll(list); } } for (Course cours : courses) { @@ -788,6 +789,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<>(); // 随机获取两个课程 @@ -943,6 +946,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) { @@ -1005,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(); @@ -1028,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); + } } } // 查询两个相同类型的线上免费课程 @@ -1092,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