admin
2022-01-28 cd7767932dddeaf6d9c73a83d4a9b38f0341b77f
src/main/java/com/yeshi/buwan/service/imp/ad/DeviceAdStrategyServiceImpl.java
@@ -3,13 +3,17 @@
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.domain.user.UserDPContentWatchStatistic;
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 +38,9 @@
    @Resource
    private DetailSystemConfigService detailSystemConfigService;
    @Resource
    private UserDPContentWatchStatisticService userDPContentWatchStatisticService;
    private DeviceAdStrategy init(String id, String deviceId, String detailSystemId) {
        DeviceAdStrategy strategy = new DeviceAdStrategy();
@@ -97,7 +104,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 +135,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,9 +152,29 @@
                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) {
        if (StringUtil.isNullOrEmpty(deviceId) || StringUtil.isNullOrEmpty(detailSystemId)) {