| | |
| | | package com.xinquan.course.controller.client; |
| | | |
| | | |
| | | import com.alibaba.nacos.common.utils.StringUtils; |
| | | 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.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 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; |
| | | import java.util.Objects; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | private CourseService courseService; |
| | | @PostMapping("/getCoursePageList") |
| | | @ApiOperation(value = "导师专栏",tags = "导师专栏") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(value = "分页参数,当前页码", name = "pageCurr", required = true, dataType = "Integer"), |
| | | @ApiImplicitParam(value = "分页参数,每页数量", name = "pageSize", required = true, dataType = "Integer") |
| | | }) |
| | | public R<TutorVo> getCourseList( |
| | | @RequestParam(value = "pageCurr", defaultValue = "1") Integer pageCurr, |
| | | @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) { |
| | | 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); |
| | | Page<Course> page = courseService.lambdaQuery() |
| | | List<Course> page = courseService.lambdaQuery() |
| | | .in(Course::getId, Arrays.asList(one1.getCourseId().split(","))) |
| | | .orderByDesc(Course::getSortNum) |
| | | .page(new Page<>(pageCurr, pageSize)); |
| | | if (CollUtils.isEmpty(page.getRecords())) { |
| | | PageDTO.empty(page); |
| | | .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); |
| | | } |
| | | tutorVo.setList(PageDTO.of(page, ClientCourseVO.class)); |
| | | tutorVo.setList(clientCourseVOS); |
| | | return R.ok(tutorVo); |
| | | }else{ |
| | | tutorVo.setList(clientCourseVOS); |
| | | return R.ok(tutorVo); |
| | | } |
| | | return R.ok(); |
| | | } |
| | | |
| | | @GetMapping("/detailTutor") |
| | | @ApiOperation(value = "查看详情导师专栏", notes = "管理后台-导师专栏") |
| | | 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()){ |
| | | List<Course> list = courseService.lambdaQuery().in(Course::getId, collect).list(); |
| | | one.setCourses(list); |
| | | } |
| | | } |
| | | return R.ok(one); |
| | | } |
| | | @PostMapping("/updateTutor") |
| | | @ApiOperation(value = "修改分类导师专栏", notes = "管理后台-导师专栏") |
| | | 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); |
| | | 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); |
| | | } |
| | | tutorSpecialColumnCourseService.saveBatch(tutorSpecialColumnCourses); |
| | | } |
| | | return R.ok(tutorSpecialColumnService.updateById(homeBackgroundMusic)); |
| | | } |
| | | |
| | | } |
| | | |