| | |
| | | package com.xinquan.course.controller.client; |
| | | |
| | | |
| | | 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.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; |
| | |
| | | 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() { |
| | |
| | | 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 = "查看详情导师专栏", notes = "管理后台-导师专栏") |
| | | @ApiOperation(value = "查看详情导师专栏", tags = "管理后台-导师专栏") |
| | | public R<TutorSpecialColumn> detailTutor() { |
| | | TutorSpecialColumn one = tutorSpecialColumnService.getOne(null); |
| | | if (one!=null){ |
| | | List<Long> collect = tutorSpecialColumnCourseService.lambdaQuery().eq(TutorSpecialColumnCourse::getTutorSpecialColumnId, one.getId()) |
| | | .list().stream().map(TutorSpecialColumnCourse::getId).collect(Collectors.toList()); |
| | | if (!collect.isEmpty()){ |
| | | 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 = "修改分类导师专栏", notes = "管理后台-导师专栏") |
| | | @ApiOperation(value = "修改分类导师专栏", tags = "管理后台-导师专栏") |
| | | public R updateTutor(@RequestBody TutorSpecialColumn homeBackgroundMusic) { |
| | | TutorSpecialColumn one = tutorSpecialColumnService.getOne(null); |
| | | if (one == null){ |
| | |
| | | .list().stream().map(TutorSpecialColumnCourse::getId) |
| | | .collect(Collectors.toList()); |
| | | tutorSpecialColumnCourseService.removeBatchByIds(collect); |
| | | List<TutorSpecialColumnCourse> tutorSpecialColumnCourses = new ArrayList<>(); |
| | | if (StringUtils.hasLength(homeBackgroundMusic.getCourseIds())){ |
| | | String[] split = homeBackgroundMusic.getCourseIds().split(","); |
| | | for (int i = 0; i < split.length; i++) { |
| | | TutorSpecialColumnCourse tutorSpecialColumnCourse = new TutorSpecialColumnCourse(); |
| | | tutorSpecialColumnCourse.setCourseId(split[i]); |
| | | tutorSpecialColumnCourse.setTutorSpecialColumnId(homeBackgroundMusic.getId()); |
| | | tutorSpecialColumnCourse.setCreateBy(SecurityUtils.getUsername()); |
| | | tutorSpecialColumnCourse.setCreateTime(LocalDateTime.now()); |
| | | tutorSpecialColumnCourse.setUpdateBy(SecurityUtils.getUsername()); |
| | | tutorSpecialColumnCourse.setUpdateTime(LocalDateTime.now()); |
| | | tutorSpecialColumnCourses.add(tutorSpecialColumnCourse); |
| | | } |
| | | 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)); |