From ab35ac8b769b2d9816dffb33a64f2c6f7bd5dd6e Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 05 九月 2024 17:05:55 +0800 Subject: [PATCH] 风行网页版爬虫 --- src/main/java/com/yeshi/buwan/service/imp/VideoInfoService.java | 59 +++++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 41 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/yeshi/buwan/service/imp/VideoInfoService.java b/src/main/java/com/yeshi/buwan/service/imp/VideoInfoService.java index b694e63..4e71192 100644 --- a/src/main/java/com/yeshi/buwan/service/imp/VideoInfoService.java +++ b/src/main/java/com/yeshi/buwan/service/imp/VideoInfoService.java @@ -1,33 +1,27 @@ 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.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 { @@ -44,9 +38,19 @@ @Resource private VideoResourceService videoResourceService; + @Resource + private ClearService clearService; + + @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) { @@ -74,12 +78,14 @@ } @Transactional - public void save(VideoInfo videoInfo) { + public void saveWithCategoryAndResource(VideoInfo videoInfo) { videoInfoDao.save(videoInfo); + CMQManager.getInstance().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); + CMQManager.getInstance().addVideoDataChanged(new VideoDataChangeMQMsg(VideoDataChangeMQMsg.TYPE_VIDEO_CATEGORY, videoInfo.getId(), VideoDataChangeMQMsg.ACTION_ADD)); List<VideoResource> resourceList = videoInfo.getResourceList(); ResourceVideo rs = null; for (VideoResource videoResource : resourceList) { @@ -88,6 +94,21 @@ rs.setVideo(videoInfo); resourceVideoService.save(rs); } + CMQManager.getInstance().addVideoDataChanged(new VideoDataChangeMQMsg(VideoDataChangeMQMsg.TYPE_VIDEO_RESOURCE, videoInfo.getId(), VideoDataChangeMQMsg.ACTION_ADD)); + } + + + @Transactional + public Serializable save(VideoInfo videoInfo) { + Serializable id = videoInfoDao.save(videoInfo); + CMQManager.getInstance().addVideoDataChanged(new VideoDataChangeMQMsg(VideoDataChangeMQMsg.TYPE_VIDEO_INFO, videoInfo.getId(), VideoDataChangeMQMsg.ACTION_ADD)); + return id; + } + + @Transactional + public void update(VideoInfo videoInfo) { + videoInfoDao.update(videoInfo); + CMQManager.getInstance().addVideoDataChanged(new VideoDataChangeMQMsg(VideoDataChangeMQMsg.TYPE_VIDEO_INFO, videoInfo.getId(), VideoDataChangeMQMsg.ACTION_UPDATE)); } public List<VideoDetailInfo> getVideoDetailList(String videoid, VideoResource vr, int page, int pageSize) { @@ -184,6 +205,7 @@ return null; } + /** * 鏍规嵁鍚嶇О涓庝富婕� * @@ -239,6 +261,7 @@ return videoInfoDao.listByVideoIds(videoIds); } + @Transactional public void hiddenVideo(String id) { VideoInfo videoInfo = videoInfoDao.find(VideoInfo.class, id); if (videoInfo != null && "1".equalsIgnoreCase(videoInfo.getShow())) { -- Gitblit v1.8.0