package com.stylefeng.guns.modular.code.controller;
|
|
import com.baomidou.mybatisplus.mapper.EntityWrapper;
|
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageInfo;
|
import com.stylefeng.guns.modular.system.dto.CourseDTO;
|
import com.stylefeng.guns.modular.system.dto.CourseQuery;
|
import com.stylefeng.guns.modular.system.model.Course;
|
import com.stylefeng.guns.modular.system.model.CourseVideo;
|
import com.stylefeng.guns.modular.system.model.FitnessPosition;
|
import com.stylefeng.guns.modular.system.model.FitnessType;
|
import com.stylefeng.guns.modular.system.service.*;
|
import com.stylefeng.guns.modular.system.util.RedisUtil;
|
import com.stylefeng.guns.modular.system.util.ResultUtil;
|
import com.stylefeng.guns.modular.system.util.UUIDUtil;
|
import com.stylefeng.guns.modular.system.vo.CouponListVO;
|
import com.stylefeng.guns.modular.system.vo.CourseList;
|
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.util.List;
|
|
/**
|
* @author 无关风月
|
* @Date 2024/2/6 18:25
|
*/
|
@Slf4j
|
@RestController
|
@RequestMapping("")
|
public class CourseController {
|
@Autowired
|
private IFitnessTypeService fitnessTypeService;
|
@Autowired
|
private IFitnessPositionService fitnessPositionService;
|
|
@Autowired
|
private ICourseService courseService;
|
@Autowired
|
private ICourseVideoService courseVideoService;
|
@ResponseBody
|
@PostMapping("/base/course/typeList")
|
@ApiOperation(value = "所属类型下拉列表", tags = {"课程"})
|
public ResultUtil<List<FitnessType>> typeList() {
|
List<FitnessType> types = fitnessTypeService.selectList(new EntityWrapper<FitnessType>()
|
.eq("isDelete", 0));
|
return ResultUtil.success(types);
|
}
|
@ResponseBody
|
@PostMapping("/base/course/positionList")
|
@ApiOperation(value = "所属部位下拉列表", tags = {"课程"})
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "类型id", name = "id"),
|
})
|
public ResultUtil<List<FitnessPosition>> positionList(Integer id) {
|
List<FitnessPosition> types = fitnessPositionService.selectList(new EntityWrapper<FitnessPosition>()
|
.eq("typeId",id)
|
.eq("isDelete", 0));
|
return ResultUtil.success(types);
|
}
|
@ResponseBody
|
@PostMapping("/base/course/updateState")
|
@ApiOperation(value = "上架/下架/删除", tags = {"课程"})
|
@ApiImplicitParams({
|
@ApiImplicitParam(value = "课程id", name = "id"),
|
@ApiImplicitParam(value = "状态1=上架 2=下架 3=删除", name = "state"),
|
})
|
public ResultUtil updateState(Integer id,Integer state) {
|
Course course = courseService.selectById(id);
|
course.setState(state);
|
courseService.updateById(course);
|
return ResultUtil.success();
|
}
|
@ResponseBody
|
@PostMapping("/base/course/courseDetail")
|
@ApiOperation(value = "查看详情", tags = {"课程"})
|
public ResultUtil<CourseDTO> courseList(Integer id) {
|
Course course = courseService.selectById(id);
|
CourseDTO courseDTO = new CourseDTO();
|
courseDTO.setId(course.getId());
|
courseDTO.setCourseName(course.getCourseName());
|
courseDTO.setIsFree(course.getIsFree());
|
courseDTO.setDifficulty(course.getDifficulty());
|
courseDTO.setTypeId(course.getTypeId());
|
courseDTO.setPositionId(course.getPositionId());
|
courseDTO.setIntroduce(course.getIntroduce());
|
courseDTO.setCoverImg(course.getCoverImg());
|
courseDTO.setSort(course.getSort());
|
courseDTO.setTime(course.getTime());
|
courseDTO.setAllTime(course.getAllTime());
|
courseDTO.setPositionName(fitnessPositionService.selectById(course.getPositionId()).getName());
|
List<CourseVideo> courseId = courseVideoService.selectList(new EntityWrapper<CourseVideo>()
|
.eq("courseId", id));
|
courseDTO.setVideos(courseId);
|
return ResultUtil.success(courseDTO);
|
}
|
@ResponseBody
|
@PostMapping("/base/course/courseList")
|
@ApiOperation(value = "列表查询", tags = {"课程"})
|
public ResultUtil<PageInfo<CourseList>> courseList(CourseQuery query) {
|
List<CourseList> res = courseService.courseList(query);
|
// PageHelper.startPage(query.getPageNum(),query.getPageSize());
|
PageInfo<CourseList> info=new PageInfo<>(res);
|
return ResultUtil.success(info);
|
}
|
@ResponseBody
|
@PostMapping("/base/course/addOrUpdate")
|
@ApiOperation(value = "课程添加/编辑", tags = {"课程"})
|
public ResultUtil courseList(@RequestBody CourseDTO dto) {
|
if (dto.getId()==null){
|
// 新增
|
Course course = new Course();
|
course.setCourseName(dto.getCourseName());
|
course.setCoverImg(dto.getCoverImg());
|
course.setIntroduce(dto.getIntroduce());
|
course.setDifficulty(dto.getDifficulty());
|
course.setTime(dto.getTime());
|
course.setIsFree(dto.getIsFree());
|
course.setSort(dto.getSort());
|
course.setAllTime(dto.getAllTime());
|
course.setState(1);
|
course.setPositionId(dto.getPositionId());
|
course.setTypeId(dto.getTypeId());
|
courseService.insert(course);
|
// 添加视频
|
List<CourseVideo> videos = dto.getVideos();
|
for (CourseVideo video : videos) {
|
video.setTime(video.getMinute()*60 + video.getSecond());
|
video.setCourseId(course.getId());
|
courseVideoService.insert(video);
|
}
|
return ResultUtil.success("添加成功");
|
}else{
|
// 编辑
|
Course course = courseService.selectById(dto.getId());
|
if (course!=null){
|
course.setCourseName(dto.getCourseName());
|
course.setCoverImg(dto.getCoverImg());
|
course.setIntroduce(dto.getIntroduce());
|
course.setPositionId(dto.getPositionId());
|
course.setTypeId(dto.getTypeId());
|
course.setDifficulty(dto.getDifficulty());
|
course.setTime(dto.getTime());
|
course.setIsFree(dto.getIsFree());
|
course.setSort(dto.getSort());
|
course.setAllTime(dto.getAllTime());
|
courseService.updateById(course);
|
}
|
if (dto.getVideos().size()!=0){
|
// 如果修改了视频列表 将之前的删除 重新添加
|
List<CourseVideo> courseId = courseVideoService.selectList(new EntityWrapper<CourseVideo>()
|
.eq("courseId", dto.getId()));
|
for (CourseVideo courseVideo : courseId) {
|
courseVideoService.deleteById(courseVideo);
|
}
|
for (CourseVideo video : dto.getVideos()) {
|
video.setTime(video.getMinute()*60 + video.getSecond());
|
video.setCourseId(course.getId());
|
courseVideoService.insert(video);
|
}
|
}
|
return ResultUtil.success("编辑成功");
|
}
|
|
}
|
|
public static void main(String[] args) throws Exception {
|
String randomCode = UUIDUtil.getRandomCode(8);
|
System.err.println(randomCode);
|
}
|
}
|