| | |
| | | package com.yeshi.buwan.service.imp; |
| | | |
| | | import java.io.Serializable; |
| | | import java.util.*; |
| | | |
| | | import javax.annotation.Resource; |
| | | |
| | | import com.yeshi.buwan.util.HibernateSessionFactory; |
| | | import com.yeshi.buwan.dao.CategoryVideoDao; |
| | | import com.yeshi.buwan.dao.VideoInfoDao; |
| | | import com.yeshi.buwan.domain.*; |
| | | import com.yeshi.buwan.domain.entity.PlayUrl; |
| | | import com.yeshi.buwan.dto.mq.VideoDataChangeMQMsg; |
| | | import com.yeshi.buwan.util.StringUtil; |
| | | import com.yeshi.buwan.util.TimeUtil; |
| | | import com.yeshi.buwan.util.mq.CMQManager; |
| | | import com.yeshi.buwan.util.mq.rabbit.RabbitmqManager; |
| | | import com.yeshi.buwan.util.video.VideoConstant; |
| | | import org.hibernate.HibernateException; |
| | | import org.hibernate.SQLQuery; |
| | | import org.hibernate.Session; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.cache.annotation.Cacheable; |
| | | import org.springframework.orm.hibernate4.HibernateCallback; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import com.yeshi.buwan.dao.CategoryVideoDao; |
| | | import com.yeshi.buwan.dao.VideoInfoDao; |
| | | import com.yeshi.buwan.domain.CategoryVideo; |
| | | import com.yeshi.buwan.domain.ResourceVideo; |
| | | import com.yeshi.buwan.domain.VideoDetailInfo; |
| | | import com.yeshi.buwan.domain.VideoInfo; |
| | | import com.yeshi.buwan.domain.VideoResource; |
| | | import com.yeshi.buwan.domain.VideoType; |
| | | import com.yeshi.buwan.domain.VideoUrl; |
| | | import com.yeshi.buwan.domain.entity.PlayUrl; |
| | | import javax.annotation.Resource; |
| | | import java.io.Serializable; |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | |
| | | @Service |
| | | public class VideoInfoService { |
| | |
| | | @Resource |
| | | private ClearService clearService; |
| | | |
| | | @Resource |
| | | private RabbitmqManager rabbitmqManager; |
| | | |
| | | |
| | | |
| | | @Transactional |
| | | public VideoInfo getVideoInfo(String vid) { |
| | | return videoInfoDao.find(VideoInfo.class, vid); |
| | | } |
| | | |
| | | @Cacheable(value = "videoCache", key = "'getVideoInfoDetail-'+#vid") |
| | | public VideoInfo getVideoInfoCache(String vid) { |
| | | return videoInfoDao.find(VideoInfo.class, vid); |
| | | } |
| | | |
| | | |
| | | @SuppressWarnings("unchecked") |
| | | public List<VideoInfo> simpleRandomVideoList(final int i) { |
| | |
| | | } |
| | | |
| | | @Transactional |
| | | public void save(VideoInfo videoInfo) { |
| | | public void saveWithCategoryAndResource(VideoInfo videoInfo) { |
| | | videoInfoDao.save(videoInfo); |
| | | rabbitmqManager.addVideoDataChanged(new VideoDataChangeMQMsg(VideoDataChangeMQMsg.TYPE_VIDEO_INFO, videoInfo.getId(), VideoDataChangeMQMsg.ACTION_ADD)); |
| | | CategoryVideo ca = new CategoryVideo(); |
| | | ca.setVideo(videoInfo); |
| | | ca.setVideoType(videoInfo.getVideoType()); |
| | | categoryVideoDao.create(ca); |
| | | rabbitmqManager.addVideoDataChanged(new VideoDataChangeMQMsg(VideoDataChangeMQMsg.TYPE_VIDEO_CATEGORY, videoInfo.getId(), VideoDataChangeMQMsg.ACTION_ADD)); |
| | | List<VideoResource> resourceList = videoInfo.getResourceList(); |
| | | ResourceVideo rs = null; |
| | | for (VideoResource videoResource : resourceList) { |
| | |
| | | rs.setVideo(videoInfo); |
| | | resourceVideoService.save(rs); |
| | | } |
| | | rabbitmqManager.addVideoDataChanged(new VideoDataChangeMQMsg(VideoDataChangeMQMsg.TYPE_VIDEO_RESOURCE, videoInfo.getId(), VideoDataChangeMQMsg.ACTION_ADD)); |
| | | } |
| | | |
| | | |
| | | @Transactional |
| | | public Serializable save(VideoInfo videoInfo) { |
| | | Serializable id = videoInfoDao.save(videoInfo); |
| | | rabbitmqManager.addVideoDataChanged(new VideoDataChangeMQMsg(VideoDataChangeMQMsg.TYPE_VIDEO_INFO, videoInfo.getId(), VideoDataChangeMQMsg.ACTION_ADD)); |
| | | return id; |
| | | } |
| | | |
| | | @Transactional |
| | | public void update(VideoInfo videoInfo) { |
| | | videoInfoDao.update(videoInfo); |
| | | rabbitmqManager.addVideoDataChanged(new VideoDataChangeMQMsg(VideoDataChangeMQMsg.TYPE_VIDEO_INFO, videoInfo.getId(), VideoDataChangeMQMsg.ACTION_UPDATE)); |
| | | } |
| | | |
| | | public List<VideoDetailInfo> getVideoDetailList(String videoid, VideoResource vr, int page, int pageSize) { |
| | |
| | | return videoInfoDao.listByVideoIds(videoIds); |
| | | } |
| | | |
| | | @Transactional |
| | | public void hiddenVideo(String id) { |
| | | VideoInfo videoInfo = videoInfoDao.find(VideoInfo.class, id); |
| | | if (videoInfo != null && "1".equalsIgnoreCase(videoInfo.getShow())) { |
| | |
| | | } |
| | | |
| | | if (needUpdateSolr) { |
| | | CMQManager.getInstance().addSolrMsg(videoInfo.getId()); |
| | | rabbitmqManager.addSolrMsg(videoInfo.getId()); |
| | | } |
| | | |
| | | |