| @@ -53,13 +53,12 @@ public class VideoSchedule { | |||||
| */ | */ | ||||
| @Scheduled(cron = "15 */30 * * * *?") // 每小时检查一次 | @Scheduled(cron = "15 */30 * * * *?") // 每小时检查一次 | ||||
| public void couponVideoDetailSchedule() { | public void couponVideoDetailSchedule() { | ||||
| List<UserMouldVideo> videos = userMouldVideoService.getVideoTimeNullList(); | |||||
| List<UserMouldVideo> videos = userMouldVideoService.getVideoSizeNullList(); | |||||
| if (videos != null && videos.size() > 0) { | if (videos != null && videos.size() > 0) { | ||||
| for (UserMouldVideo video : videos) { | for (UserMouldVideo video : videos) { | ||||
| try { | try { | ||||
| VideUploadResult videoDetail = videoFactory.getExcutor(videoType).getVideoDetailWithCache(video.getVideoId()); | VideUploadResult videoDetail = videoFactory.getExcutor(videoType).getVideoDetailWithCache(video.getVideoId()); | ||||
| if (videoDetail.isSuccess() && StringUtils.isNotBlank(videoDetail.getDuration()) | |||||
| && !"0.0".equals(videoDetail.getDuration())) { | |||||
| if (videoDetail.isSuccess()) { | |||||
| video.setVideoTime(videoDetail.getDuration()); | video.setVideoTime(videoDetail.getDuration()); | ||||
| video.setVideoSize(videoDetail.getSize()); | video.setVideoSize(videoDetail.getSize()); | ||||
| userMouldVideoService.updateById(video); | userMouldVideoService.updateById(video); | ||||
| @@ -23,5 +23,5 @@ public interface UserMouldVideoMapper extends CommonMapper<UserMouldVideo, Long> | |||||
| List<UserMouldVideo> getVideoIdNullList(); | List<UserMouldVideo> getVideoIdNullList(); | ||||
| List<UserMouldVideo> getVideoTimeNullList(); | |||||
| List<UserMouldVideo> getVideoSizeNullList(); | |||||
| } | } | ||||
| @@ -50,7 +50,7 @@ public interface UserMouldVideoService { | |||||
| List<UserMouldVideo> getVideoIdNullList(); | List<UserMouldVideo> getVideoIdNullList(); | ||||
| List<UserMouldVideo> getVideoTimeNullList(); | |||||
| List<UserMouldVideo> getVideoSizeNullList(); | |||||
| int updateById(UserMouldVideo video); | int updateById(UserMouldVideo video); | ||||
| } | } | ||||
| @@ -149,8 +149,8 @@ public class UserMouldVideoServiceImpl implements UserMouldVideoService { | |||||
| } | } | ||||
| @Override | @Override | ||||
| public List<UserMouldVideo> getVideoTimeNullList() { | |||||
| return userMouldVideoMapper.getVideoTimeNullList(); | |||||
| public List<UserMouldVideo> getVideoSizeNullList() { | |||||
| return userMouldVideoMapper.getVideoSizeNullList(); | |||||
| } | } | ||||
| @Override | @Override | ||||
| @@ -131,12 +131,12 @@ | |||||
| and (video_id is null or video_id == '') | and (video_id is null or video_id == '') | ||||
| </select> | </select> | ||||
| <select id="getVideoTimeNullList" resultMap="BaseResultMap"> | |||||
| <select id="getVideoSizeNullList" resultMap="BaseResultMap"> | |||||
| select id,video_id | select id,video_id | ||||
| from user_mould_video | from user_mould_video | ||||
| where `is_del` = 0 | where `is_del` = 0 | ||||
| and video_id is not null and video_path != '' | and video_id is not null and video_path != '' | ||||
| and (video_time is null or video_time == '') | |||||
| and video_size is null | |||||
| </select> | </select> | ||||
| </mapper> | </mapper> | ||||
| @@ -37,6 +37,8 @@ import lombok.extern.slf4j.Slf4j; | |||||
| @Slf4j | @Slf4j | ||||
| public class AliyunVideoExcutor implements VideoExcutor { | public class AliyunVideoExcutor implements VideoExcutor { | ||||
| private String videoStatus = "Normal";//正常的视频状态 | |||||
| @Autowired | @Autowired | ||||
| AliyunVideoConfig config; | AliyunVideoConfig config; | ||||
| @@ -142,10 +144,11 @@ public class AliyunVideoExcutor implements VideoExcutor { | |||||
| return videoDetail; | return videoDetail; | ||||
| }else{ | }else{ | ||||
| VideUploadResult result = getVideoDetailFromApi(videoId); | VideUploadResult result = getVideoDetailFromApi(videoId); | ||||
| if(StringUtils.isNotBlank(result.getCoverURL()) | |||||
| && StringUtils.isNotBlank(result.getDuration()) | |||||
| && !"0.0".equals(result.getDuration())){ | |||||
| if(this.videoStatus.equals(result.getStatus())){ | |||||
| UploadCacheHelper.cacheVideoDetail(redisTemplate, videoId,result); | UploadCacheHelper.cacheVideoDetail(redisTemplate, videoId,result); | ||||
| }else{ | |||||
| //还不能播放 | |||||
| result.setSuccess(false); | |||||
| } | } | ||||
| return result; | return result; | ||||
| } | } | ||||
| @@ -162,6 +165,7 @@ public class AliyunVideoExcutor implements VideoExcutor { | |||||
| List<GetPlayInfoResponse.PlayInfo> playInfoList = response.getPlayInfoList(); | List<GetPlayInfoResponse.PlayInfo> playInfoList = response.getPlayInfoList(); | ||||
| //播放地址 | //播放地址 | ||||
| for (GetPlayInfoResponse.PlayInfo playInfo : playInfoList) { | for (GetPlayInfoResponse.PlayInfo playInfo : playInfoList) { | ||||
| result.setStatus(playInfo.getStatus()); | |||||
| result.setVideoUrl(playInfo.getPlayURL()); | result.setVideoUrl(playInfo.getPlayURL()); | ||||
| result.setHeight(playInfo.getHeight()); | result.setHeight(playInfo.getHeight()); | ||||
| result.setWidth(playInfo.getWidth()); | result.setWidth(playInfo.getWidth()); | ||||