From 1d28c69a351ae108f4116a10f19f615c89a660a2 Mon Sep 17 00:00:00 2001
From: admin <2780501319@qq.com>
Date: 星期四, 01 四月 2021 01:58:43 +0800
Subject: [PATCH] 首页数据修改

---
 src/main/java/com/yeshi/buwan/iqiyi/util/IqiyiUtil2.java |  161 +++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 118 insertions(+), 43 deletions(-)

diff --git a/src/main/java/com/yeshi/buwan/iqiyi/util/IqiyiUtil2.java b/src/main/java/com/yeshi/buwan/iqiyi/util/IqiyiUtil2.java
index 5994e7c..4548159 100644
--- a/src/main/java/com/yeshi/buwan/iqiyi/util/IqiyiUtil2.java
+++ b/src/main/java/com/yeshi/buwan/iqiyi/util/IqiyiUtil2.java
@@ -7,27 +7,34 @@
 import com.yeshi.buwan.iqiyi.entity.IqiyiAlbum2;
 import com.yeshi.buwan.iqiyi.vo.IqiyiAlbumListResult;
 import com.yeshi.buwan.service.inter.juhe.Iqiyi2Service;
+import com.yeshi.buwan.util.StringUtil;
+import com.yeshi.buwan.util.TimeUtil;
+import com.yeshi.buwan.util.log.VideoLogFactory;
 import com.yeshi.buwan.util.mq.CMQManager;
 import com.yeshi.buwan.util.video.VideoConstant;
 import org.jsoup.Jsoup;
 import org.jsoup.nodes.Document;
 import org.jsoup.nodes.Element;
 import org.jsoup.select.Elements;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Component;
 
 import javax.annotation.Resource;
 import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 
 @Component
 public class IqiyiUtil2 {
+
+    private final Logger logger = LoggerFactory.getLogger("iqiyiVideoUpdate");
+
     public final static int PLAY_NONE = 0;// 涓嶈兘鎾斁
     public final static int PLAY_HTML = 1;// 璺宠浆绉诲姩绔綉椤垫挱鏀�
     public final static int PLAY_SWF = 2;// 宓屽缃戦〉鎾斁
 
-    public final static long RESOURCE_ID = 22L;
+    public final static int RESOURCE_ID = 22;
+    public final static String RESOURCE_NAME = "鐖卞鑹�.";
     @Resource
     private Iqiyi2Service iqiyi2Service;
 
@@ -35,20 +42,60 @@
         if (list == null)
             return;
         for (IqiyiAlbum2 album : list) {
+            if (album.getContentType() != 1)
+                continue;
+            if (!albumIsValid(album)) {//濡傛灉鏄棤鏁堢殑涓撹緫灏遍渶瑕佸垹闄�
+                iqiyi2Service.deleteByAid(album.getId());
+                continue;
+            }
+
+
+            logger.info(VideoLogFactory.createAddAlbumLog(album));
+
             if (album.getTvQipuIds() != null && album.getTvQipuIds().size() > 0) {
-                int pageSize = 10;
-                int page = album.getTvQipuIds().size() % pageSize == 0 ? album.getTvQipuIds().size() / pageSize : album.getTvQipuIds().size() / pageSize + 1;
-                for (int p = 0; p < page; p++) {
-                    int startIndex = p * pageSize;
-                    int toIndex = (startIndex + pageSize) > album.getTvQipuIds().size() ? album.getTvQipuIds().size() : (startIndex + pageSize);
-                    List<IqiyiAlbum2> detailList = IqiYiNewAPI.getAlbumOrVideoDetail(album.getTvQipuIds().subList(startIndex, toIndex));
-                    if (detailList != null)
-                        for (IqiyiAlbum2 video : detailList)
-                            iqiyi2Service.saveIqiyiAlbum(video);
+                //鏌ヨ鏈�鏂扮殑涓�闆嗘槸鍚︾紦瀛�
+                boolean needSaveVideos = true;
+                if (album.getLatestVideo() != null) {
+                    if (iqiyi2Service.countById(album.getLatestVideo().getId()) > 0L)
+                        needSaveVideos = false;
+                }
+
+
+                if (needSaveVideos) {
+                    int pageSize = 10;
+                    int page = album.getTvQipuIds().size() % pageSize == 0 ? album.getTvQipuIds().size() / pageSize : album.getTvQipuIds().size() / pageSize + 1;
+                    for (int p = 0; p < page; p++) {
+                        int startIndex = p * pageSize;
+                        int toIndex = (startIndex + pageSize) > album.getTvQipuIds().size() ? album.getTvQipuIds().size() : (startIndex + pageSize);
+                        List<Long> tvQipuIds = new ArrayList<>();
+                        tvQipuIds.addAll(album.getTvQipuIds().subList(startIndex, toIndex));
+
+                        //鏌ヨ鏄惁宸茬粡瀛樺湪浜�
+                        List<IqiyiAlbum2> existList = iqiyi2Service.listByIds(tvQipuIds);
+                        Set<Long> sets = new HashSet<>();
+                        if (existList != null && existList.size() > 0) {
+                            for (IqiyiAlbum2 a : existList)
+                                sets.add(a.getId());
+
+                            //鍒犻櫎宸茬粡瀛樺湪鐨�
+                            for (int i = 0; i < tvQipuIds.size(); i++) {
+                                if (sets.contains(tvQipuIds.get(i))) {
+                                    tvQipuIds.remove(i--);
+                                }
+                            }
+                        }
+
+                        if (tvQipuIds.size() > 0) {
+                            List<IqiyiAlbum2> detailList = IqiYiNewAPI.getAlbumOrVideoDetail(tvQipuIds);
+                            if (detailList != null)
+                                for (IqiyiAlbum2 video : detailList)
+                                    iqiyi2Service.saveIqiyiAlbum(video);
+                        }
+                    }
                 }
             }
             iqiyi2Service.saveIqiyiAlbum(album);
-            CMQManager.getInstance().addAlbumUpdateMsg(album.getId());
+            CMQManager.getInstance().addIqiyiAlbumUpdateMsg(album.getId());
         }
     }
 
@@ -85,12 +132,12 @@
 
     //鎷夊彇鎵�鏈夌殑鐢靛奖
     public void syncAllDianYing() {
-        syncAlbumAndVideo(IqiYiNewAPI.TYPE_DIANYING, false, 255675400l);
+        syncAlbumAndVideo(IqiYiNewAPI.TYPE_DIANYING, false, null);
     }
 
     //鎷夊彇鎵�鏈夌殑鐢佃鍓�
     public void syncAllDianShiJu() {
-        syncAlbumAndVideo(IqiYiNewAPI.TYPE_DIANSHIJU, true, 206929801L);
+        syncAlbumAndVideo(IqiYiNewAPI.TYPE_DIANSHIJU, true, null);
     }
 
     //鎷夊彇鎵�鏈夌殑鍔ㄦ极
@@ -104,12 +151,12 @@
     }
 
     //鏇存柊涓撹緫
