From 2778cf2a16823f9b1153a0549b47f7b503176a17 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期六, 12 九月 2020 18:04:43 +0800
Subject: [PATCH] 爱奇艺正片,搜索引擎

---
 src/main/java/com/yeshi/buwan/controller/parser/UserParser.java |  174 +++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 154 insertions(+), 20 deletions(-)

diff --git a/src/main/java/com/yeshi/buwan/controller/parser/UserParser.java b/src/main/java/com/yeshi/buwan/controller/parser/UserParser.java
index 90e6900..7a6b741 100644
--- a/src/main/java/com/yeshi/buwan/controller/parser/UserParser.java
+++ b/src/main/java/com/yeshi/buwan/controller/parser/UserParser.java
@@ -1,13 +1,15 @@
 package com.yeshi.buwan.controller.parser;
 
 import com.yeshi.buwan.domain.*;
+import com.yeshi.buwan.domain.Collection;
 import com.yeshi.buwan.service.imp.*;
-import com.yeshi.buwan.service.manager.SolrDataManager;
+import com.yeshi.buwan.service.manager.SolrAlbumDataManager;
 import com.yeshi.buwan.util.*;
 import com.yeshi.buwan.util.JuHe.VideoResourceUtil;
 import com.yeshi.buwan.util.annotation.RequireUid;
 import com.yeshi.buwan.util.email.MailSenderUtil;
 import com.yeshi.buwan.util.video.VideoCategoryConstant;
+import com.yeshi.buwan.util.video.VideoConstant;
 import com.yeshi.buwan.vo.AcceptData;
 import net.sf.json.JSONArray;
 import net.sf.json.JSONObject;
@@ -17,10 +19,7 @@
 import javax.servlet.http.HttpServletRequest;
 import java.io.File;
 import java.io.PrintWriter;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
 
 @Controller
 public class UserParser {
@@ -48,7 +47,7 @@
     private VideoInfoService videoInfoService;
 
     @Resource
-    private SolrDataManager solrDataManager;
+    private SolrAlbumDataManager solrDataManager;
 
     public void getUid(AcceptData acceptData, HttpServletRequest request, PrintWriter out) {
         DetailSystem detailSystem = systemService.getDetailSystemByPackage(acceptData.getPackageName());
@@ -108,12 +107,22 @@
             object.put("shopurl", map.get("shopurl"));
             object.put("copyplate", map.get("copy_plate"));
 
-            // 鏄惁骞垮憡鐐瑰嚮涓嬭浇
-            if ("huawei".equalsIgnoreCase(acceptData.getChannel())
-                    && acceptData.getVersion() >= Integer.parseInt(map.get("ad_click_download_version"))) {
+            //寮�鍏宠缃�
+            String channel = acceptData.getChannel().toLowerCase();
+            String adOpenSettings = map.get("ad_other_open_settings");
+            JSONObject adOpenSettingsJson = JSONObject.fromObject(adOpenSettings);
+
+            if (!adOpenSettingsJson.keySet().contains(channel.toLowerCase())) {
+                channel = "qq";
+            }
+
+            int closeVersion = adOpenSettingsJson.optInt(channel);
+            if (acceptData.getVersion() >= closeVersion) {
                 object.put("adClickDownload", true);
-            } else
+            } else {
                 object.put("adClickDownload", false);
+            }
+
 
             // 骞垮憡绫诲瀷
             object.put("adType", map.get("ad_type"));
@@ -243,18 +252,12 @@
                     acceptData.getUid(), key, pageIndex, (StringUtil.isNullOrEmpty(contentType) ? 0 : Integer.parseInt(contentType)),
                     acceptData.getSystem(), resourceList, cacheMD5);
             //缁勭粐鏁版嵁
-            Set<Integer> albumCategorys = VideoCategoryConstant.getAlbumCategorys();
             for (VideoInfo video : list) {
                 //濡傛灉鏄鐗囷紝涓斾负5澶у垎绫� 灏遍噰鐢ㄧ珫鏉″睍绀�
-                /**
-                 * 鏄笓杈戯紝骞朵笖涓烘鐗�
-                 */
-                //video.getVideoType() != null && albumCategorys.contains(Integer.parseInt(video.getVideoType().getId() + "")) &&
-                if (video.getContentType() == 0) {
+                if (video.getShowType() == 1) {
                     video.setVideoDetailList(createSearchVideoDetailsVO(video));
-                    video.setShowType(1);
-                } else
-                    video.setShowType(0);
+
+                }
             }
             cacheMD5 = "0";
             if (list != null) {
@@ -297,9 +300,140 @@
                 array.add(StringUtil.outPutResultJson(list.get(i)));
             }
             object.put("data", array);
+            if (pageIndex == 1) {//杩斿洖瀵艰埅鏍�
+
+            }
+
             out.print(JsonUtil.loadTrueJson(object.toString()));
         }
     }
