|
@@ -0,0 +1,154 @@
|
|
|
+package com.caimei.service.impl;
|
|
|
+
|
|
|
+import com.caimei.mapper.VideoMapper;
|
|
|
+import com.caimei.model.ResponseJson;
|
|
|
+import com.caimei.model.po.VideoPo;
|
|
|
+import com.caimei.model.vo.VideoVo;
|
|
|
+import com.caimei.service.VideoService;
|
|
|
+import com.github.pagehelper.PageHelper;
|
|
|
+import com.github.pagehelper.PageInfo;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
+import org.springframework.beans.factory.annotation.Value;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import javax.annotation.Resource;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+/**
|
|
|
+ * Description
|
|
|
+ *
|
|
|
+ * @author : Aslee
|
|
|
+ * @date : 2021/7/9
|
|
|
+ */
|
|
|
+@Slf4j
|
|
|
+@Service
|
|
|
+public class VideoServiceImpl implements VideoService {
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private VideoMapper videoMapper;
|
|
|
+
|
|
|
+ @Value("${aliyunConfig.accessKeyId}")
|
|
|
+ private String accessKeyId;
|
|
|
+
|
|
|
+ @Value("${aliyunConfig.accessKeySecret}")
|
|
|
+ private String accessKeySecret;
|
|
|
+
|
|
|
+ @Value("${aliyunConfig.bucketName}")
|
|
|
+ private String bucketName;
|
|
|
+
|
|
|
+ @Value("${aliyunConfig.endpoint}")
|
|
|
+ private String endpoint;
|
|
|
+
|
|
|
+ @Value("${spring.profiles.active}")
|
|
|
+ private String active;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public ResponseJson<PageInfo<VideoVo>> getVideoList(Integer listType, Integer authUserId, String videoTitle, Integer auditStatus, Integer status, Integer pageNum, Integer pageSize) {
|
|
|
+ if (null == authUserId) {
|
|
|
+ return ResponseJson.error("参数异常,请输入供应商用户id", null);
|
|
|
+ }
|
|
|
+ listType = null == listType ? 1 : listType;
|
|
|
+ PageHelper.startPage(pageNum, pageSize);
|
|
|
+ List<VideoVo> videoList = videoMapper.getVideoList(listType, authUserId, videoTitle, auditStatus, status);
|
|
|
+ PageInfo<VideoVo> pageData = new PageInfo<>(videoList);
|
|
|
+ return ResponseJson.success(pageData);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public ResponseJson saveVideo(Integer videoId, Integer authUserId, String videoTitle, String videoUrl) {
|
|
|
+ if (null == videoId && null == authUserId) {
|
|
|
+ return ResponseJson.error("参数异常,请输入供应商用户id");
|
|
|
+ }
|
|
|
+ if (StringUtils.isEmpty(videoTitle)) {
|
|
|
+ return ResponseJson.error("参数异常,请输入视频标题");
|
|
|
+ }
|
|
|
+ if (null == videoUrl) {
|
|
|
+ return ResponseJson.error("参数异常,请上传视频");
|
|
|
+ }
|
|
|
+ /*
|
|
|
+ 组装视频数据
|
|
|
+ */
|
|
|
+ VideoPo video = new VideoPo();
|
|
|
+ if (null != videoId) {
|
|
|
+ /*
|
|
|
+ 更新视频
|
|
|
+ */
|
|
|
+ video.setId(videoId);
|
|
|
+ video.setTitle(videoTitle);
|
|
|
+ video.setUrl(videoUrl);
|
|
|
+ // 上线状态默认为“待上线”,审核状态为“待审核”
|
|
|
+ video.setStatus(2);
|
|
|
+ video.setAuditStatus(2);
|
|
|
+ videoMapper.updateVideoSelective(video);
|
|
|
+ } else {
|
|
|
+ /*
|
|
|
+ 新增视频
|
|
|
+ */
|
|
|
+ video.setAuthUserId(authUserId);
|
|
|
+ video.setTitle(videoTitle);
|
|
|
+ video.setUrl(videoUrl);
|
|
|
+ video.setCreateTime(new Date());
|
|
|
+ // 上线状态默认为“待上线”,审核状态为“待审核”
|
|
|
+ video.setStatus(2);
|
|
|
+ video.setAuditStatus(2);
|
|
|
+ videoMapper.insertVideo(video);
|
|
|
+ }
|
|
|
+ return ResponseJson.success("保存视频成功");
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public ResponseJson updateVideoStatus(Integer videoId, Integer status) {
|
|
|
+ if (null == videoId) {
|
|
|
+ return ResponseJson.error("请输入视频id");
|
|
|
+ }
|
|
|
+ if (null == status) {
|
|
|
+ return ResponseJson.error("请输入要更新的状态值");
|
|
|
+ }
|
|
|
+ videoMapper.updateVideoStatusByVideoId(videoId, status);
|
|
|
+ if (0 == status) {
|
|
|
+ return ResponseJson.success("下线视频成功");
|
|
|
+ } else {
|
|
|
+ return ResponseJson.success("上线视频成功");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public ResponseJson deleteVideo(Integer videoId) {
|
|
|
+ if (null == videoId) {
|
|
|
+ return ResponseJson.error("参数异常,请输入视频id");
|
|
|
+ }
|
|
|
+ // 删除视频
|
|
|
+ videoMapper.deleteVideoByVideoId(videoId);
|
|
|
+ return ResponseJson.success("删除视频成功");
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public ResponseJson auditVideo(Integer videoId, Integer auditStatus, String invalidReason, Integer auditBy) {
|
|
|
+ if (null == videoId) {
|
|
|
+ return ResponseJson.error("请输入视频id");
|
|
|
+ }
|
|
|
+ if (null == auditStatus) {
|
|
|
+ return ResponseJson.error("请输入审核结果");
|
|
|
+ }
|
|
|
+ if (0 == auditStatus && StringUtils.isEmpty(invalidReason)) {
|
|
|
+ return ResponseJson.error("请输入审核不通过的原因");
|
|
|
+ }
|
|
|
+ if (null == auditBy) {
|
|
|
+ return ResponseJson.error("请输入审核人用户id");
|
|
|
+ }
|
|
|
+ Date auditTime = new Date();
|
|
|
+ // 授权状态更新
|
|
|
+ Integer status = null;
|
|
|
+ if (0 == auditStatus) {
|
|
|
+ // 审核不通过,下线视频
|
|
|
+ status = 0;
|
|
|
+ } else {
|
|
|
+ // 审核通过,上线视频
|
|
|
+ status = 1;
|
|
|
+ }
|
|
|
+ videoMapper.updateVideoAuditStatus(videoId, status, auditStatus, invalidReason, auditBy, auditTime);
|
|
|
+ return ResponseJson.success("审核视频成功");
|
|
|
+ }
|
|
|
+}
|