From 94e9dc3adb80baf6e1d7d56e54a93917996bc339 Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期日, 28 四月 2024 11:21:49 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 rest/src/main/java/cn/stylefeng/rest/modular/user/controller/CourseController.java |  119 ++++++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 85 insertions(+), 34 deletions(-)

diff --git a/rest/src/main/java/cn/stylefeng/rest/modular/user/controller/CourseController.java b/rest/src/main/java/cn/stylefeng/rest/modular/user/controller/CourseController.java
index 0e3ad33..c605ea6 100644
--- a/rest/src/main/java/cn/stylefeng/rest/modular/user/controller/CourseController.java
+++ b/rest/src/main/java/cn/stylefeng/rest/modular/user/controller/CourseController.java
@@ -120,49 +120,100 @@
         return new SuccessResponseData<>(course);
     }
     @Resource
-    private CacheOperatorApi<List<CourseResponseDTO>> roleInfoCacheApi1;
+    private CacheOperatorApi<List<CourseResponseDTO>> roleInfoCacheApi;
     /**
      * 获取课程管理列表(分页)
      */
     @ApiOperation("获取课程管理列表(分页)")
     @GetResource(name = "获取课程管理列表(分页)", path = "/page", requiredPermission = false)
-    public ResponseData<List<CourseResponseDTO>> page(CourseRequest courseRequest) {
-        List<CourseResponseDTO> course = roleInfoCacheApi1.get("course");
-        return new SuccessResponseData<>(course);
+    public ResponseData<PageResult<CourseResponseDTO>> page(CourseRequest courseRequest) {
 
-//        LambdaQueryWrapper<Course> lambdaQueryWrapper = new LambdaQueryWrapper<Course>().eq(Course::getIsDelete,false)
-//                    .orderByDesc(Course::getSort,Course::getCreateTime);
-//        if (courseRequest.getListingStatus() != null){
-//            lambdaQueryWrapper.eq(Course::getListingStatus,courseRequest.getListingStatus());
+//        if (roleInfoCacheApi.get("course:"+LoginContext.me().getLoginUser().getUserId())!=null){
+//                return  new SuccessResponseData<>(roleInfoCacheApi.get("course:"+LoginContext.me().getLoginUser().getUserId()));
 //        }else {
-//            lambdaQueryWrapper.eq(Course::getListingStatus,1);
-//        }
-//        lambdaQueryWrapper.like(StrUtil.isNotBlank(courseRequest.getCourseName()),Course::getCourseName,courseRequest.getCourseName());
-//        Page<Course> page = this.courseService.page(PageFactory.defaultPage(), lambdaQueryWrapper);
-//
-//        if (CollectionUtil.isNotEmpty(page.getRecords())){
-//            List<CourseResponseDTO> courseResponseDTOList = BeanUtil.copyToList(page.getRecords(),CourseResponseDTO.class, CopyOptions.create());
-//            //查询当前人是否购买过课程
-//            List<CourseOrder> courseOrderList = this.courseOrderService.list(new LambdaQueryWrapper<CourseOrder>().select(CourseOrder::getCourseId).eq(CourseOrder::getUserId, LoginContext.me().getLoginUser().getUserId()).eq(CourseOrder::getStatusFlag,1));
-//            if (CollectionUtil.isNotEmpty(courseOrderList)){
-//                List<Long> courseIds = courseOrderList.stream().map(CourseOrder::getCourseId).collect(Collectors.toList());
-//                courseResponseDTOList.forEach(course1 -> {
-//                   if (courseIds.contains(course1.getId())){
-//                       course1.setIsBuy(true);
-//                       CourseOrder courseOrder = this.courseOrderService.getOne(new LambdaQueryWrapper<CourseOrder>().select(CourseOrder::getId).eq(CourseOrder::getUserId, LoginContext.me().getLoginUser().getUserId()).eq(CourseOrder::getStatusFlag,1)
-//                               .eq(CourseOrder::getCourseId,course1.getId()).orderByAsc(CourseOrder::getPayTime)
-//                               .last(" limit 1 "));
-//                       if(courseOrder != null){
-//                           course1.setCourseOrderId(courseOrder.getId());
-//                       }
-//                   }else{
-//                       course1.setIsBuy(false);
-//                   }
-//                });
+//            LambdaQueryWrapper<Course> lambdaQueryWrapper = new LambdaQueryWrapper<Course>().eq(Course::getIsDelete, false)
+//                    .orderByDesc(Course::getSort, Course::getCreateTime);
+//            if (courseRequest.getListingStatus() != null) {
+//                lambdaQueryWrapper.eq(Course::getListingStatus, courseRequest.getListingStatus());
+//            } else {
+//                lambdaQueryWrapper.eq(Course::getListingStatus, 1);
 //            }
-//         return  new SuccessResponseData<>(PageResultFactory.createPageResult(courseResponseDTOList,page.getTotal(), Convert.toInt(page.getSize()),Convert.toInt(page.getCurrent())));
+//            lambdaQueryWrapper.like(StrUtil.isNotBlank(courseRequest.getCourseName()), Course::getCourseName, courseRequest.getCourseName());
+//            List<Course> page = this.courseService.list( lambdaQueryWrapper);
+//
+//            if (CollectionUtil.isNotEmpty(page)) {
+//                List<CourseResponseDTO> courseResponseDTOList = BeanUtil.copyToList(page, CourseResponseDTO.class, CopyOptions.create());
+//                //查询当前人是否购买过课程
+//                List<CourseOrder> courseOrderList = this.courseOrderService.list(new LambdaQueryWrapper<CourseOrder>().select(CourseOrder::getCourseId).eq(CourseOrder::getUserId, LoginContext.me().getLoginUser().getUserId()).eq(CourseOrder::getStatusFlag, 1));
+//                if (CollectionUtil.isNotEmpty(courseOrderList)) {
+//                    List<Long> courseIds = courseOrderList.stream().map(CourseOrder::getCourseId).collect(Collectors.toList());
+//                    courseResponseDTOList.forEach(course1 -> {
+//                        if (courseIds.contains(course1.getId())) {
+//                            course1.setIsBuy(true);
+//                            CourseOrder courseOrder = this.courseOrderService.getOne(new LambdaQueryWrapper<CourseOrder>().select(CourseOrder::getId).eq(CourseOrder::getUserId, LoginContext.me().getLoginUser().getUserId()).eq(CourseOrder::getStatusFlag, 1)
+//                                    .eq(CourseOrder::getCourseId, course1.getId()).orderByAsc(CourseOrder::getPayTime)
+//                                    .last(" limit 1 "));
+//                            if (courseOrder != null) {
+//                                course1.setCourseOrderId(courseOrder.getId());
+//                            }
+//                        } else {
+//                            course1.setIsBuy(false);
+//                        }
+//                    });
+//                }
+//                roleInfoCacheApi.put("course:"+LoginContext.me().getLoginUser().getUserId(),courseResponseDTOList,600L);
+//                return new SuccessResponseData<>(courseResponseDTOList);
+//            }
+//
 //        }
-//        return  new SuccessResponseData<>(PageResultFactory.createPageResult(new ArrayList<CourseResponseDTO>(),page.getTotal(), Convert.toInt(page.getSize()),Convert.toInt(page.getCurrent())));
+//        return new SuccessResponseData<>();
+
+        //缓存
+//
+//        List<Object> course = roleInfoCacheApi.get("course");
+//        return new SuccessResponseData<>(course);
+
+        LambdaQueryWrapper<Course> lambdaQueryWrapper = new LambdaQueryWrapper<Course>().eq(Course::getIsDelete,false)
+                    .orderByDesc(Course::getSort,Course::getCreateTime);
+        if (courseRequest.getListingStatus() != null){
+            lambdaQueryWrapper.eq(Course::getListingStatus,courseRequest.getListingStatus());
+        }else {
+            lambdaQueryWrapper.eq(Course::getListingStatus,1);
+        }
+        lambdaQueryWrapper.like(StrUtil.isNotBlank(courseRequest.getCourseName()),Course::getCourseName,courseRequest.getCourseName());
+        Page<Course> page = this.courseService.page(PageFactory.defaultPage(), lambdaQueryWrapper);
+
+        if (CollectionUtil.isNotEmpty(page.getRecords())){
+            List<CourseResponseDTO> courseResponseDTOList = BeanUtil.copyToList(page.getRecords(),CourseResponseDTO.class, CopyOptions.create());
+            //查询当前人是否购买过课程
+            List<CourseOrder> courseOrderList = this.courseOrderService.list(new LambdaQueryWrapper<CourseOrder>().select(CourseOrder::getCourseId).eq(CourseOrder::getUserId, LoginContext.me().getLoginUser().getUserId()).eq(CourseOrder::getStatusFlag,1));
+            if (CollectionUtil.isNotEmpty(courseOrderList)){
+                List<Long> courseIds = courseOrderList.stream().map(CourseOrder::getCourseId).collect(Collectors.toList());
+                courseResponseDTOList.forEach(course1 -> {
+                    //不返回内容 内容文件太大
+                    course1.setCourseContent(null);
+                   if (courseIds.contains(course1.getId())){
+                       course1.setIsBuy(true);
+                       CourseOrder courseOrder = this.courseOrderService.getOne(new LambdaQueryWrapper<CourseOrder>().select(CourseOrder::getId).eq(CourseOrder::getUserId, LoginContext.me().getLoginUser().getUserId()).eq(CourseOrder::getStatusFlag,1)
+                               .eq(CourseOrder::getCourseId,course1.getId()).orderByAsc(CourseOrder::getPayTime)
+                               .last(" limit 1 "));
+                       if(courseOrder != null){
+                           course1.setCourseOrderId(courseOrder.getId());
+                       }
+                   }else{
+                       course1.setIsBuy(false);
+                   }
+                });
+            }else{
+                courseResponseDTOList.forEach(course1 -> {
+                    //不返回内容 内容文件太大
+                    course1.setCourseContent(null);
+                    course1.setIsBuy(false);
+                });
+            }
+         return  new SuccessResponseData<>(PageResultFactory.createPageResult(courseResponseDTOList,page.getTotal(), Convert.toInt(page.getSize()),Convert.toInt(page.getCurrent())));
+        }
+        return  new SuccessResponseData<>(PageResultFactory.createPageResult(new ArrayList<CourseResponseDTO>(),page.getTotal(), Convert.toInt(page.getSize()),Convert.toInt(page.getCurrent())));
     }
 
 

--
Gitblit v1.7.1