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