admin
2022-01-28 cd7767932dddeaf6d9c73a83d4a9b38f0341b77f
src/main/java/com/yeshi/buwan/controller/parser/HomeParser.java
@@ -12,6 +12,8 @@
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.exception.video.VideoPlayException;
import com.yeshi.buwan.service.manager.APPManager;
import com.yeshi.buwan.videos.mogotv.MogoTVUtil;
import com.yeshi.buwan.videos.pptv.PPTVApiUtil;
import com.yeshi.buwan.videos.pptv.PPTVUtil;
@@ -116,6 +118,9 @@
    @Resource
    private DeviceAdStrategyService deviceAdStrategyService;
    @Resource
    private APPManager appManager;
    private final Logger userPlayLogger = LoggerFactory.getLogger("videoPlayUser");
    @RequireUid
@@ -205,7 +210,7 @@
            list.add(ht);
        if ("309".equals(vtid)) {
            if (!"ios".equalsIgnoreCase(acceptData.getPlatform())) {
                Map<String, String> confMap = configService.getConfigAsMap(detailSystem, acceptData.getVersion());
                Map<String, String> confMap = configService.getConfigAsMap(acceptData.getChildDetailSystem(), acceptData.getVersion());
                String mm = confMap.get("meinv_mm_count");
                int count = Integer.parseInt(mm);
                if (count > 0) {
@@ -234,8 +239,8 @@
                }
                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());
                    DetailSystemConfig adContent = configService.getConfigByKey("home_banner_ad_content", acceptData.getChildDetailSystem(), acceptData.getVersion());
                    DetailSystemConfig adPosition = configService.getConfigByKey("home_banner_ad_position", acceptData.getChildDetailSystem(), acceptData.getVersion());
                    if (adContent != null && adPosition != null) {
                        HomeType.HomeTypeAd ad = new Gson().fromJson(adContent.getValue(), HomeType.HomeTypeAd.class);
                        int adP = Integer.parseInt(adPosition.getValue());
@@ -335,8 +340,8 @@
        try {
            if (VersionUtil.isGraterThan387(acceptData.getPlatform(), acceptData.getVersion()) && dataKey.equalsIgnoreCase("recommend")) {
                DetailSystemConfig adContent = configService.getConfigByKey("home_banner_ad_content", acceptData.getDetailSystem(), acceptData.getVersion());
                DetailSystemConfig adPosition = configService.getConfigByKey("home_banner_ad_position", acceptData.getDetailSystem(), acceptData.getVersion());
                DetailSystemConfig adContent = configService.getConfigByKey("home_banner_ad_content", acceptData.getChildDetailSystem(), acceptData.getVersion());
                DetailSystemConfig adPosition = configService.getConfigByKey("home_banner_ad_position", acceptData.getChildDetailSystem(), acceptData.getVersion());
                if (adContent != null && adPosition != null) {
                    HomeType.HomeTypeAd ad = new Gson().fromJson(adContent.getValue(), HomeType.HomeTypeAd.class);
                    int adP = Integer.parseInt(adPosition.getValue());
@@ -590,6 +595,17 @@
        if (StringUtil.isNullOrEmpty(resourceId)) {
            resourceId = internetSearchVideo.getResourceIds().split(",")[0];
        }
        List<Long> resourceList = videoResouceUtil.getAvailableResourceIds(acceptData.getDetailSystem(), acceptData.getVersion(), acceptData.getChannel());
        if (resourceList != null) {
            if (!resourceList.contains(Long.parseLong(resourceId))) {
                out.print(JsonUtil.loadFalseAdmin(""));
                return;
            }
        }
        VideoInfo info = null;
        if (Integer.parseInt(resourceId) == YouKuUtil.RESOURCE_ID) {
            try {
@@ -635,6 +651,9 @@
        info.setWatchCount("" + (int) (Math.random() * 1000));
        //视频过滤
        filterVideo(acceptData, info);
        JSONArray array = new JSONArray();
        JSONObject obj = new JSONObject();
@@ -645,6 +664,33 @@
            out.print(JsonUtil.loadTrueJson(StringUtil.outPutResultJson(Utils.convertVideo(info)), array.toString(),
                    obj.toString()));
        }
    }
    //视频过滤
    private void filterVideo(AcceptData acceptData, VideoInfo video) {
        //控制前端列表中的来源显示问题
        if ("48".equalsIgnoreCase(acceptData.getDetailSystem().getId())) {
            if (video.getArea() != null && video.getArea().contains("韩国")) {
                //判断当前版本是否正在上线
                if (appManager.isOnline(acceptData.getDetailSystem().getId(), acceptData.getVersion(), acceptData.getChannel())) {
                    //如果在上线就删除未选中的资源,并且将当前资源变为韩迷TV
                    for (int i = 0; i < video.getResourceList().size(); i++) {
                        if (!video.getResourceList().get(i).isChecked()) {
                            video.getResourceList().remove(i--);
                        }
                    }
                    if (video.getResourceList().size() > 0) {
                        video.getResourceList().get(0).setName("PP视频");
                        //在ID前面添加native标识
                        for (VideoDetailInfo videoDetailInfo : video.getVideoDetailList()) {
                            videoDetailInfo.setExtraId("native_" + videoDetailInfo.getExtraId());
                        }
                    }
                }
            }
        }
    }
    @RequireUid
@@ -844,6 +890,10 @@
                attentionInfo.put("IsAttention", attention.isAttention());
                obj.put("Attention", attentionInfo);
            }
        //视频过滤
        filterVideo(acceptData, info);
        UserInfo user = userService.getUserInfo(acceptData.getUid());
        if (VersionUtil.isGraterThan390(acceptData.getPlatform(), acceptData.getVersion())) {
            String sessionId = createVideoDetailSessionId(acceptData, loginUid, info.getName(), videoId, resourceId);
@@ -965,7 +1015,12 @@
        DetailSystem detailSystem = systemService.getDetailSystemByPackage(acceptData.getPackageName());
        PlayUrl pu = videoDeailUtil.getPlayUrl(acceptData, detailSystem.getId(), id, type, Integer.parseInt(resourceId), videoId);
        PlayUrl pu = null;
        try {
            pu = videoDeailUtil.getPlayUrl(acceptData, detailSystem.getId(), id, type, Integer.parseInt(resourceId), videoId);
        } catch (VideoPlayException e) {
            e.printStackTrace();
        }
        if (pu != null) {
            if (!StringUtil.isNullOrEmpty(pu.getUrl()))
@@ -1019,7 +1074,7 @@
    public void isPraise(AcceptData acceptData, HttpServletRequest request, PrintWriter out) {
        DetailSystem detailSystem = systemService.getDetailSystemByPackage(acceptData.getPackageName());
        DetailSystemConfig config = configService.getConfigByKey("banner_praise", detailSystem, acceptData.getVersion());
        DetailSystemConfig config = configService.getConfigByKey("banner_praise", acceptData.getChildDetailSystem(), acceptData.getVersion());
        if ("是".equals(config.getValue())) {
            out.print(JsonUtil.loadTrueJson("1"));
        } else {
@@ -1041,7 +1096,7 @@
    public void getRecommendSearchSpecial(AcceptData acceptData, HttpServletRequest request, PrintWriter out) {
        DetailSystem detailSystem = systemService.getDetailSystemByPackage(acceptData.getPackageName());
        //推荐搜索专题
        DetailSystemConfig config = configService.getConfigByKey("recommend_search_special_position", detailSystem, acceptData.getVersion());
        DetailSystemConfig config = configService.getConfigByKey("recommend_search_special_position", acceptData.getChildDetailSystem(), acceptData.getVersion());
        if (config == null) {
            out.print(JsonUtil.loadFalseAdmin("位置为空"));
            return;