package com.dsh.course.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.dsh.course.entity.TCourse; import com.dsh.course.entity.TCoursePackageType; import com.dsh.course.feignclient.model.ExerciseVideo; import com.dsh.course.model.*; import com.dsh.course.service.TCoursePackageService; import com.dsh.course.service.TCoursePackageTypeService; import com.dsh.course.service.TCourseService; import com.dsh.course.util.ResultUtil; import com.dsh.course.util.TokenUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.List; @Api @CrossOrigin @RestController @RequestMapping("") public class CourseController { private Logger logger = LoggerFactory.getLogger("business-log"); @Autowired private TCourseService courseService; @Autowired private TCoursePackageService coursePackageService; @Autowired private TokenUtil tokenUtil; @Autowired private TCoursePackageTypeService coursePackageTypeService; @PostMapping("/course/queryList") public List queryStuCourseAfterVideos(@RequestBody List courseIds){ List videos = new ArrayList<>(); List list = courseService.list(new QueryWrapper() .in("id", courseIds) .eq("state",1)); if (list.size() > 0){ list.forEach( vs ->{ ExerciseVideo video = new ExerciseVideo(); video.setVideoUrl(vs.getCourseVideo()); video.setVideoName(vs.getName()); video.setVideoCoverImgUrl(vs.getCoverDrawing()); videos.add(video); }); } return videos; } @ResponseBody @PostMapping("/api/course/queryCoursePackageType") @ApiOperation(value = "获取课程类型列表", tags = {"APP-课程列表"}) @ApiImplicitParams({ }) public ResultUtil> queryCoursePackageType(){ try { List coursePackageTypes = coursePackageTypeService.list(new QueryWrapper().eq("state", 1)); List list = new ArrayList<>(); coursePackageTypes.forEach(c -> { BaseVo baseVo = new BaseVo(); BeanUtils.copyProperties(c, baseVo); list.add(baseVo); }); return ResultUtil.success(list); }catch (Exception e){ e.printStackTrace(); return ResultUtil.runErr(); } } @ResponseBody @PostMapping("/api/course/queryCourseList") @ApiOperation(value = "获取课程列表", tags = {"APP-课程列表"}) @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) public ResultUtil> queryCourseList(@RequestBody CoursePackageList coursePackageList){ try { Integer uid = tokenUtil.getUserIdFormRedis(); if(null == uid){ return ResultUtil.tokenErr(); } List coursePackageListVos = coursePackageService.queryCourseList(uid, coursePackageList); return ResultUtil.success(coursePackageListVos); }catch (Exception e){ e.printStackTrace(); return ResultUtil.runErr(); } } @ResponseBody @PostMapping("/api/course/queryCourseInfo") @ApiOperation(value = "获取课程详情", tags = {"APP-课程列表"}) @ApiImplicitParams({ @ApiImplicitParam(value = "课包id", name = "id", dataType = "int", required = true), @ApiImplicitParam(value = "经度", name = "lon", dataType = "string", required = true), @ApiImplicitParam(value = "纬度", name = "lat", dataType = "string", required = true), @ApiImplicitParam(name = "Authorization", value = "用户token(Bearer +token)", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) public ResultUtil queryCourseInfo(@RequestBody Integer id, @RequestBody String lon, @RequestBody String lat){ try { Integer uid = tokenUtil.getUserIdFormRedis(); if(null == uid){ return ResultUtil.tokenErr(); } CoursePackageInfo coursePackageInfo = coursePackageService.queryCourseInfo(uid, id, lon, lat); return ResultUtil.success(coursePackageInfo); }catch (Exception e){ e.printStackTrace(); return ResultUtil.runErr(); } } public ResultUtil paymentCourse(@RequestBody PaymentCourseVo paymentCourseVo){ try { Integer uid = tokenUtil.getUserIdFormRedis(); if(null == uid){ return ResultUtil.tokenErr(); } return coursePackageService.paymentCourse(uid, paymentCourseVo); }catch (Exception e){ e.printStackTrace(); return ResultUtil.runErr(); } } }