package com.caimei.controller; import com.alibaba.fastjson.JSONObject; import com.caimei.model.ResponseJson; import com.caimei.model.vo.VideoListVo; import com.caimei.service.VideoService; import com.github.pagehelper.PageInfo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import java.util.Map; /** * 资料库视频API * * @author : Aslee * @date : 2021/7/9 */ @Api(tags = "资料库视频API") @Slf4j @RestController @RequiredArgsConstructor @RequestMapping("/data/video") public class VideoApi { private final VideoService videoService; @ApiOperation("视频列表") @ApiImplicitParams({ @ApiImplicitParam(name = "listType", required = false, value = "列表类型:1视频列表,2视频审核列表"), @ApiImplicitParam(name = "authUserId", required = true, value = "供应商用户id"), @ApiImplicitParam(name = "videoTitle", required = false, value = "视频标题"), @ApiImplicitParam(name = "auditStatus", required = false, value = "审核状态:0审核未通过,1审核通过,2待审核"), @ApiImplicitParam(name = "status", required = false, value = "视频状态:0已下线,1已上线,2待上线"), @ApiImplicitParam(name = "pageNum", required = false, value = "第几页"), @ApiImplicitParam(name = "pageSize", required = false, value = "一页多少条") }) @GetMapping("/list") public ResponseJson> getVideoList(Integer listType, Integer authUserId, String videoTitle, Integer auditStatus, Integer status, @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum, @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) { return videoService.getVideoList(listType, authUserId, videoTitle, auditStatus, status, pageNum, pageSize); } @ApiOperation("添加/编辑视频") @ApiImplicitParam(name = "params", required = false, value = "videoId:视频id;authUserId:供应商用户id;videoTitle:视频标题;videoName:视频名称;videoPreviewUrl:视频预览链接;videoDownloadUrl:oss名称") @PostMapping("/save") public ResponseJson saveVideo(@RequestBody String params) { JSONObject paramsMap = JSONObject.parseObject(params); Integer videoId = paramsMap.getInteger("videoId"); Integer authUserId = paramsMap.getInteger("authUserId"); String videoTitle = paramsMap.getString("videoTitle"); String videoName = paramsMap.getString("videoName"); String videoPreviewUrl = paramsMap.getString("videoPreviewUrl"); String videoDownloadUrl = paramsMap.getString("videoDownloadUrl"); return videoService.saveVideo(videoId, authUserId, videoTitle, videoName, videoPreviewUrl, videoDownloadUrl); } @ApiOperation("更新视频状态") @ApiImplicitParam(name = "params", value = "videoId:视频id;status:视频状态:0停用 1启用;", required = true) @PostMapping("/update/status") public ResponseJson updateVideoStatus(@RequestBody Map params) { Integer videoId = params.get("videoId"); Integer status = params.get("status"); return videoService.updateVideoStatus(videoId, status); } @ApiOperation("删除视频") @ApiImplicitParam(name = "params", value = "videoId:视频id", required = true) @PostMapping("/delete") public ResponseJson deleteVideo(@RequestBody Map params) { Integer videoId = params.get("videoId"); return videoService.deleteVideo(videoId); } @ApiOperation("审核视频") @ApiImplicitParam(name = "params", value = "videoId:视频id;auditStatus:审核状态:0审核未通过,1审核通过,2待审核;invalidReason:审核不通过原因;auditBy:审核人用户id", required = true) @PostMapping("/audit") public ResponseJson auditVideo(@RequestBody String params) { JSONObject paramsMap = JSONObject.parseObject(params); Integer videoId = paramsMap.getInteger("videoId"); Integer auditStatus = paramsMap.getInteger("auditStatus"); String invalidReason = paramsMap.getString("invalidReason"); Integer auditBy = paramsMap.getInteger("auditBy"); return videoService.auditVideo(videoId, auditStatus, invalidReason, auditBy); } }