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/juhe/HanmiServiceImpl.java |  184 ++++++---------------------------------------
 1 files changed, 26 insertions(+), 158 deletions(-)

diff --git a/src/main/java/com/yeshi/buwan/service/imp/juhe/HanmiServiceImpl.java b/src/main/java/com/yeshi/buwan/service/imp/juhe/HanmiServiceImpl.java
index 7b1dc6a..9d66692 100644
--- a/src/main/java/com/yeshi/buwan/service/imp/juhe/HanmiServiceImpl.java
+++ b/src/main/java/com/yeshi/buwan/service/imp/juhe/HanmiServiceImpl.java
@@ -1,24 +1,17 @@
 package com.yeshi.buwan.service.imp.juhe;
 
-import com.yeshi.buwan.dao.VideoInfoDao;
 import com.yeshi.buwan.dao.juhe.hanmi.HanmiShowDao;
 import com.yeshi.buwan.dao.juhe.hanmi.HanmiShowEpisodeDao;
 import com.yeshi.buwan.dao.juhe.hanmi.VideoHanmiMapDao;
-import com.yeshi.buwan.dao.video.AlbumVideoMapDao;
-import com.yeshi.buwan.domain.AdminInfo;
 import com.yeshi.buwan.domain.VideoDetailInfo;
-import com.yeshi.buwan.domain.VideoInfo;
 import com.yeshi.buwan.domain.VideoResource;
 import com.yeshi.buwan.domain.entity.PlayUrl;
-import com.yeshi.buwan.domain.video.AlbumVideoMap;
-import com.yeshi.buwan.service.imp.CategoryVideoService;
-import com.yeshi.buwan.service.imp.ResourceVideoService;
-import com.yeshi.buwan.service.imp.VideoInfoService;
+import com.yeshi.buwan.domain.video.InternetSearchVideo;
 import com.yeshi.buwan.service.imp.VideoResourceService;
 import com.yeshi.buwan.service.inter.juhe.HanmiService;
+import com.yeshi.buwan.service.inter.juhe.InternetSearchVideoService;
 import com.yeshi.buwan.util.StringUtil;
-import com.yeshi.buwan.util.TimeUtil;
-import com.yeshi.buwan.util.mq.CMQManager;
+import com.yeshi.buwan.util.factory.InternetSearchVideoFactory;
 import com.yeshi.buwan.videos.hanmi.HanmiUtil;
 import com.yeshi.buwan.videos.hanmi.entity.HanmiShow;
 import com.yeshi.buwan.videos.hanmi.entity.HanmiShowEpisode;
@@ -26,9 +19,7 @@
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
-import java.io.Serializable;
 import java.util.ArrayList;
-import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
 
@@ -44,22 +35,11 @@
     private VideoHanmiMapDao videoHanmiMapDao;
 
     @Resource
-    private VideoInfoService videoInfoService;
-
-    @Resource
-    private VideoInfoDao videoInfoDao;
-
-    @Resource
-    private ResourceVideoService resourceVideoService;
-
-    @Resource
-    private CategoryVideoService categoryVideoService;
+    private InternetSearchVideoService internetSearchVideoService;
 
     @Resource
     private VideoResourceService videoResourceService;
 
-    @Resource
-    private AlbumVideoMapDao albumVideoMapDao;
 
     public List<VideoDetailInfo> getVideoDetailList(String videoId, int page, int pageSize) {
         //鏌ヨ涓撹緫
@@ -111,81 +91,19 @@
     }
 
     @Override
