From f537abe9f3646c739beaf15076246a2f71a347e9 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期四, 20 二月 2025 16:57:55 +0800
Subject: [PATCH] IOS广告增加区域屏蔽

---
 src/main/java/com/yeshi/buwan/service/imp/ad/DeviceAdStrategyServiceImpl.java |   36 ++++++++++++++++++++++++++++++++++--
 1 files changed, 34 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/yeshi/buwan/service/imp/ad/DeviceAdStrategyServiceImpl.java b/src/main/java/com/yeshi/buwan/service/imp/ad/DeviceAdStrategyServiceImpl.java
index 2076f5a..37dd429 100644
--- a/src/main/java/com/yeshi/buwan/service/imp/ad/DeviceAdStrategyServiceImpl.java
+++ b/src/main/java/com/yeshi/buwan/service/imp/ad/DeviceAdStrategyServiceImpl.java
@@ -3,13 +3,16 @@
 import com.yeshi.buwan.dao.ad.DeviceAdStrategyDao;
 import com.yeshi.buwan.domain.VideoInfo;
 import com.yeshi.buwan.domain.ad.DeviceAdStrategy;
+import com.yeshi.buwan.domain.system.DetailSystem;
 import com.yeshi.buwan.service.imp.DetailSystemConfigService;
 import com.yeshi.buwan.service.imp.VideoInfoService;
 import com.yeshi.buwan.service.inter.ad.DeviceAdStrategyService;
+import com.yeshi.buwan.service.inter.user.UserDPContentWatchStatisticService;
 import com.yeshi.buwan.service.inter.vip.VIPService;
 import com.yeshi.buwan.util.RedisManager;
 import com.yeshi.buwan.util.StringUtil;
 import com.yeshi.buwan.util.TimeUtil;
+import com.yeshi.buwan.vo.AcceptData;
 import com.yeshi.buwan.vo.video.VideoDetailVO;
 import net.sf.json.JSONObject;
 import org.springframework.stereotype.Service;
@@ -34,6 +37,9 @@
 
     @Resource
     private DetailSystemConfigService detailSystemConfigService;
+
+    @Resource
+    private UserDPContentWatchStatisticService userDPContentWatchStatisticService;
 
     private DeviceAdStrategy init(String id, String deviceId, String detailSystemId) {
         DeviceAdStrategy strategy = new DeviceAdStrategy();
@@ -97,7 +103,7 @@
             strategy = init(id, deviceId, detailSystemId);
         }
         long now = System.currentTimeMillis();
-        return loadAdWeight(new VideoDetailVO.VideoAdInfo(strategy.getDetailPVAExpireTime() < now, strategy.getDetailFSAExpireTime() < now), detailSystemId, version, channel);
+        return filterData(loadAdWeight(new VideoDetailVO.VideoAdInfo(strategy.getDetailPVAExpireTime() < now, strategy.getDetailFSAExpireTime() < now), detailSystemId, version, channel), detailSystemId, deviceId);
     }
 
 
@@ -128,7 +134,7 @@
         }
 
         long now = System.currentTimeMillis();
-        return loadAdWeight(new VideoDetailVO.VideoAdInfo(strategy.getDetailShortVideoPVAExpireTime() < now, strategy.getDetailShortVideoFSAExpireTime() < now), detailSystemId, version, channel);
+        return filterData(loadAdWeight(new VideoDetailVO.VideoAdInfo(strategy.getDetailShortVideoPVAExpireTime() < now, strategy.getDetailShortVideoFSAExpireTime() < now), detailSystemId, version, channel), detailSystemId, deviceId);
     }
 
     @Override
@@ -145,8 +151,28 @@
                 videoAdInfo.setFullVideo(videoAdInfo.isFullVideo() && shortVideo.isFullVideo());
             }
         }
+
+
+        return filterData(videoAdInfo, detailSystemId, deviceId);
+    }
+
+
+    private VideoDetailVO.VideoAdInfo filterData(VideoDetailVO.VideoAdInfo videoAdInfo, String detailSystemId, String deviceId) {
+        DetailSystem ds = new DetailSystem();
+        ds.setId(detailSystemId);
+        if (videoAdInfo != null) {
+            AcceptData acceptData = new AcceptData();
+            acceptData.setUtdId(deviceId);
+            acceptData.setDetailSystem(ds);
+            boolean isDPUser = userDPContentWatchStatisticService.isDPUser(acceptData);
+            if (isDPUser) {
+                videoAdInfo.setFullVideo(false);
+                videoAdInfo.setPlayVideo(false);
+            }
+        }
         return videoAdInfo;
     }
+
 
     @Override
     public void setVideoDetailAdStrategy(String deviceId, String detailSystemId, Long fsaExpireTime, Long pvaExpireTime) {
@@ -213,4 +239,10 @@
         }
 
     }
+
+    @Override
+    public void setFSAShowTomorrow(String deviceId, String detailSystemId) {
+        long showTime = TimeUtil.convertGernalTime(TimeUtil.getGernalTime(System.currentTimeMillis() + 1000 * 60 * 60 * 24L, "yyyy-MM-dd"), "yyyy-MM-dd");
+        setVideoDetailAdStrategy(deviceId, detailSystemId, showTime, null);
+    }
 }

--
Gitblit v1.8.0