From 998b6bd2a1dc25ec8350f5a691c3cd44a23d6d14 Mon Sep 17 00:00:00 2001
From: admin <2780501319@qq.com>
Date: 星期五, 26 三月 2021 01:35:13 +0800
Subject: [PATCH] 全网搜(芒果兼容)

---
 src/main/java/com/yeshi/buwan/controller/parser/HomeParser.java |   54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 54 insertions(+), 0 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 8fe2cee..42227ec 100644
--- a/src/main/java/com/yeshi/buwan/controller/parser/HomeParser.java
+++ b/src/main/java/com/yeshi/buwan/controller/parser/HomeParser.java
@@ -15,17 +15,27 @@
 import com.yeshi.buwan.domain.recommend.HomeRecommendSpecial;
 import com.yeshi.buwan.domain.system.DetailSystemConfig;
 import com.yeshi.buwan.domain.system.DetailSystem;
+import com.yeshi.buwan.domain.video.InternetSearchVideo;
 import com.yeshi.buwan.domain.video.VideoWatchHistory;
+import com.yeshi.buwan.dto.log.BaseLog;
 import com.yeshi.buwan.pptv.PPTVUtil;
 import com.yeshi.buwan.pptv.entity.PPTVSeries;
 import com.yeshi.buwan.service.imp.*;
+import com.yeshi.buwan.service.inter.juhe.InternetSearchVideoService;
 import com.yeshi.buwan.service.inter.juhe.PPTVService;
+import com.yeshi.buwan.service.inter.juhe.YouKuService;
 import com.yeshi.buwan.service.inter.recommend.HomeRecommendSpecialService;
 import com.yeshi.buwan.service.inter.video.VideoWatchHistoryService;
 import com.yeshi.buwan.util.*;
 import com.yeshi.buwan.util.annotation.RequireUid;
+import com.yeshi.buwan.util.factory.VideoInfoFactory;
+import com.yeshi.buwan.util.log.LoggerUtil;
+import com.yeshi.buwan.util.log.UserActiveLogFactory;
 import com.yeshi.buwan.util.log.VideoLogFactory;
 import com.yeshi.buwan.vo.AcceptData;
+import com.yeshi.buwan.youku.YouKuUtil;
+import com.yeshi.buwan.youku.entity.YouKuSearchVideoMap;
+import com.yeshi.buwan.youku.entity.YouKuShowDetail;
 import org.apache.commons.httpclient.HttpClient;
 import org.apache.commons.httpclient.HttpException;
 import org.apache.commons.httpclient.methods.GetMethod;
@@ -344,9 +354,44 @@
         out.print(JsonUtil.loadTrueJson(object.toString()));
     }
 
+
+    @Resource
+    private InternetSearchVideoService internetSearchVideoService;
+    @Resource
+    private YouKuUtil youKuUtil;
+
+
+    public void getVideoDetailForInternetSearch(AcceptData acceptData, String videoId, HttpServletRequest request, PrintWriter out) {
+        InternetSearchVideo internetSearchVideo = internetSearchVideoService.selectByPrimaryKey(videoId);
+        String resourceId = request.getParameter("ResourceId");
+        if (StringUtil.isNullOrEmpty(resourceId)) {
+            resourceId = internetSearchVideo.getResourceIds().split(",")[0];
+        }
+
+        if (Integer.parseInt(resourceId) == YouKuUtil.RESOURCE_ID) {
+            VideoInfo info = null;
+            try {
+                info = youKuUtil.getVideoInfo(internetSearchVideo);
+            } catch (Exception e) {
+                out.print(JsonUtil.loadFalseAdmin(e.getMessage()));
+                return;
+            }
+
+            JSONArray array = new JSONArray();
+            JSONObject obj = new JSONObject();
+            out.print(JsonUtil.loadTrueJson(StringUtil.outPutResultJson(Utils.convertVideo(info)), array.toString(),
+                    obj.toString()));
+        }
+    }
+
     @RequireUid
     public void getVideoDetail(AcceptData acceptData, HttpServletRequest request, PrintWriter out) {
         String videoId = request.getParameter("VideoId");
+        if (!NumberUtil.isNumeric(videoId)) {
+            getVideoDetailForInternetSearch(acceptData, videoId, request, out);
+            return;
+        }
+
         String resourceId = request.getParameter("ResourceId");
         String thirdType = request.getParameter("Type");
         String loginUid = request.getParameter("LoginUid");
@@ -419,12 +464,14 @@
             data.put("name", series.getName());
             data.put("pptv", true);
             out.print(JsonUtil.loadTrueJson(data.toString()));
+            LoggerUtil.getUserActiveLogger().info(UserActiveLogFactory.createVideoDetail(new BaseLog(acceptData, loginUid), videoId, series.getName(), from));
             return;
         }
 
 
         VideoInfo info = videoDeailUtil.getVideoInfo(detailSystem.getId(), videoId, resourceId, resourceList,
                 CacheUtil.getMD5Long(resourceList));
+        LoggerUtil.getUserActiveLogger().info(UserActiveLogFactory.createVideoDetail(new BaseLog(acceptData, loginUid), videoId, info != null ? info.getName() : "", from));
 
         List<VideoType> typeList = classService.getVideoTypeList(info.getId());
         if (typeList != null && typeList.size() > 0) {
@@ -471,6 +518,7 @@
             out.print(JsonUtil.loadTrueJson(StringUtil.outPutResultJson(Utils.convertVideo(info)), array.toString(),
                     obj.toString()));
     }
+
 
     /**
      * 鑾峰彇瑙嗛鐨勫墽闆嗗垪琛�
@@ -527,6 +575,12 @@
             return;
         }
 
+        if (!NumberUtil.isNumeric(detailId)) {
+            out.print(JsonUtil.loadFalseJson(""));
+            return;
+        }
+
+
         boolean collect = collectionService.isCollect(acceptData.getUid(), detailId, thirdType);
         if (collect)
             out.print(JsonUtil.loadTrueJson(""));

--
Gitblit v1.8.0