-    public void addToVideoInfo(HanmiShow show) {
-
+    public void addToInternetSearch(HanmiShow show) throws Exception {
         if (StringUtil.isNullOrEmpty(show.getTitle())) {
             return;
         }
-
-        VideoInfo newVideoInfo = convertShowToVideoInfo(show);
-        VideoHanmiMap map = videoHanmiMapDao.selectByShowId(show.getId());
-        if (map != null) {//娓犻亾瑙嗛宸茬粡瀛樺湪
-            VideoInfo videoInfo = videoInfoService.getVideoInfo(map.getVideoId() + "");
-            if (videoInfo == null)
-                return;
-            newVideoInfo.setId(videoInfo.getId());
-            if (!newVideoInfo.getTag().equalsIgnoreCase(videoInfo.getTag()) || newVideoInfo.getVideocount() != videoInfo.getVideocount()) {
-                newVideoInfo.setCreatetime(videoInfo.getCreatetime());
-                //鏇存柊淇℃伅tag淇℃伅
-                videoInfo.setLatestHpicture(newVideoInfo.getLatestHpicture());
-                videoInfo.setLatestVpicture(newVideoInfo.getLatestVpicture());
-                videoInfo.setVideocount(newVideoInfo.getVideocount());
-                videoInfo.setTag(newVideoInfo.getTag());
-                videoInfo.setPicture(newVideoInfo.getPicture());
-                videoInfo.setHpicture(newVideoInfo.getHpicture());
-                videoInfo.setVpicture(newVideoInfo.getVpicture());
-                videoInfo.setShow(newVideoInfo.getShow());
-                videoInfo.setVideoType(newVideoInfo.getVideoType());
-                videoInfo.setUpdatetime(newVideoInfo.getUpdatetime());
-                videoInfoService.update(videoInfo);
-            }
-        } else {//瑙嗛涓嶅瓨鍦�
-            //鍒ゆ柇2涓棰戝疄浣撴槸鍚︿负鍚屼竴瑙嗛
-            VideoInfo oldVideo = videoInfoService.getExistSameVideoWithTime(newVideoInfo);
-            if (oldVideo == null) {
-                //娣诲姞瑙嗛
-                Serializable id = videoInfoService.save(newVideoInfo);
-                newVideoInfo.setId(id + "");
-            } else {//涓哄悓涓�瑙嗛
-                //鏇存柊tag
-                newVideoInfo.setId(oldVideo.getId());
-                oldVideo.setLatestHpicture(newVideoInfo.getLatestHpicture());
-                oldVideo.setLatestVpicture(newVideoInfo.getLatestVpicture());
-                oldVideo.setVideocount(newVideoInfo.getVideocount());
-                oldVideo.setTag(newVideoInfo.getTag());
-                oldVideo.setPicture(newVideoInfo.getPicture());
-                oldVideo.setHpicture(newVideoInfo.getHpicture());
-                oldVideo.setVpicture(newVideoInfo.getVpicture());
-                oldVideo.setShow(newVideoInfo.getShow());
-                oldVideo.setVideoType(newVideoInfo.getVideoType());
-                oldVideo.setUpdatetime(newVideoInfo.getUpdatetime());
-                videoInfoService.update(oldVideo);
-            }
-
-            //鍔犲叆涓撹緫瑙嗛鏄犲皠
-            AlbumVideoMap vmap = new AlbumVideoMap();
-            vmap.setId(newVideoInfo.getId());
-            vmap.setCreateTime(new Date());
-            vmap.setVideoId(newVideoInfo.getId());
-            vmap.setRootVideoType(newVideoInfo.getVideoType().getId());
-            vmap.setVideoCount(newVideoInfo.getVideocount());
-            albumVideoMapDao.save(vmap);
-
-
-            //鍔犲叆鏄犲皠
-            VideoHanmiMap vi = new VideoHanmiMap();
-            vi.setShowId(show.getId());
-            vi.setVideoId(newVideoInfo.getId());
-            videoHanmiMapDao.save(vi);
+        InternetSearchVideo video = InternetSearchVideoFactory.create(show);
+        if (internetSearchVideoService.save(video) == null) {
+            return;
         }
-
-        //娣诲姞瑙嗛鏉ユ簮鏄犲皠
-        resourceVideoService.addVideoResource(newVideoInfo.getId(), HanmiUtil.RESOURCE_ID + "");
-        //娣诲姞瑙嗛鍒嗙被鏄犲皠
-        categoryVideoService.addCategoryVideo(newVideoInfo.getId(), newVideoInfo.getVideoType().getId());
-
-        //鍔犲叆涓撹緫鎼滅储寮曟搸
-        CMQManager.getInstance().addSolrMsg(newVideoInfo.getId());
+        VideoHanmiMap map = new VideoHanmiMap();
+        map.setShowId(show.getId());
+        map.setVideoId(video.getId());
+        map.setCreateTime(new Date());
+        videoHanmiMapDao.save(map);
     }
 
     @Override
@@ -211,69 +129,12 @@
         if (map != null) {
             HanmiShow show = hanmiShowDao.get(map.getShowId());
             if (show != null) {
-                if ("闊╁墽".equalsIgnoreCase(show.getType())) {
+                if ("鐢佃鍓�".equalsIgnoreCase(show.getType())) {
                     return 2;
                 }
             }
         }
         return 1;
-    }
-
-    @Override
-    public VideoInfo convertShowToVideoInfo(HanmiShow show) {
-        Calendar ca = Calendar.getInstance();
-        ca.setTimeInMillis(TimeUtil.convertGernalTime(show.getRelaseDate(), "yyyy-MM-dd"));
-        int day = ca.get(Calendar.DAY_OF_MONTH);
-        int month = ca.get(Calendar.MONTH) + 1;
-        int year = ca.get(Calendar.YEAR);
-
-        VideoInfo video = new VideoInfo();
-        video.setArea(show.getArea());
-        video.setBaseurl(show.getUrl());
-        video.setCanSave(false);
-        video.setCommentCount(0);
-        video.setCreatetime(System.currentTimeMillis());
-        video.setDay(day + "");
-        video.setYear(year + "");
-        video.setMonth(month + "");
-        video.setDirector(show.getDirector());
-        video.setFinish("1");
-        video.setIntroduction(show.getDesc());
-        video.setMainActor(show.getActors());
-        video.setName(show.getTitle());
-        video.setNowNumber(show.getEpisodeList().size() + "");
-
-        video.setOrderby("0" + "");
-        video.setPicture(show.getPicture());
-        video.setVpicture(show.getPicture());
-
-        video.setScore(show.getScore());
-        video.setShare("0");
-        video.setShow("1");
-
-        video.setThirdType("1");
-        video.setTotalNumber("0");
-
-        video.setWatchCount(0 + "");
-
-        video.setAdmin(new AdminInfo("1"));
-        video.setContentType(1);
-        video.setCommentCount(0);
-
-        String tag = show.getTag();
-        video.setTag(tag);
-
-
-        long videoCount = show.getEpisodeList().size();
-        if (videoCount == 0L)
-            videoCount = 1;
-
-        video.setVideocount((int) videoCount);
-
-        video.setUpdatetime(System.currentTimeMillis() + "");
-
-        video.setVideoType(HanmiUtil.getVideoType(show));
-        return video;
     }
 
     @Override
@@ -297,14 +158,11 @@
                 hanmiShowEpisodeDao.delete(episode.getId());
             }
         }
-
-
         VideoHanmiMap bean = videoHanmiMapDao.selectByShowId(id);
         if (bean != null) {
             videoHanmiMapDao.delete(bean.getVideoId());
             //鍒犻櫎璧勬簮
-            resourceVideoService.delete(bean.getVideoId() + "", HanmiUtil.RESOURCE_ID + "");
-            resourceVideoService.delete(bean.getVideoId() + "", HanmiUtil.RESOURCE_ID + "");
+            internetSearchVideoService.removeResourceId(bean.getVideoId(),  HanmiUtil.RESOURCE_ID);
         }
     }
 
@@ -319,7 +177,17 @@
         if (show != null) {
             show.setEpisodeList(hanmiShowEpisodeDao.listByShowId(id, 0, 1000));
         }
-
         return show;
     }
+
+    @Override
+    public List<HanmiShow> listAll(int page, int pageSize) {
+        return    hanmiShowDao.listAll((page-1)*pageSize, pageSize);
+
+    }
+
+    @Override
+    public long countAll() {
+        return hanmiShowDao.countAll();
+    }
 }

--
Gitblit v1.8.0