From 998b6bd2a1dc25ec8350f5a691c3cd44a23d6d14 Mon Sep 17 00:00:00 2001 From: admin <2780501319@qq.com> Date: 星期五, 26 三月 2021 01:35:13 +0800 Subject: [PATCH] 全网搜(芒果兼容) --- src/main/java/com/yeshi/buwan/controller/parser/HomeParser.java | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 54 insertions(+), 0 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 8fe2cee..42227ec 100644 --- a/src/main/java/com/yeshi/buwan/controller/parser/HomeParser.java +++ b/src/main/java/com/yeshi/buwan/controller/parser/HomeParser.java @@ -15,17 +15,27 @@ 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.InternetSearchVideo; import com.yeshi.buwan.domain.video.VideoWatchHistory; +import com.yeshi.buwan.dto.log.BaseLog; 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.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.util.*; import com.yeshi.buwan.util.annotation.RequireUid; +import com.yeshi.buwan.util.factory.VideoInfoFactory; +import com.yeshi.buwan.util.log.LoggerUtil; +import com.yeshi.buwan.util.log.UserActiveLogFactory; import com.yeshi.buwan.util.log.VideoLogFactory; import com.yeshi.buwan.vo.AcceptData; +import com.yeshi.buwan.youku.YouKuUtil; +import com.yeshi.buwan.youku.entity.YouKuSearchVideoMap; +import com.yeshi.buwan.youku.entity.YouKuShowDetail; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpException; import org.apache.commons.httpclient.methods.GetMethod; @@ -344,9 +354,44 @@ out.print(JsonUtil.loadTrueJson(object.toString())); } + + @Resource + private InternetSearchVideoService internetSearchVideoService; + @Resource + private YouKuUtil youKuUtil; + + + public void getVideoDetailForInternetSearch(AcceptData acceptData, String videoId, HttpServletRequest request, PrintWriter out) { + InternetSearchVideo internetSearchVideo = internetSearchVideoService.selectByPrimaryKey(videoId); + String resourceId = request.getParameter("ResourceId"); + if (StringUtil.isNullOrEmpty(resourceId)) { + resourceId = internetSearchVideo.getResourceIds().split(",")[0]; + } + + if (Integer.parseInt(resourceId) == YouKuUtil.RESOURCE_ID) { + VideoInfo info = null; + try { + info = youKuUtil.getVideoInfo(internetSearchVideo); + } catch (Exception e) { + out.print(JsonUtil.loadFalseAdmin(e.getMessage())); + return; + } + + JSONArray array = new JSONArray(); + JSONObject obj = new JSONObject(); + out.print(JsonUtil.loadTrueJson(StringUtil.outPutResultJson(Utils.convertVideo(info)), array.toString(), + obj.toString())); + } + } + @RequireUid public void getVideoDetail(AcceptData acceptData, HttpServletRequest request, PrintWriter out) { String videoId = request.getParameter("VideoId"); + if (!NumberUtil.isNumeric(videoId)) { + getVideoDetailForInternetSearch(acceptData, videoId, request, out); + return; + } + String resourceId = request.getParameter("ResourceId"); String thirdType = request.getParameter("Type"); String loginUid = request.getParameter("LoginUid"); @@ -419,12 +464,14 @@ data.put("name", series.getName()); data.put("pptv", true); out.print(JsonUtil.loadTrueJson(data.toString())); + LoggerUtil.getUserActiveLogger().info(UserActiveLogFactory.createVideoDetail(new BaseLog(acceptData, loginUid), videoId, series.getName(), from)); return; } VideoInfo info = videoDeailUtil.getVideoInfo(detailSystem.getId(), videoId, resourceId, resourceList, CacheUtil.getMD5Long(resourceList)); + LoggerUtil.getUserActiveLogger().info(UserActiveLogFactory.createVideoDetail(new BaseLog(acceptData, loginUid), videoId, info != null ? info.getName() : "", from)); List<VideoType> typeList = classService.getVideoTypeList(info.getId()); if (typeList != null && typeList.size() > 0) { @@ -471,6 +518,7 @@ out.print(JsonUtil.loadTrueJson(StringUtil.outPutResultJson(Utils.convertVideo(info)), array.toString(), obj.toString())); } + /** * 鑾峰彇瑙嗛鐨勫墽闆嗗垪琛� @@ -527,6 +575,12 @@ return; } + if (!NumberUtil.isNumeric(detailId)) { + out.print(JsonUtil.loadFalseJson("")); + return; + } + + boolean collect = collectionService.isCollect(acceptData.getUid(), detailId, thirdType); if (collect) out.print(JsonUtil.loadTrueJson("")); -- Gitblit v1.8.0