无关风月
2024-11-11 6c19eb74b11c6cbf475d43496b90cdee2a28d8b7
xinquan-modules/xinquan-course/src/main/java/com/xinquan/course/controller/client/ClientCourseController.java
@@ -922,6 +922,11 @@
        Course byId = courseService.getById(courseId);
        AppUser data = remoteAppUserService.getAppUserById(userId + "").getData();
        byId.setBalance(data.getBalance());
        System.err.println("课程类型"+byId.getChargeType());
        if (byId.getChargeType() == 1){
            byId.setGeneralPrice(new BigDecimal("0"));
        }
        System.err.println("返回数据"+byId);
        return R.ok(byId);
    }
    @PostMapping("/successOrder")
@@ -1002,18 +1007,38 @@
                courseVOS.add(courseVO);
            }
        }
        List<Long> data1 = remoteAppUserService.getCourseHistoryByUserId(userId).getData();
        for (Long l : data1) {
            CourseChapter byId1 = courseChapterService.getById(l);
            Course byId = courseService.getById(byId1.getCourseId());
            if (byId!=null){
                CourseVO courseVO = new CourseVO();
                BeanUtils.copyProperties(byId, courseVO);
                List<CourseChapter> list1 = courseChapterService.lambdaQuery().eq(CourseChapter::getCourseId, byId1.getCourseId()).list();
                int a = 0;
                int b = 0;
                for (CourseChapter courseChapter : list1) {
                    a+= courseChapter.getVirtualLearnedNum();
                    Long data2 = remoteAppUserService.getCourseChapterHistoryCount(courseChapter.getId()).getData();
                    b+=data2;
                }
                courseVO.setCount(a+b);
                courseVO.setRealLearnedNum(a+b);
                courseVO.setVirtualLearnedNum(0);
                courseVO.setId(byId.getId());
                courseVO.setCoverUrl(byId.getCoverUrl());
                courseVOS.add(courseVO);
            }
        }
        // 查询两个相同类型的线上免费课程
        List<Course> freeCourseList = courseService.lambdaQuery()
                .eq(Course::getCourseType, 1)
                .eq(Course::getChargeType, 1)
                .list();
        // 远程查询用户观看历史
        List<Long> data1 = remoteAppUserService.getCourseHistoryByUserId(userId).getData();
        if (!data1.isEmpty()){
            // 随机获取两个
            if (CollUtils.isNotEmpty(freeCourseList) && freeCourseList.size() > 2) {
                int size = freeCourseList.size();
                int index = (int) (Math.random() * size);
                List<Course> courses = new ArrayList<>();
                for (Course cours : freeCourseList) {
                    List<CourseChapter> list1 = courseChapterService.lambdaQuery().eq(CourseChapter::getCourseId, cours.getId()).list();
@@ -1029,7 +1054,7 @@
                    cours.setVirtualLearnedNum(0);
                }
                for (int i = 0; i < 2; i++) {
                    courses.add(freeCourseList.get(index));
                    courses.add(freeCourseList.get(i));
                }
                studyPageVO.setFreeCourseList(courses);
            }else{