From 20f473dc4997e8b8a76f8c75d0a649be0a5ea139 Mon Sep 17 00:00:00 2001
From: admin <2780501319@qq.com>
Date: 星期五, 02 四月 2021 00:32:03 +0800
Subject: [PATCH] 广告控制逻辑代码初步编写

---
 src/main/java/com/yeshi/buwan/controller/parser/HomeParser.java |   37 +++++++++++++++++++++++++++++++++++--
 1 files changed, 35 insertions(+), 2 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 d3cf428..3d6678b 100644
--- a/src/main/java/com/yeshi/buwan/controller/parser/HomeParser.java
+++ b/src/main/java/com/yeshi/buwan/controller/parser/HomeParser.java
@@ -18,15 +18,18 @@
 import com.yeshi.buwan.domain.video.InternetSearchVideo;
 import com.yeshi.buwan.domain.video.VideoWatchHistory;
 import com.yeshi.buwan.dto.log.BaseLog;
+import com.yeshi.buwan.dto.statistic.video.VideoDetailStatisticData;
 import com.yeshi.buwan.mogotv.MogoTVUtil;
 import com.yeshi.buwan.pptv.PPTVUtil;
 import com.yeshi.buwan.pptv.entity.PPTVSeries;
 import com.yeshi.buwan.service.imp.*;
+import com.yeshi.buwan.service.inter.ad.DeviceAdStrategyService;
 import com.yeshi.buwan.service.inter.juhe.InternetSearchVideoService;
 import com.yeshi.buwan.service.inter.juhe.PPTVService;
 import com.yeshi.buwan.service.inter.juhe.YouKuService;
 import com.yeshi.buwan.service.inter.recommend.HomeRecommendSpecialService;
 import com.yeshi.buwan.service.inter.video.VideoWatchHistoryService;
+import com.yeshi.buwan.service.manager.VideoPlayStatisticManager;
 import com.yeshi.buwan.tencent.TencentVideoUtil;
 import com.yeshi.buwan.util.*;
 import com.yeshi.buwan.util.annotation.RequireUid;
@@ -103,6 +106,9 @@
 
     @Resource
     private HomeRecommendSpecialService homeRecommendSpecialService;
+
+    @Resource
+    private DeviceAdStrategyService deviceAdStrategyService;
 
     private final Logger userPlayLogger = LoggerFactory.getLogger("videoPlayUser");
 
@@ -423,6 +429,29 @@
     @Resource
     private TencentVideoUtil tencentVideoUtil;
 
+    @Resource
+    private VideoPlayStatisticManager videoPlayStatisticManager;
+
+
+    private String createVideoDetailSessionId(AcceptData acceptData, String uid, String videoName, String videoId, String resourceId) {
+
+        try {
+            VideoDetailStatisticData data = new VideoDetailStatisticData();
+            data.setDetailSystemId(acceptData.getDetailSystem().getId());
+            data.setLoginUid(uid);
+            data.setResourceId(Integer.parseInt(resourceId));
+            data.setUtdId(acceptData.getUtdId());
+            data.setVersion(acceptData.getVersion());
+            data.setVideoId(videoId);
+            data.setVideoName(videoName);
+
+            return videoPlayStatisticManager.createVideoDetailSessionId(data);
+        } catch (Exception e) {
+
+        }
+        return null;
+    }
+
 
     public void getVideoDetailForInternetSearch(AcceptData acceptData, String videoId, HttpServletRequest request, PrintWriter out) {
         String loginUid = request.getParameter("LoginUid");
@@ -470,7 +499,7 @@
         JSONObject obj = new JSONObject();
 
         if (VersionUtil.isGraterThan390(acceptData.getPlatform(), acceptData.getVersion())) {
-            out.print(JsonUtil.loadTrueJson(StringUtil.outPutResultJson(new VideoDetailVO(Utils.convertVideo(info), new VideoDetailVO.VideoAdInfo(true, false), null)), array.toString(),
+            out.print(JsonUtil.loadTrueJson(StringUtil.outPutResultJson(new VideoDetailVO(Utils.convertVideo(info), deviceAdStrategyService.getVideoDetailAdStrategy(acceptData.getUtdId(), acceptData.getDetailSystem().getId(), loginUid), null, createVideoDetailSessionId(acceptData, loginUid, info.getName(), videoId, resourceId))), array.toString(),
                     obj.toString()));
         } else {
             out.print(JsonUtil.loadTrueJson(StringUtil.outPutResultJson(Utils.convertVideo(info)), array.toString(),
@@ -552,11 +581,13 @@
 
             p = p >= series.getSeries().size() ? 0 : p;
 
+            String sessionId = createVideoDetailSessionId(acceptData, loginUid, series.getName(), videoId, resourceId);
             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);
+            data.put("sessionId", sessionId);
             out.print(JsonUtil.loadTrueJson(data.toString()));
             LoggerUtil.getUserActiveLogger().info(UserActiveLogFactory.createVideoDetail(new BaseLog(acceptData, loginUid), videoId, series.getName(), from));
             return;
@@ -616,7 +647,9 @@
             }
         UserInfo user = userService.getUserInfo(acceptData.getUid());
         if (VersionUtil.isGraterThan390(acceptData.getPlatform(), acceptData.getVersion())) {
-            out.print(JsonUtil.loadTrueJson(StringUtil.outPutResultJson(new VideoDetailVO(Utils.convertVideo(info), new VideoDetailVO.VideoAdInfo(true, true), attention)), array.toString(),
+            String sessionId = createVideoDetailSessionId(acceptData, loginUid, info.getName(), videoId, resourceId);
+
+            out.print(JsonUtil.loadTrueJson(StringUtil.outPutResultJson(new VideoDetailVO(Utils.convertVideo(info), deviceAdStrategyService.getVideoDetailAdStrategy(acceptData.getUtdId(), acceptData.getDetailSystem().getId(), loginUid), attention, sessionId)), array.toString(),
                     obj.toString()));
         } else {
             out.print(JsonUtil.loadTrueJson(StringUtil.outPutResultJson(Utils.convertVideo(info)), array.toString(),

--
Gitblit v1.8.0