From 35a29882f356542dd9c431714c64d277eb7cad40 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 07 四月 2021 19:08:11 +0800
Subject: [PATCH] 热搜榜,栏目编辑优化

---
 src/main/java/com/yeshi/buwan/controller/parser/HomeParser.java |   45 ++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 40 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/yeshi/buwan/controller/parser/HomeParser.java b/src/main/java/com/yeshi/buwan/controller/parser/HomeParser.java
index d6b6180..a3f62d8 100644
--- a/src/main/java/com/yeshi/buwan/controller/parser/HomeParser.java
+++ b/src/main/java/com/yeshi/buwan/controller/parser/HomeParser.java
@@ -306,8 +306,19 @@
                 String resourceKey = StringUtil.Md5(org.yeshi.utils.StringUtil.concat(resourceList, ","));
                 List<HomeVideo> homeVideoList = homeTypeService.getHomeVideoList(homeType.getId(), resourceKey, resourceList, null, 1, homeType.getNumber());
                 long videoCount = homeTypeService.getHomeVideoListCount(homeType.getId(), resourceKey, resourceList, null);
+                long bigPictureCount = homeTypeService.getHomeVideoListCount(homeType.getId(), resourceKey, resourceList, true);
+                if (videoCount - bigPictureCount > homeType.getNumber()) {
+                    while ((videoCount - bigPictureCount) % homeType.getNumber() != 0) {
+                        videoCount--;
+                    }
+                }
                 homeType.setCount((int) videoCount);
-                homeType.setHomeVideoList(homeVideoList);
+                List<HomeVideo> tempHomeVideoList = new ArrayList<>();
+                tempHomeVideoList.addAll(homeVideoList);
+                while (tempHomeVideoList != null && (tempHomeVideoList.size() - bigPictureCount) % homeType.getColumns() != 0)
+                    tempHomeVideoList.remove(tempHomeVideoList.size() - 1);
+
+                homeType.setHomeVideoList(tempHomeVideoList);
             }
 
         JSONObject object = new JSONObject();
@@ -361,6 +372,14 @@
         String resourceKey = StringUtil.Md5(org.yeshi.utils.StringUtil.concat(resourceList, ","));
 
         Long count = homeTypeService.getHomeVideoListCount(homeTypeId, resourceKey, resourceList, null);
+        if (count - bigPictureVideos.size() > homeType.getNumber()) {
+
+            while ((count - bigPictureVideos.size()) % homeType.getNumber() != 0) {
+                count--;
+            }
+        }
+
+
         List<HomeVideo> list1 = homeTypeService.getHomeVideoList(homeTypeId, resourceKey, resourceList, false, page, homeType.getNumber());
         List<HomeVideo> list = new ArrayList<>();
         list.addAll(bigPictureVideos);
@@ -490,13 +509,21 @@
         String from = request.getParameter("From");
         InternetSearchVideo internetSearchVideo = internetSearchVideoService.selectByPrimaryKey(videoId);
         String resourceId = request.getParameter("ResourceId");
+        String position = request.getParameter("Position");
+        int pageSize = 100;
+        if (!StringUtil.isNullOrEmpty(position)) {
+            if (VersionUtil.isGraterThan391(acceptData.getPlatform(), acceptData.getVersion()))
+                pageSize = (Integer.parseInt(position) / 100 + 1) * 100;
+        }
+
+
         if (StringUtil.isNullOrEmpty(resourceId)) {
             resourceId = internetSearchVideo.getResourceIds().split(",")[0];
         }
         VideoInfo info = null;
         if (Integer.parseInt(resourceId) == YouKuUtil.RESOURCE_ID) {
             try {
-                info = youKuUtil.getVideoInfo(internetSearchVideo);
+                info = youKuUtil.getVideoInfo(internetSearchVideo, pageSize);
 
             } catch (Exception e) {
                 logger.error("鍏ㄧ綉鎼滆棰戣鎯呭嚭閿欙細" + videoId);
@@ -507,7 +534,7 @@
 
         } else if (Integer.parseInt(resourceId) == MogoTVUtil.RESOURCE_ID) {
             try {
-                info = mogoTVUtil.getVideoInfo(internetSearchVideo);
+                info = mogoTVUtil.getVideoInfo(internetSearchVideo, pageSize);
             } catch (Exception e) {
                 logger.error("鍏ㄧ綉鎼滆棰戣鎯呭嚭閿欙細" + videoId);
                 out.print(JsonUtil.loadFalseAdmin(e.getMessage()));
@@ -515,13 +542,16 @@
             }
         } else if (Integer.parseInt(resourceId) == TencentVideoUtil.RESOURCE_ID) {
             try {
-                info = tencentVideoUtil.getVideoInfo(internetSearchVideo);
+                info = tencentVideoUtil.getVideoInfo(internetSearchVideo, pageSize);
             } catch (Exception e) {
                 logger.error("鍏ㄧ綉鎼滆棰戣鎯呭嚭閿欙細" + videoId);
                 out.print(JsonUtil.loadFalseAdmin(e.getMessage()));
                 return;
             }
         }
+
+        if (info != null)
+            info.setPageSize(pageSize);
 
         LoggerUtil.getUserActiveLogger().info(UserActiveLogFactory.createVideoDetail(new BaseLog(acceptData, loginUid), videoId, info.getName(), from));
 
@@ -712,6 +742,7 @@
         String videoId = request.getParameter("VideoId");
         String resourceId = request.getParameter("ResourceId");
         String page = request.getParameter("Page");//椤电爜
+        String pageSize = request.getParameter("PageSize");//椤�
 
         if (StringUtil.isNullOrEmpty(videoId)) {
             out.print(JsonUtil.loadFalseJson("璇蜂笂浼燰ideoId"));
@@ -726,9 +757,13 @@
             out.print(JsonUtil.loadFalseJson("璇蜂笂浼燩age"));
             return;
         }
+        int pagesize = 100;
+        if (!StringUtil.isNullOrEmpty(pageSize)) {
+            pagesize = Integer.parseInt(pageSize);
+        }
 
 
-        List<VideoDetailInfo> list = videoDetailUtil.getVideoDetailList(videoId, new VideoResource(resourceId), Integer.parseInt(page), 100);
+        List<VideoDetailInfo> list = videoDetailUtil.getVideoDetailList(videoId, new VideoResource(resourceId), Integer.parseInt(page), pagesize);
         if (list == null)
             list = new ArrayList<>();
         JSONObject data = new JSONObject();

--
Gitblit v1.8.0