package com.zhongzheng.controller.polyv; import com.zhongzheng.common.core.domain.model.LoginUser; import com.zhongzheng.common.core.page.TableDataInfo; import com.zhongzheng.common.utils.ServletUtils; import com.zhongzheng.framework.web.service.TokenService; import com.zhongzheng.modules.exam.bo.ExamApplyQueryBo; import com.zhongzheng.modules.exam.vo.ExamApplyVo; import com.zhongzheng.modules.polyv.bo.PolyvCataQueryBo; import com.zhongzheng.modules.polyv.bo.PolyvVideoQueryBo; import com.zhongzheng.modules.polyv.service.IPolyvCataService; import com.zhongzheng.modules.polyv.vo.*; import lombok.RequiredArgsConstructor; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import com.zhongzheng.common.core.controller.BaseController; import com.zhongzheng.common.core.domain.AjaxResult; import com.zhongzheng.modules.polyv.service.IPolyvVideoService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import java.util.List; /** * 保利威视频信息Controller * * @author zhongzheng * @date 2021-06-11 */ @Api(value = "保利威视频信息控制器", tags = {"保利威视频信息管理"}) @RequiredArgsConstructor(onConstructor_ = @Autowired) @RestController @RequestMapping("/polyv/video") public class PolyvVideoController extends BaseController { private final IPolyvVideoService iPolyvVideoService; private final IPolyvCataService iPolyvCataService; @Autowired private TokenService tokenService; /** * 获取保利威视频信息详细信息 */ @ApiOperation("获取保利威视频信息详细信息") @GetMapping("/{vid}") public AjaxResult getInfo(@PathVariable("vid") String vid) throws Exception { return AjaxResult.success(iPolyvVideoService.queryById(vid)); } @ApiOperation("获取保利威视频播放凭证") @PreAuthorize("@ss.hasPermi('modules.polyv:video:query')") @GetMapping("/sign/{vid}") public AjaxResult getPlayPcSign(@PathVariable("vid") String vid) throws Exception { LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest()); String viewerId = String.valueOf(loginUser.getUser().getUserId()); String token = iPolyvVideoService.polyvbPcSignRequest(vid,viewerId); return AjaxResult.success("成功",token); } /** * 获取保利威视频信息详细信息 */ @ApiOperation("获取保利威视频上传签名") @GetMapping("/getPolyvUpload") public AjaxResult getPolyvUpload() throws Exception { return AjaxResult.success(iPolyvVideoService.getPolyvUpload()); } /** * 查询保利威分类列表 */ @ApiOperation("查询保利威分类列表") @PreAuthorize("@ss.hasPermi('system:cata:list')") @GetMapping("/listCata") public TableDataInfo list(PolyvCataQueryBo bo) { startPage(); List list = iPolyvCataService.queryList(bo); return getDataTable(list); } /** * 查询保利威视频分类 */ @ApiOperation("更新视频分类") @PreAuthorize("@ss.hasPermi('modules.polyv:video:list')") @PostMapping("/cata") public AjaxResult> list(PolyvVideoQueryBo bo) throws Exception { List list = iPolyvVideoService.queryCataList(bo); return AjaxResult.success(list); } /** * 查询考试安排列表 */ @ApiOperation("查询考试安排列表") @PreAuthorize("@ss.hasPermi('polyv:video:list')") @GetMapping("/list") public AjaxResult> listPolyv(PolyvVideoQueryBo bo) throws Exception { if (bo.getPageSize() == null || bo.getPageNum() == null){ throw new IllegalArgumentException("分页不能为空"); } List list = iPolyvVideoService.queryPolyv(bo); return AjaxResult.success(list); } }