@@ -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()); | ||||