package com.zhongzheng.controller.course; import com.zhongzheng.common.core.controller.BaseController; import com.zhongzheng.common.core.domain.AjaxResult; import com.zhongzheng.common.core.page.TableDataInfo; import com.zhongzheng.common.utils.ServletUtils; import com.zhongzheng.framework.web.service.WxTokenService; import com.zhongzheng.modules.course.bo.*; import com.zhongzheng.modules.course.service.*; import com.zhongzheng.modules.course.vo.*; import com.zhongzheng.modules.goods.vo.GoodsUserVo; import com.zhongzheng.modules.goods.vo.UserNewGoodsVo; import com.zhongzheng.modules.order.bo.SpecialQuestionBo; import com.zhongzheng.modules.order.vo.SpecialQuestionVo; import com.zhongzheng.modules.user.bo.UserAppTelphoneLoginBo; import com.zhongzheng.modules.user.entity.ClientLoginUser; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; /** * 课程Controller * * @author hjl * @date 2021-10-09 */ @Api(value = "课程控制器", tags = {"课程管理"}) @RequiredArgsConstructor(onConstructor_ = @Autowired) @RestController @RequestMapping("/course") public class CourseController extends BaseController { private final ICourseService iCourseService; private final WxTokenService wxTokenService; private final ICourseModuleChapterService iCourseModuleChapterService; private final ICourseMenuService iCourseMenuService; private final ICourseChapterSectionService iCourseChapterSectionService; private final ICourseSectionWatchPerService iCourseSectionWatchPerService; /** * 查询课程列表 */ @ApiOperation("查询商品下的课程列表") @GetMapping("/courseList") public TableDataInfo courseList(CourseQueryBo bo) { ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest()); bo.setUserId(loginUser.getUser().getUserId()); startPage(); List list = iCourseService.courseList(bo); return getDataTable(list); } /** * 获取课程详细信息 */ @ApiOperation("获取课程详细信息") @GetMapping("/{courseId}") public AjaxResult getCourseUserVoInfo(@PathVariable("courseId" ) Long courseId) { return AjaxResult.success(iCourseService.getCourseUserVoInfo(courseId)); } /** * 查询课程列表 */ @ApiOperation("查询用户拥有的商品") @GetMapping("/goodsList") public TableDataInfo goodsList(CourseQueryBo bo) { ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest()); bo.setUserId(loginUser.getUser().getUserId()); // startPage(); // List list = iCourseService.goodsList(bo); // return getDataTable(list); return iCourseService.goodsListPage(bo); } /** * 查询课程列表 */ @ApiOperation("查询用户拥有的题库列表(山东题库)") @GetMapping("/special/question/list") public TableDataInfo getSpecialQuestionList(SpecialQuestionBo bo) { ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest()); bo.setUserId(loginUser.getUser().getUserId()); startPage(); List list = iCourseService.getSpecialQuestionList(bo); return getDataTable(list); } /** * 获取题库H5跳转码 */ @ApiOperation("获取题库H5跳转码") @GetMapping("/special/question/skip/code") public AjaxResult getSpecialQuestionSkipCode() { ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest()); return AjaxResult.success(iCourseService.getSpecialQuestionSkipCode(loginUser.getUser().getUserId())); } /** * 查询用户是否拥有(山东题库) */ @ApiOperation("查询用户是否拥有(山东题库)") @GetMapping("/special/question/count") public AjaxResult getSpecialQuestionCount(SpecialQuestionBo bo) { ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest()); bo.setUserId(loginUser.getUser().getUserId()); Long num = iCourseService.getSpecialQuestionCount(bo); return AjaxResult.success(num); } @ApiOperation("查询用户拥有的讲义商品") @GetMapping("/goodsHandoutsList") public TableDataInfo goodsHandoutsList(CourseQueryBo bo) { ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest()); bo.setUserId(loginUser.getUser().getUserId()); startPage(); List list = iCourseService.goodsHandoutsList(bo); return getDataTable(list); } @ApiOperation("查询用户商品重修状态") @GetMapping("/goodsRebuildStatus") public AjaxResult goodsRebuildStatus(CourseQueryBo bo) { ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest()); bo.setUserId(loginUser.getUser().getUserId()); return AjaxResult.success(iCourseService.goodsRebuildStatus(bo)); } /** * 查询课程目录结构列表 */ @ApiOperation("查询课程目录结构列表") @GetMapping("/menuList") public TableDataInfo menuList(CourseMenuQueryBo bo) { ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest()); bo.setUserId(loginUser.getUser().getUserId()); startPage(); List list = iCourseMenuService.menuList(bo); return getDataTable(list); } /** * 获取商品重修目录结构 */ @ApiOperation("获取商品重修目录结构") @GetMapping("/goods/rebuild/menu") public AjaxResult> getGoodsRebuildMenuList(CourseMenuQueryBo bo) { ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest()); bo.setUserId(loginUser.getUser().getUserId()); List list = iCourseMenuService.getGoodsRebuildMenuList(bo); return AjaxResult.success(list); } @ApiOperation("查询模块与章关系列表") @GetMapping("/chapterList") public AjaxResult> chapterList(CourseMenuQueryBo bo) { ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest()); bo.setUserId(loginUser.getUser().getUserId()); List list = iCourseModuleChapterService.chapterList(bo); return AjaxResult.success(list); } /** * 查询章与节关系列表 */ @ApiOperation("查询章与节关系列表+章卷同级展示") @GetMapping("/sectionList") public AjaxResult> sectionList(CourseMenuQueryBo bo) { ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest()); bo.setUserId(loginUser.getUser().getUserId()); List list = iCourseChapterSectionService.sectionList(bo); return AjaxResult.success(list); } @ApiOperation("查询章下的节卷列表") @GetMapping("/sectionExamList") public AjaxResult> sectionExamList(CourseMenuQueryBo bo) { ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest()); bo.setUserId(loginUser.getUser().getUserId()); List list = iCourseChapterSectionService.sectionExamList(bo); return AjaxResult.success(list); } /** * 获取课程小节观看权限 */ @ApiOperation("获取课程小节观看权限") @GetMapping("/watch/per") public AjaxResult getSectionWatchPer(SectionWatchPerBo bo) { CourseSectionWatchPerVo vo = iCourseSectionWatchPerService.getSectionWatchPer(bo); return AjaxResult.success(vo); } /** * 课程节观看权限校验 */ @ApiOperation("课程节观看权限校验") @GetMapping("/check/watch/per") public AjaxResult checkSectionWatchPer(SectionWatchQueryBo bo) { ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest()); bo.setUserId(loginUser.getUser().getUserId()); CheckSectionWatchVo vo = iCourseSectionWatchPerService.checkSectionWatchPer(bo); return AjaxResult.success(vo); } /** * 旧系统学员商品信息 */ @ApiOperation("旧系统学员商品信息") @GetMapping("/old/goods/list") public AjaxResult getOldGoodsList() { ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest()); return AjaxResult.success(iCourseService.getOldGoodsList(loginUser.getUser().getUserId())); } /** * 旧系统学员商品信息 */ @ApiOperation("旧系统学员商品信息") @GetMapping("/old/goods/redirect") public AjaxResult getOldGoodsRedirect() { ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest()); return AjaxResult.success(iCourseService.getOldGoodsRedirect(loginUser.getUser().getUserId())); } @ApiOperation("获取跳转用户Key") @GetMapping("/skipPort") public AjaxResult> getUserSkipPort() { ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest()); Map map = iCourseService.getUserSkipPort(loginUser.getUser().getUserId()); return AjaxResult.success(map); } }