From 2a593ddac16e06f1ff55edca22ea568f07b068ba Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期五, 02 四月 2021 19:15:18 +0800 Subject: [PATCH] 3.9.0bug修改 --- src/main/java/com/yeshi/buwan/controller/parser/UserParser.java | 65 ++++++++++++++++++++++++++------ 1 files changed, 53 insertions(+), 12 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 9bcbf7c..6c9bc71 100644 --- a/src/main/java/com/yeshi/buwan/controller/parser/UserParser.java +++ b/src/main/java/com/yeshi/buwan/controller/parser/UserParser.java @@ -16,6 +16,7 @@ import com.yeshi.buwan.service.imp.*; import com.yeshi.buwan.service.inter.juhe.InternetSearchVideoService; import com.yeshi.buwan.service.manager.SolrAlbumVideoDataManager; +import com.yeshi.buwan.service.manager.SolrInternetSearchVideoDataManager; import com.yeshi.buwan.util.*; import com.yeshi.buwan.util.JuHe.VideoResourceUtil; import com.yeshi.buwan.util.annotation.RequireUid; @@ -67,6 +68,8 @@ private VideoInfoService videoInfoService; @Resource private SolrAlbumVideoDataManager solrDataManager; + @Resource + private SolrInternetSearchVideoDataManager solrInternetSearchVideoDataManager; @Resource private ConfigParser configParser; @@ -197,6 +200,13 @@ } } } + if (list == null || list.size() < 3) { + List<String> list1 = solrInternetSearchVideoDataManager.getSuggestKeyList(key); + if (list1 != null) { + list.addAll(list1); + } + } + JSONObject object = new JSONObject(); object.put("count", list.size() + ""); JSONArray array = new JSONArray(); @@ -409,26 +419,49 @@ } } - 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()); + List<Long> set = new ArrayList<>(); + //灏嗚棰戝唴瀹瑰垎绫诲苟鎺掑簭 + Map<Long, List<VideoInfo>> videoMap = new HashMap<>(); + for (int i = 0; i < list.size(); i++) { + VideoInfo videoInfo = list.get(i); + if (videoInfo.getShowType() == 1 && videoInfo.getVideoType() != null) { + if (videoMap.get(videoInfo.getVideoType().getId()) == null) + videoMap.put(videoInfo.getVideoType().getId(), new ArrayList<>()); + videoMap.get(videoInfo.getVideoType().getId()).add(videoInfo); + if (!set.contains(videoInfo.getVideoType().getId())) + set.add(videoInfo.getVideoType().getId()); + + if (VersionUtil.isGraterThan390(acceptData.getPlatform(), acceptData.getVersion()) && (StringUtil.isNullOrEmpty(type) || type.equalsIgnoreCase("0"))) { + list.remove(i); + i--; + } + } } - for (Iterator<Long> its = set.iterator(); its.hasNext(); ) { - Long typeId = its.next(); + //閲嶆柊缁勭粐鏁版嵁 + if (VersionUtil.isGraterThan390(acceptData.getPlatform(), acceptData.getVersion()) && (StringUtil.isNullOrEmpty(type) || type.equalsIgnoreCase("0"))) { + List<VideoInfo> albumVideoList = new ArrayList<>(); + for (int i = 0; i < set.size(); i++) { + Long typeId = set.get(i); + String typeName = VideoConstant.getMainCategoryName(typeId); + if (!StringUtil.isNullOrEmpty(typeName)) { + videoMap.get(typeId).get(0).setAlbumMoreInfo(new VideoInfo.VideoAlbumMoreInfo(typeName, i + 1)); + albumVideoList.addAll(videoMap.get(typeId)); + } + } + list.addAll(0, albumVideoList); + } + + + for (int i = 0; i < set.size(); i++) { + Long typeId = set.get(i); String typeName = VideoConstant.getMainCategoryName(typeId); if (!StringUtil.isNullOrEmpty(typeName)) { vt = new VideoType(); @@ -437,6 +470,7 @@ typeList.add(vt); } } + vt = new VideoType(); vt.setId(Constant.SEARCH_RESULT_TYPE_HIGH_DEFINITION); @@ -450,6 +484,13 @@ object.put("typeList", array1); } + 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); + out.print(JsonUtil.loadTrueJson(object.toString())); } -- Gitblit v1.8.0