-    public void updateAlbum(int categoryId, Date startTime, Date endTime) {
-        IqiyiAlbumListResult result = IqiYiNewAPI.getUpdateAlbumList(categoryId + "", startTime, endTime, null, true, 10);
+    public void updateAlbum(int categoryId, boolean isAlbum, Date startTime, Date endTime) {
+        IqiyiAlbumListResult result = IqiYiNewAPI.getUpdateAlbumList(categoryId + "", startTime, endTime, null, isAlbum, 10);
         if (result.getAlbum2List() != null)
             saveAlbumAndVideo(result.getAlbum2List());
         while (result.getMinId() != null) {
-            result = IqiYiNewAPI.getUpdateAlbumList(categoryId + "", startTime, endTime, result.getMinId(), true, 10);
+            result = IqiYiNewAPI.getUpdateAlbumList(categoryId + "", startTime, endTime, result.getMinId(), isAlbum, 10);
             if (result.getAlbum2List() != null)
                 saveAlbumAndVideo(result.getAlbum2List());
         }
@@ -129,25 +176,22 @@
 
 
     //鏇存柊鏈�杩戜竴澶╃殑鐨勪笓杈戜笌瑙嗛
-    public void updateTodayAlbumAndVideo() {
+    public void updateTodayAlbumAndVideo(int channelId) {
         long now = System.currentTimeMillis();
         for (int i = 0; i < 8; i++) {
-            Date endTime = new Date(now - i * 1000 * 60 * 60L * 3);
+            Date endTime = new Date(now - 1000 * 60 * 60L * 3 * i);
             Date startTime = new Date(endTime.getTime() - 1000 * 60 * 60L * 3);
 
-            //鏇存柊鐢靛奖
-            updateVideo(IqiYiNewAPI.TYPE_DIANYING, startTime, endTime);
-            //鏇存柊鐢佃鍓�
-            updateAlbum(IqiYiNewAPI.TYPE_DIANSHIJU, startTime, endTime);
-            updateVideo(IqiYiNewAPI.TYPE_DIANSHIJU, startTime, endTime);
-
-            //鏇存柊鍔ㄦ极
-            updateAlbum(IqiYiNewAPI.TYPE_DONGMAN, startTime, endTime);
-            updateVideo(IqiYiNewAPI.TYPE_DONGMAN, startTime, endTime);
-
-            //鏇存柊缁艰壓
-            updateAlbum(IqiYiNewAPI.TYPE_ZONGYI, startTime, endTime);
-            updateVideo(IqiYiNewAPI.TYPE_ZONGYI, startTime, endTime);
+            switch (channelId) {
+                case IqiYiNewAPI.TYPE_DIANYING:
+                    updateAlbum(channelId, true, startTime, endTime);
+                    break;
+                case IqiYiNewAPI.TYPE_DIANSHIJU:
+                case IqiYiNewAPI.TYPE_DONGMAN:
+                case IqiYiNewAPI.TYPE_ZONGYI:
+                    updateAlbum(channelId, true, startTime, endTime);
+                    break;
+            }
         }
     }
 
@@ -176,14 +220,18 @@
                 tag = "璇勫垎锛�" + album.getStatistics().getScore();
         } else if (album.getChannelId() == IqiYiNewAPI.TYPE_DIANSHIJU || album.getChannelId() == IqiYiNewAPI.TYPE_DONGMAN) {
             if (album.getLatestVideo() != null) {
-                if (album.getLatestVideo().getOrder() == album.getVideoCount())
-                    tag = album.getVideoCount() + "闆嗗叏";
-                else
-                    tag = "鏇存柊鑷�" + album.getLatestVideo().getOrder() + "闆�";
+                if (album.isSourceAlbum()) {//涓撹緫
+                    tag = "鏇存柊鑷�" + TimeUtil.getGernalTime(TimeUtil.convertGernalTime(album.getLatestVideo().getPeriod(), "yyyyMMdd"), "yyyy-MM-dd") + "鏈�";
+                } else {
+                    if (album.getLatestVideo().getOrder() == album.getVideoCount())
+                        tag = album.getVideoCount() + "闆嗗叏";
+                    else
+                        tag = "鏇存柊鑷�" + album.getLatestVideo().getOrder() + "闆�";
+                }
             }
         } else if (album.getChannelId() == IqiYiNewAPI.TYPE_ZONGYI)
             if (album.getLatestVideo() != null) {
-                tag = "鏇存柊鑷�" + album.getLatestVideo().getPeriod() + "鏈�";
+                tag = "鏇存柊鑷�" + TimeUtil.getGernalTime(TimeUtil.convertGernalTime(album.getLatestVideo().getPeriod(), "yyyyMMdd"), "yyyy-MM-dd") + "鏈�";
             }
         return tag;
     }
@@ -194,13 +242,17 @@
         vi.setAdmin(new AdminInfo("1"));
         vi.setId(album.getId());
         vi.setIntroduction(album.getDesc());
+        vi.setExtraId(album.getId() + "");
         vi.setName(album.getName());
         if (album.getChannelId() == IqiYiNewAPI.TYPE_DIANYING)
             vi.setTag(album.getName());
-        else if (album.getChannelId() == IqiYiNewAPI.TYPE_DIANSHIJU || album.getChannelId() == IqiYiNewAPI.TYPE_DONGMAN)
-            vi.setTag(album.getOrder() + "");
-        else if (album.getChannelId() == IqiYiNewAPI.TYPE_ZONGYI)
-            vi.setTag(album.getPeriod());
+        else if (album.getChannelId() == IqiYiNewAPI.TYPE_DIANSHIJU || album.getChannelId() == IqiYiNewAPI.TYPE_DONGMAN) {
+            if (album.isSourceAlbum())
+                vi.setTag(album.getPeriod() + "\n" + album.getSubTitle());
+            else
+                vi.setTag(album.getOrder() + "");
+        } else if (album.getChannelId() == IqiYiNewAPI.TYPE_ZONGYI)
+            vi.setTag(album.getPeriod() + "\n" + album.getSubTitle());
         vi.setType("album");
         return vi;
     }
@@ -246,5 +298,28 @@
         return list;
     }
 
+    /**
+     * 涓撹緫鏄惁鏈夋晥
+     *
+     * @param album2
+     * @return
+     */
+    public static boolean albumIsValid(IqiyiAlbum2 album2) {
+        if (album2.getEffect() != 1)
+            return false;
+
+        if (album2.isSupportDrm())
+            return false;
+
+        List<IqiyiAlbum2.PlayControlsBean> playControls = album2.getPlayControls();
+        if (playControls == null)
+            return false;
+        for (IqiyiAlbum2.PlayControlsBean bean : playControls) {
+            if (bean.getPlatformId() == 15 && bean.getAvailableStatus() == 1)
+                return true;
+        }
+        return false;
+    }
+
 
 }

--
Gitblit v1.8.0