From d551bef5e2b09bd98681cf97807988c9863e66fc Mon Sep 17 00:00:00 2001 From: admin <2780501319@qq.com> Date: 星期五, 02 四月 2021 00:39:28 +0800 Subject: [PATCH] 视频详情页中的广告显示策略 --- src/main/java/com/yeshi/buwan/controller/parser/UserParser.java | 55 +++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 43 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 e4abe35..6c9bc71 100644 --- a/src/main/java/com/yeshi/buwan/controller/parser/UserParser.java +++ b/src/main/java/com/yeshi/buwan/controller/parser/UserParser.java @@ -419,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(); @@ -447,6 +470,7 @@ typeList.add(vt); } } + vt = new VideoType(); vt.setId(Constant.SEARCH_RESULT_TYPE_HIGH_DEFINITION); @@ -460,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