From 7def9937241d8c5fada7a63c8a0fd144bf0c05ff Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 23 三月 2021 19:32:21 +0800 Subject: [PATCH] IOS上线版本资源隐藏 --- src/main/java/com/yeshi/buwan/controller/parser/ClassParser.java | 92 ++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 88 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/yeshi/buwan/controller/parser/ClassParser.java b/src/main/java/com/yeshi/buwan/controller/parser/ClassParser.java index 3754f39..a86512a 100644 --- a/src/main/java/com/yeshi/buwan/controller/parser/ClassParser.java +++ b/src/main/java/com/yeshi/buwan/controller/parser/ClassParser.java @@ -5,6 +5,7 @@ import com.yeshi.buwan.domain.ad.CommonAdPositionAd; import com.yeshi.buwan.domain.recommend.CategoryRecommendVideo; import com.yeshi.buwan.domain.recommend.HomeRecommendSpecial; +import com.yeshi.buwan.domain.solr.SolrAlbumVideo; import com.yeshi.buwan.domain.special.Special; import com.yeshi.buwan.domain.system.DetailSystem; import com.yeshi.buwan.dto.search.SolrResultDTO; @@ -19,6 +20,7 @@ import com.yeshi.buwan.util.JuHe.VideoResourceUtil; import com.yeshi.buwan.util.ad.CommonAdUtil; import com.yeshi.buwan.util.annotation.RequireUid; +import com.yeshi.buwan.util.factory.VideoInfoFactory; import com.yeshi.buwan.util.video.VideoConstant; import com.yeshi.buwan.vo.AcceptData; import com.yeshi.buwan.vo.HomeClassVO; @@ -121,8 +123,14 @@ if (!StringUtil.isNullOrEmpty(list.get(i).getPicture())) { list.get(i).getType().setIcon(list.get(i).getPicture()); } - typeList.add(list.get(i).getType()); + if ("ios".equalsIgnoreCase(acceptData.getPlatform()) && acceptData.getVersion() >= Constant.IOS_ONLINING_VERSION) { + if (VideoConstant.isMainCategory(list.get(i).getType().getId())) { + typeList.add(list.get(i).getType()); + } + } else + typeList.add(list.get(i).getType()); } + JSONObject object = new JSONObject(); object.put("count", (new StringBuilder(String.valueOf(typeList.size()))).toString()); @@ -257,6 +265,44 @@ // continue; // } typelist.add(type); + } + + if ("ios".equalsIgnoreCase(acceptData.getPlatform()) && acceptData.getVersion() >= Constant.IOS_ONLINING_VERSION) { + typelist = new ArrayList<>(); + HomeClassVO vo = new HomeClassVO(); + vo.setId(309L); + vo.setName("鎺ㄨ崘"); + vo.setShowTitle("鎺ㄨ崘"); + vo.setDataType(HomeClassVO.DATA_TYPE_RECOMMEND); + typelist.add(vo); + + vo = new HomeClassVO(); + vo.setId(VideoConstant.VIDEO_CATEGORY_DIANYING); + vo.setName("鐢靛奖"); + vo.setShowTitle("鐢靛奖"); + vo.setDataType(HomeClassVO.DATA_TYPE_CLASS); + typelist.add(vo); + + vo = new HomeClassVO(); + vo.setId(VideoConstant.VIDEO_CATEGORY_DIANSHIJU); + vo.setName("鐢佃鍓�"); + vo.setShowTitle("鐢佃鍓�"); + vo.setDataType(HomeClassVO.DATA_TYPE_CLASS); + typelist.add(vo); + + vo = new HomeClassVO(); + vo.setId(VideoConstant.VIDEO_CATEGORY_DONGMAN); + vo.setName("鍔ㄦ极"); + vo.setShowTitle("鍔ㄦ极"); + vo.setDataType(HomeClassVO.DATA_TYPE_CLASS); + typelist.add(vo); + + vo = new HomeClassVO(); + vo.setId(VideoConstant.VIDEO_CATEGORY_ZONGYI); + vo.setName("缁艰壓"); + vo.setShowTitle("缁艰壓"); + vo.setDataType(HomeClassVO.DATA_TYPE_CLASS); + typelist.add(vo); } JSONObject object = new JSONObject(); @@ -479,7 +525,7 @@ } else if (!StringUtil.isNullOrEmpty(homeType)) { - list = new ArrayList<VideoInfo>(); + list = new ArrayList<>(); List<HomeVideo> homeVideoList = homeTypeService.getVideoByTypes(homeType, pageIndex, detailSystem); for (HomeVideo hv : homeVideoList) { @@ -818,11 +864,33 @@ out.print(JsonUtil.loadTrueJson(object.toString())); } + @Resource + private VideoResourceService videoResourceService; + @RequireUid public void getSpecialDetail(AcceptData acceptData, HttpServletRequest request, PrintWriter out) { String specialid = request.getParameter("Id"); Special special = specialService.getSpecial(specialid); List<VideoInfo> list = specialService.getSpecialVideoList(specialid); + List<Long> availableResourceIds = videoResouceUtil.getAvailableResourceIds(acceptData.getDetailSystem(), acceptData.getVersion()); + List<VideoInfo> tempList = new ArrayList<>(); + for (VideoInfo videoInfo : list) { + List<VideoResource> resourceList = videoResourceService.getResourceByVideo(videoInfo); + List<Long> rids = new ArrayList<>(); + for (VideoResource vr : resourceList) { + if (availableResourceIds.contains(Long.parseLong(vr.getId()))) { + rids.add(Long.parseLong(vr.getId())); + break; + } + } + if (rids.size() > 0) { + tempList.add(videoInfo); + } + } + + list = tempList; + + JSONObject object = new JSONObject(); object.put("count", list.size()); JSONArray array = new JSONArray(); @@ -895,8 +963,24 @@ public void getRecommendCategoryVideoList(AcceptData acceptData, HttpServletRequest request, PrintWriter out) { String typeid = request.getParameter("Type"); DetailSystem detailSystem = systemService.getDetailSystemByPackage(acceptData.getPackageName()); - List<VideoInfo> rankList = categoryRecommendCacheVideoService.getVideoListByRank(Integer.parseInt(typeid), - detailSystem.getId(), acceptData.getPlatform(), acceptData.getVersion()); + List<VideoInfo> rankList = null; + if ("ios".equalsIgnoreCase(acceptData.getPlatform()) && acceptData.getVersion() >= Constant.IOS_ONLINING_VERSION) { + SolrVideoSearchFilter filter = new SolrVideoSearchFilter(); + filter.setResourceIds(new String[]{25 + ""}); + filter.setVideoType(Integer.parseInt(typeid)); + filter.setFreeType(0); + SolrResultDTO dto = solrAlbumVideoDataManager.find(filter, 1, 30); + List<SolrAlbumVideo> list = dto.getVideoList(); + rankList = new ArrayList<>(); + for (SolrAlbumVideo video : list) { + rankList.add(VideoInfoFactory.create(video)); + } + } else { + rankList = categoryRecommendCacheVideoService.getVideoListByRank(Integer.parseInt(typeid), + detailSystem.getId(), acceptData.getPlatform(), acceptData.getVersion()); + } + + List<VideoInfo> list = new ArrayList<>(); list.addAll(rankList); for (VideoInfo vi : list) {// 娓呴櫎鏃犵敤鏁版嵁,闃叉娴垂甯﹀,鏇存敼鍥剧墖 -- Gitblit v1.8.0