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/ClientTutorSpecialColumnController.java | 111 +++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 90 insertions(+), 21 deletions(-) diff --git a/xinquan-modules/xinquan-course/src/main/java/com/xinquan/course/controller/client/ClientTutorSpecialColumnController.java b/xinquan-modules/xinquan-course/src/main/java/com/xinquan/course/controller/client/ClientTutorSpecialColumnController.java index f2735a5..fb581e4 100644 --- a/xinquan-modules/xinquan-course/src/main/java/com/xinquan/course/controller/client/ClientTutorSpecialColumnController.java +++ b/xinquan-modules/xinquan-course/src/main/java/com/xinquan/course/controller/client/ClientTutorSpecialColumnController.java @@ -1,31 +1,33 @@ package com.xinquan.course.controller.client; -import com.alibaba.nacos.common.utils.StringUtils; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.xinquan.common.core.domain.R; import com.xinquan.common.core.utils.page.BeanUtils; import com.xinquan.common.core.utils.page.CollUtils; import com.xinquan.common.core.utils.page.PageDTO; +import com.xinquan.common.security.utils.SecurityUtils; import com.xinquan.course.api.domain.Course; +import com.xinquan.course.api.domain.CourseCategory; +import com.xinquan.course.api.domain.CourseChapter; +import com.xinquan.course.domain.CourseLearningRecord; import com.xinquan.course.domain.TutorSpecialColumn; import com.xinquan.course.domain.TutorSpecialColumnCourse; import com.xinquan.course.domain.vo.ClientCourseVO; import com.xinquan.course.domain.vo.TutorCourseVO; import com.xinquan.course.domain.vo.TutorVo; -import com.xinquan.course.service.CourseCategoryService; -import com.xinquan.course.service.CourseService; -import com.xinquan.course.service.TutorSpecialColumnCourseService; -import com.xinquan.course.service.TutorSpecialColumnService; +import com.xinquan.course.service.*; +import com.xinquan.system.api.domain.AppUser; +import com.xinquan.user.api.feign.RemoteAppUserService; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.util.StringUtils; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.time.LocalDateTime; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -52,32 +54,99 @@ private CourseCategoryService courseCategoryService; @Resource private CourseService courseService; + @Resource + private CourseLearningRecordService courseLearningRecordService; + @Resource + private CourseChapterService courseChapterService; + @Resource + private RemoteAppUserService remoteAppUserService; @PostMapping("/getCoursePageList") @ApiOperation(value = "导师专栏",tags = "导师专栏") - public R<TutorVo> getCourseList() { TutorVo tutorVo = new TutorVo(); TutorSpecialColumn one = tutorSpecialColumnService.lambdaQuery().one(); List<TutorCourseVO> clientCourseVOS = new ArrayList<>(); if (one!=null){ - TutorSpecialColumnCourse one1 = tutorSpecialColumnCourseService.lambdaQuery().eq(TutorSpecialColumnCourse::getTutorSpecialColumnId, one.getId()).one(); BeanUtils.copyProperties(one, tutorVo); - List<Course> page = courseService.lambdaQuery() - .in(Course::getId, Arrays.asList(one1.getCourseId().split(","))) - .orderByDesc(Course::getSortNum).list().stream().limit(2).collect(Collectors.toList()); - for (Course course : page) { - TutorCourseVO tutorCourseVO = new TutorCourseVO(); - BeanUtils.copyProperties(course, tutorCourseVO); - clientCourseVOS.add(tutorCourseVO); + TutorSpecialColumnCourse one1 = tutorSpecialColumnCourseService.lambdaQuery().eq(TutorSpecialColumnCourse::getTutorSpecialColumnId, one.getId()).one(); + if (one1!=null){ + LambdaQueryWrapper<Course> courseLambdaQueryWrapper = new LambdaQueryWrapper<>(); + if (StringUtils.hasLength(one1.getCourseId())){ + courseLambdaQueryWrapper.in(Course::getId, Arrays.asList(one1.getCourseId().split(","))); + } + courseLambdaQueryWrapper.orderByDesc(Course::getSortNum); + List<Course> page = courseService.list(courseLambdaQueryWrapper); + for (Course course : page) { + TutorCourseVO tutorCourseVO = new TutorCourseVO(); + List<AppUser> data = remoteAppUserService.getUserByCourseId(course.getId()).getData(); + List<CourseChapter> list1 = courseChapterService.lambdaQuery().eq(CourseChapter::getCourseId, course.getId()).list(); + int a = 0; + int b = 0; + for (CourseChapter courseChapter : list1) { + a+= courseChapter.getVirtualLearnedNum(); + Long data1 = remoteAppUserService.getCourseChapterHistoryCount(courseChapter.getId()).getData(); + b+=data1; + } + course.setCount(a+b); + course.setRealLearnedNum(a+b); + BeanUtils.copyProperties(course, tutorCourseVO); + clientCourseVOS.add(tutorCourseVO); + } + tutorVo.setList(clientCourseVOS); + return R.ok(tutorVo); + }else{ + return R.ok(tutorVo); } - tutorVo.setList(clientCourseVOS); - return R.ok(tutorVo); }else{ tutorVo.setList(clientCourseVOS); return R.ok(tutorVo); } } - + @GetMapping("/detailTutor") + @ApiOperation(value = "查看详情导师专栏", tags = "管理后台-导师专栏") + public R<TutorSpecialColumn> detailTutor() { + TutorSpecialColumn one = tutorSpecialColumnService.getOne(null); + if (one!=null){ + TutorSpecialColumnCourse one1 = tutorSpecialColumnCourseService.lambdaQuery() + .eq(TutorSpecialColumnCourse::getTutorSpecialColumnId, one.getId()).one(); + if (one1!=null){ + List<String> collect = Arrays.asList(one1.getCourseId().split(",")); + List<Course> list = courseService.lambdaQuery().in(Course::getId, collect).list(); + for (Course course : list) { + CourseCategory byId = courseCategoryService.getById(course.getCateId()); + if (byId!=null){ + course.setCategoryName(byId.getName()); + } + } + one.setCourses(list); + } + } + return R.ok(one); + } + @PostMapping("/updateTutor") + @ApiOperation(value = "修改分类导师专栏", tags = "管理后台-导师专栏") + public R updateTutor(@RequestBody TutorSpecialColumn homeBackgroundMusic) { + TutorSpecialColumn one = tutorSpecialColumnService.getOne(null); + if (one == null){ + tutorSpecialColumnService.save(homeBackgroundMusic); + } + homeBackgroundMusic.setUpdateBy(SecurityUtils.getUsername()); + homeBackgroundMusic.setUpdateTime(LocalDateTime.now()); + List<Long> collect = tutorSpecialColumnCourseService.lambdaQuery() + .eq(TutorSpecialColumnCourse::getTutorSpecialColumnId, homeBackgroundMusic.getId()) + .list().stream().map(TutorSpecialColumnCourse::getId) + .collect(Collectors.toList()); + tutorSpecialColumnCourseService.removeBatchByIds(collect); + if (StringUtils.hasLength(homeBackgroundMusic.getCourseIds())){ + List<TutorSpecialColumnCourse> tutorSpecialColumnCourses = new ArrayList<>(); + TutorSpecialColumnCourse tutorSpecialColumnCourse = new TutorSpecialColumnCourse(); + tutorSpecialColumnCourse.setCourseId(homeBackgroundMusic.getCourseIds()); + tutorSpecialColumnCourse.setTutorSpecialColumnId(homeBackgroundMusic.getId()); + tutorSpecialColumnCourses.add(tutorSpecialColumnCourse); + tutorSpecialColumnCourseService.saveBatch(tutorSpecialColumnCourses); + } + return R.ok(tutorSpecialColumnService.updateById(homeBackgroundMusic)); + } } -- Gitblit v1.7.1