package com.caimei.service.data.impl; import com.caimei.mapper.cmMapper.AuthMapper; import com.caimei.mapper.cmMapper.VideoMapper; import com.caimei.model.ResponseJson; import com.caimei.model.po.VideoPo; import com.caimei.model.vo.VideoListVo; import com.caimei.model.vo.WxVideoListVo; import com.caimei.service.data.VideoService; import com.caimei.utils.OSSUtils; 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; @Resource private AuthMapper authMapper; @Override public ResponseJson> 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 videoList = videoMapper.getVideoList(listType, authUserId, videoTitle, auditStatus, status); PageInfo pageData = new PageInfo<>(videoList); return ResponseJson.success(pageData); } @Override public ResponseJson saveVideo(Integer videoId, Integer authUserId, String videoTitle, String videoName, String videoPreviewUrl, String videoDownloadUrl) { if (null == videoId && null == authUserId) { return ResponseJson.error("参数异常,请输入供应商用户id"); } if (StringUtils.isEmpty(videoTitle)) { return ResponseJson.error("参数异常,请输入视频标题"); } if (StringUtils.isEmpty(videoName)) { return ResponseJson.error("参数异常,请输入视频名称"); } if (null == videoPreviewUrl || null == videoDownloadUrl) { return ResponseJson.error("参数异常,请上传视频"); } /* 组装视频数据 */ VideoPo video = new VideoPo(); video.setTitle(videoTitle); video.setName(videoName); video.setPreviewUrl(videoPreviewUrl); video.setDownloadUrl(videoDownloadUrl); // 上线状态默认为“待上线”,审核状态为“待审核” // video.setStatus(2); // video.setAuditStatus(2); video.setStatus(1); video.setAuditStatus(1); Integer adminUserId = authMapper.getAdminUserId(); video.setAuditBy(adminUserId); video.setAuditTime(new Date()); if (null != videoId) { /* 更新视频 */ video.setId(videoId); videoMapper.updateVideoSelective(video); } else { /* 新增视频 */ video.setAuthUserId(authUserId); video.setCreateTime(new Date()); 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("审核视频成功"); } @Override public ResponseJson> getWxVideoList(Integer authUserId, String videoTitle, Integer pageNum, Integer pageSize) { if (null == authUserId) { return ResponseJson.error("参数异常,供应商用户id不能为空", null); } PageHelper.startPage(pageNum, pageSize); List videoList = videoMapper.getWxVideoList(authUserId, videoTitle); videoList.forEach(video-> video.setVideoPreviewUrl(OSSUtils.getOssUrl(video.getVideoDownloadUrl()))); PageInfo pageData = new PageInfo<>(videoList); return ResponseJson.success(pageData); } }