From ad3ac53da1c3a11a96ae62d790aa61a81b9eab91 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期六, 20 三月 2021 18:47:23 +0800 Subject: [PATCH] 完善APP首页顶部标签栏兼容,初步处理推送 --- src/main/java/com/yeshi/buwan/controller/parser/HomeParser.java | 55 ++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 42 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/yeshi/buwan/controller/parser/HomeParser.java b/src/main/java/com/yeshi/buwan/controller/parser/HomeParser.java index c04f028..8fe2cee 100644 --- a/src/main/java/com/yeshi/buwan/controller/parser/HomeParser.java +++ b/src/main/java/com/yeshi/buwan/controller/parser/HomeParser.java @@ -2,12 +2,17 @@ import java.io.IOException; import java.io.PrintWriter; +import java.math.BigDecimal; import java.util.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +import com.google.gson.Gson; import com.yeshi.buwan.domain.*; +import com.yeshi.buwan.domain.jump.JumpDetail; +import com.yeshi.buwan.domain.jump.JumpTypeEnum; +import com.yeshi.buwan.domain.recommend.HomeRecommendSpecial; import com.yeshi.buwan.domain.system.DetailSystemConfig; import com.yeshi.buwan.domain.system.DetailSystem; import com.yeshi.buwan.domain.video.VideoWatchHistory; @@ -15,6 +20,7 @@ import com.yeshi.buwan.pptv.entity.PPTVSeries; import com.yeshi.buwan.service.imp.*; import com.yeshi.buwan.service.inter.juhe.PPTVService; +import com.yeshi.buwan.service.inter.recommend.HomeRecommendSpecialService; import com.yeshi.buwan.service.inter.video.VideoWatchHistoryService; import com.yeshi.buwan.util.*; import com.yeshi.buwan.util.annotation.RequireUid; @@ -79,17 +85,23 @@ @Resource private VideoWatchHistoryService videoWatchHistoryService; - private final Logger playLogger = LoggerFactory.getLogger("videoPlay"); + @Resource + private HomeRecommendSpecialService homeRecommendSpecialService; + + private final Logger userPlayLogger = LoggerFactory.getLogger("videoPlayUser"); @RequireUid public void getHomeAd(AcceptData acceptData, HttpServletRequest request, PrintWriter out) { String vtid = request.getParameter("Vtid"); - if (!"310".equals(vtid)) { + HomeRecommendSpecial special = homeRecommendSpecialService.getSpecial(vtid); + //鍏煎鏂扮増鏈� + if (special != null) { + JSONObject object = new JSONObject(); DetailSystem detailSystem = systemService.getDetailSystemByPackage(acceptData.getPackageName()); - List<HomeAd> list = homeAdService.getHomeAdList(detailSystem); + List<HomeAd> list = homeAdService.getHomeAdList(detailSystem, special != null ? special.getDataKey() : null); if (acceptData.getPlatform().equalsIgnoreCase("ios"))// IOS娴嬭瘯 { @@ -115,7 +127,6 @@ for (int i = 0; i < list.size(); i++) array.add(StringUtil.outPutResultJson(list.get(i))); object.put("data", array); - } else { for (HomeAd ad : list) { if (ad.getVideo() != null) { @@ -133,6 +144,7 @@ object.put("data", array); } + object.put("bannerSizeRate", special.getBannerSizeRate()); out.print(JsonUtil.loadTrueJson(object.toString())); } else { classParser.getRecommendCategoryVideoBanner(acceptData, request, out); @@ -152,12 +164,14 @@ vtid = "309"; // 涓轰簡鍏煎浠ュ墠鐨勬帹鑽� } + HomeRecommendSpecial special = homeRecommendSpecialService.getSpecial(vtid); + DetailSystem detailSystem = systemService.getDetailSystemByPackage(acceptData.getPackageName()); JSONObject object = new JSONObject(); List<Long> resourceList = videoResouceUtil.getAvailableResourceIds(acceptData.getDetailSystem(), acceptData.getVersion()); List<HomeType> list1 = homeTypeService.getHomeType(detailSystem.getId(), resourceList, - CacheUtil.getMD5Long(resourceList), -1, Long.parseLong(vtid)); + CacheUtil.getMD5Long(resourceList), -1, special != null ? special.getDataKey() : null); List<HomeType> list = new ArrayList<>(); for (HomeType ht : list1) list.add(ht); @@ -188,6 +202,20 @@ } } catch (Exception e) { e.printStackTrace(); + } + } + + if (VersionUtil.isGraterThan387(acceptData.getPlatform(), acceptData.getVersion())) { + DetailSystemConfig adContent = configService.getConfigByKey("home_banner_ad_content", acceptData.getDetailSystem(), acceptData.getVersion()); + DetailSystemConfig adPosition = configService.getConfigByKey("home_banner_ad_position", acceptData.getDetailSystem(), acceptData.getVersion()); + if (adContent != null && adPosition != null) { + HomeType.HomeTypeAd ad = new Gson().fromJson(adContent.getValue(), HomeType.HomeTypeAd.class); + int adP = Integer.parseInt(adPosition.getValue()); + if (adP < list.size() && adP > -1) { + HomeType homeType = new HomeType(); + homeType.setAd(ad); + list.add(adP, homeType); + } } } } @@ -222,13 +250,14 @@ JSONArray array = new JSONArray(); for (HomeType ht : list) { - for (int i = 0; i < ht.getHomeVideoList().size(); i++) { - //鏀瑰彉鍥剧墖 - if (JuheVideoUtil.isNeedDelete(ht.getHomeVideoList().get(i).getVideo(), detailSystem.getId())) { - ht.getHomeVideoList().remove(i); - i--; + if (ht.getHomeVideoList() != null) + for (int i = 0; i < ht.getHomeVideoList().size(); i++) { + //鏀瑰彉鍥剧墖 + if (JuheVideoUtil.isNeedDelete(ht.getHomeVideoList().get(i).getVideo(), detailSystem.getId())) { + ht.getHomeVideoList().remove(i); + i--; + } } - } } for (int i = 0; i < list.size(); i++) @@ -236,7 +265,6 @@ object.put("data", array); out.print(JsonUtil.loadTrueJson(object.toString())); } - public HomeType convertHomeVideoList(HomeType type) { @@ -365,7 +393,7 @@ } }); - playLogger.info(VideoLogFactory.createUserVideoDetailLog(acceptData.getDevice(), loginUid, acceptData.getDetailSystem().getId(), videoId, resourceId, from)); + userPlayLogger.info(VideoLogFactory.createUserVideoDetailLog(acceptData.getDevice(), acceptData.getUtdId(), loginUid, acceptData.getDetailSystem().getId(), videoId, resourceId, from)); //PPTV缃戦〉鎾斁 @@ -388,6 +416,7 @@ String playUrl = PPTVUtil.getPlayUrl(series, series.getSeries().get(p)); data.put("videoId", videoId); data.put("playUrl", playUrl); + data.put("name", series.getName()); data.put("pptv", true); out.print(JsonUtil.loadTrueJson(data.toString())); return; -- Gitblit v1.8.0