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