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