+
+
+    // 鎼滅储
+    public void searchNew(AcceptData acceptData, HttpServletRequest request, PrintWriter out) {
+
+
+        //type: 0-鍏ㄩ儴  1-
+        String key = request.getParameter("Key");
+        String type = request.getParameter("Type");
+        String page = request.getParameter("Page");
+
+        if (StringUtil.isNullOrEmpty(key)) {
+            out.print(JsonUtil.loadFalseJson("璇蜂笂浼燢ey"));
+            return;
+        }
+
+        if (StringUtil.isNullOrEmpty(type)) {
+            out.print(JsonUtil.loadFalseJson("璇蜂笂浼燭ype"));
+            return;
+        }
+
+
+        int pageIndex = StringUtil.getPage(page);
+        if (pageIndex <= 0) {
+            pageIndex = 1;
+        }
+
+        DetailSystem detailSystem = systemService.getDetailSystemByPackage(acceptData.getPackageName());
+        UserInfo user1 = userService.getUserInfo(acceptData.getUid());
+        if (Utils.isTest(request, user1, detailSystem.getId())) {
+            detailSystem = systemService.getDetailSystemById(40 + "");
+            JSONObject object = new JSONObject();
+            object.put("count", 0);
+            JSONArray array = new JSONArray();
+            object.put("data", array);
+            out.print(JsonUtil.loadTrueJson(object.toString()));
+        } else {
+            List<Long> resourceList = videoResouceUtil.getAvailableResourceIds(acceptData.getPlatform(), acceptData.getVersion());
+            String cacheMD5 = "0";
+            if (resourceList != null && resourceList.size() > 0)
+                for (Long l : resourceList)
+                    cacheMD5 += "#" + l;
+            cacheMD5 = StringUtil.Md5(cacheMD5);
+
+            List<VideoInfo> list = searchService.searchNew(detailSystem.getId(), request.getRemoteAddr(),
+                    acceptData.getUid(), key, pageIndex, Integer.parseInt(type),
+                    acceptData.getSystem(), resourceList, cacheMD5);
+            //缁勭粐鏁版嵁
+            for (VideoInfo video : list) {
+                //濡傛灉鏄鐗囷紝涓斾负5澶у垎绫� 灏遍噰鐢ㄧ珫鏉″睍绀�
+                if (video.getShowType() == 1) {
+                    video.setVideoDetailList(createSearchVideoDetailsVO(video));
+                }
+            }
+            cacheMD5 = "0";
+            if (list != null) {
+                for (VideoInfo info : list) {
+                    cacheMD5 += info.getId() + "#";
+                }
+            }
+            list = banQuanService.getBanQuanVideo(list, detailSystem.getId(), cacheMD5);
+
+            JSONObject object = new JSONObject();
+            object.put("count", Constant.isUpdate ? 19 + "" : list.size());
+            JSONArray array = new JSONArray();
+            for (int i = 0; i < list.size(); i++) {
+                if (JuheVideoUtil.isNeedDelete((VideoInfo) list.get(i), detailSystem.getId())) {
+                    list.remove(i);
+                    i--;
+                }
+            }
+
+            List<String> keyList = banQuanService.getBanQuanKeyListAll(Integer.parseInt(detailSystem.getId()));
+            for (int i = 0; i < list.size(); i++) {
+
+                boolean delete = false;
+                for (int j = 0; j < keyList.size(); j++) {
+                    if (list.get(i).getName().contains(keyList.get(j))) {
+                        delete = true;
+                        break;
+                    }
+                }
+                if (delete) {
+                    list.remove(i);
+                    i--;
+                }
+
+            }
+
+            for (int i = 0; i < list.size(); i++) {
+                ((VideoInfo) list.get(i))
+                        .setPicture(VideoPictureUtil.getShowPicture((VideoInfo) list.get(i), acceptData.getPlatform(), acceptData.getVersion() + ""));
+                array.add(StringUtil.outPutResultJson(list.get(i)));
+            }
+            object.put("data", array);
+            if (pageIndex == 1) {//杩斿洖瀵艰埅鏍�
+                List<VideoType> typeList = new ArrayList<>();
+                VideoType vt = new VideoType();
+                vt.setId(0);
+                vt.setName("鍏ㄩ儴");
+                typeList.add(vt);
+                Set<Long> set = new HashSet<>();
+                for (VideoInfo videoInfo : list) {
+                    if (videoInfo.getShowType() == 1 && videoInfo.getVideoType() != null)
+                        set.add(videoInfo.getVideoType().getId());
+                }
+
+                for (Iterator<Long> its = set.iterator(); its.hasNext(); ) {
+                    Long typeId = its.next();
+                    String typeName = VideoConstant.getMainCategoryName(typeId);
+                    if (!StringUtil.isNullOrEmpty(typeName)) {
+                        vt = new VideoType();
+                        vt.setId(typeId);
+                        vt.setName(typeName);
+                        typeList.add(vt);
+                    }
+                }
+                JSONArray array1 = new JSONArray();
+                for (VideoType vt1 : typeList)
+                    array1.add(StringUtil.outPutResultJson(vt1));
+                object.put("typeList", array1);
+            }
+
+            out.print(JsonUtil.loadTrueJson(object.toString()));
+        }
+    }
+
 
     // 鐚滀綘鍠滄
     public void guessLike(AcceptData acceptData, HttpServletRequest request, PrintWriter out) {
@@ -686,7 +820,7 @@
         user.setPortrait("http://buwan-1255749512.file.myqcloud.com/resource/ic_portrait_default.png");
         user = userService.loginByEmail(user);
         if (user == null || user.getState() != LoginUser.STATE_NORMAL)
-            out.print(JsonUtil.loadFalseJson("鐧诲綍澶辫触"));
+            out.print(JsonUtil.loadFalseJson("璐﹀彿鎴栧瘑鐮侀敊璇�"));
         else
             out.print(JsonUtil.loadTrueJson(StringUtil.outPutResultJson(user)));
     }

--
Gitblit v1.8.0