From 8fee151ffae0c3818694b7318583814bf92663e2 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期五, 27 八月 2021 18:52:28 +0800 Subject: [PATCH] 聚合视频资源包调整,接入韩迷 --- src/main/java/com/yeshi/buwan/controller/parser/SearchParser.java | 62 +++++++++++++++++++++++++++--- 1 files changed, 55 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/yeshi/buwan/controller/parser/SearchParser.java b/src/main/java/com/yeshi/buwan/controller/parser/SearchParser.java index 49be080..d4d8688 100644 --- a/src/main/java/com/yeshi/buwan/controller/parser/SearchParser.java +++ b/src/main/java/com/yeshi/buwan/controller/parser/SearchParser.java @@ -1,11 +1,14 @@ package com.yeshi.buwan.controller.parser; import com.yeshi.buwan.domain.VideoInfo; +import com.yeshi.buwan.domain.VideoType; import com.yeshi.buwan.domain.solr.SolrAlbumVideo; import com.yeshi.buwan.domain.solr.SolrShortVideo; import com.yeshi.buwan.domain.special.SearchSpecial; +import com.yeshi.buwan.domain.special.SearchSpecialPositionMap; import com.yeshi.buwan.domain.video.InternetSearchVideo; import com.yeshi.buwan.dto.search.SolrResultDTO; +import com.yeshi.buwan.service.inter.search.SearchSpecialPositionMapService; import com.yeshi.buwan.service.inter.search.SearchSpecialService; import com.yeshi.buwan.service.manager.search.SolrAlbumVideoDataManager; import com.yeshi.buwan.service.manager.search.SolrInternetSearchVideoDataManager; @@ -21,12 +24,16 @@ import javax.servlet.http.HttpServletRequest; import java.io.PrintWriter; import java.util.ArrayList; +import java.util.Collections; import java.util.List; @Controller public class SearchParser { @Resource private SearchSpecialService searchSpecialService; + + @Resource + private SearchSpecialPositionMapService searchSpecialPositionMapService; @Resource private SolrAlbumVideoDataManager solrAlbumVideoDataManager; @@ -46,16 +53,34 @@ */ public void getSpecialVideo(AcceptData acceptData, HttpServletRequest request, PrintWriter out) { String key = request.getParameter("key"); - SearchSpecial searchSpecial = searchSpecialService.selectByKey(key); + SearchSpecial searchSpecial = searchSpecialService.selectByPrimaryKey(key); if (searchSpecial == null) { out.print(JsonUtil.loadFalseJson("鎼滅储涓撻涓嶅瓨鍦�")); return; } String page = request.getParameter("page"); - if (NumberUtil.isNumeric(page)) { + if (!NumberUtil.isNumeric(page)) { out.print(JsonUtil.loadFalseJson("椤电爜閿欒")); return; + } + int pageIndex = Integer.parseInt(page); + switch (key) { + case "3#hanju-bagua": + pageIndex++; + break; + case "3#hanju-news": + pageIndex += 2; + break; + case "3#hanju-stars": + pageIndex += 3; + break; + case "3#hanju-hots": + pageIndex += 4; + + case "3#hanju-music": + pageIndex += 5; + break; } List<VideoInfo> videoInfoList = new ArrayList<>(); @@ -63,7 +88,7 @@ int pageSize = Constant.pageCount; boolean hasNextPage = false; if (searchSpecial.getAlbumQuery() != null) { - SolrResultDTO solrResultDTO = solrAlbumVideoDataManager.find(searchSpecial.getAlbumQuery(), Integer.parseInt(page), pageSize); + SolrResultDTO solrResultDTO = solrAlbumVideoDataManager.find(searchSpecial.getAlbumQuery(), pageIndex, pageSize); if (solrResultDTO != null) { List<SolrAlbumVideo> list = solrResultDTO.getVideoList(); if (list != null) { @@ -78,7 +103,7 @@ } if (searchSpecial.getInternetQuery() != null) { - SolrResultDTO solrResultDTO = solrInternetSearchVideoDataManager.find(searchSpecial.getInternetQuery(), Integer.parseInt(page), pageSize); + SolrResultDTO solrResultDTO = solrInternetSearchVideoDataManager.find(searchSpecial.getInternetQuery(), pageIndex, pageSize); if (solrResultDTO != null) { List<InternetSearchVideo> list = solrResultDTO.getVideoList(); if (list != null) { @@ -93,13 +118,14 @@ } if (searchSpecial.getShortQuery() != null) { - SolrResultDTO solrResultDTO = solrShortVideoDataManager.find(searchSpecial.getShortQuery(), Integer.parseInt(page), pageSize); + SolrResultDTO solrResultDTO = solrShortVideoDataManager.find(searchSpecial.getShortQuery(), pageIndex, pageSize); if (solrResultDTO != null) { List<SolrShortVideo> list = solrResultDTO.getVideoList(); if (list != null) { for (SolrShortVideo av : list) { videoInfoList.add(VideoInfoFactory.create(av)); } + Collections.shuffle(videoInfoList); if (list.size() > 0) { hasNextPage = true; } @@ -115,8 +141,30 @@ JSONObject data = new JSONObject(); data.put("hasNextPage", hasNextPage); data.put("list", array); - data.put("column", 2); - out.print(JsonUtil.loadTrueAdmin(data)); + data.put("column", searchSpecial.getColumn()); + out.print(JsonUtil.loadTrueJson(data.toString())); + } + + + public void getSearchVideoType(AcceptData acceptData, HttpServletRequest request, PrintWriter out) { + String pid = request.getParameter("pid"); + if (StringUtil.isNullOrEmpty(pid)) { + out.print(JsonUtil.loadFalseJson("浣嶇疆ID涓嶈兘涓虹┖")); + return; + } + JSONArray array = new JSONArray(); + List<SearchSpecialPositionMap> mapList = searchSpecialPositionMapService.listDetailByPosition(pid, 0, 50); + for (SearchSpecialPositionMap map : mapList) { + JSONObject item = new JSONObject(); + item.put("name", StringUtil.isNullOrEmpty(map.getShowName()) ? map.getSpecial().getName() : map.getShowName()); + item.put("id", map.getSpecialId()); + item.put("icon", map.getIcon()); + array.add(item); + } + JSONObject data = new JSONObject(); + data.put("list", array); + data.put("count", array.size()); + out.print(JsonUtil.loadTrueJson(data.toString())); } -- Gitblit v1.8.0