From 431c684f254ba5163cb6256739215e2099b91aaf Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 31 三月 2021 19:17:09 +0800 Subject: [PATCH] 3.9.0兼容 --- src/main/java/com/yeshi/buwan/controller/parser/HomeParser.java | 128 +++++++++++++++++++++++++++++++++++++++--- 1 files changed, 118 insertions(+), 10 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..7d5a3f8 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,30 @@ 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.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.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.tencent.TencentVideoUtil; 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.vo.video.VideoDetailVO; +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; @@ -43,6 +56,9 @@ @Controller public class HomeParser { + + private Logger logger = LoggerFactory.getLogger(HomeParser.class); + @Resource private SystemService systemService; @Resource @@ -344,9 +360,81 @@ out.print(JsonUtil.loadTrueJson(object.toString())); } + + @Resource + private InternetSearchVideoService internetSearchVideoService; + @Resource + private YouKuUtil youKuUtil; + + @Resource + private MogoTVUtil mogoTVUtil; + + @Resource + private TencentVideoUtil tencentVideoUtil; + + + public void getVideoDetailForInternetSearch(AcceptData acceptData, String videoId, HttpServletRequest request, PrintWriter out) { + String loginUid = request.getParameter("LoginUid"); + String from = request.getParameter("From"); + InternetSearchVideo internetSearchVideo = internetSearchVideoService.selectByPrimaryKey(videoId); + String resourceId = request.getParameter("ResourceId"); + if (StringUtil.isNullOrEmpty(resourceId)) { + resourceId = internetSearchVideo.getResourceIds().split(",")[0]; + } + VideoInfo info = null; + if (Integer.parseInt(resourceId) == YouKuUtil.RESOURCE_ID) { + try { + info = youKuUtil.getVideoInfo(internetSearchVideo); + + } catch (Exception e) { + logger.error("鍏ㄧ綉鎼滆棰戣鎯呭嚭閿欙細" + videoId); + e.printStackTrace(); + out.print(JsonUtil.loadFalseAdmin(e.getMessage())); + return; + } + + } else if (Integer.parseInt(resourceId) == MogoTVUtil.RESOURCE_ID) { + try { + info = mogoTVUtil.getVideoInfo(internetSearchVideo); + } catch (Exception e) { + logger.error("鍏ㄧ綉鎼滆棰戣鎯呭嚭閿欙細" + videoId); + out.print(JsonUtil.loadFalseAdmin(e.getMessage())); + return; + } + } else if (Integer.parseInt(resourceId) == TencentVideoUtil.RESOURCE_ID) { + try { + info = tencentVideoUtil.getVideoInfo(internetSearchVideo); + } catch (Exception e) { + logger.error("鍏ㄧ綉鎼滆棰戣鎯呭嚭閿欙細" + videoId); + out.print(JsonUtil.loadFalseAdmin(e.getMessage())); + return; + } + } + + LoggerUtil.getUserActiveLogger().info(UserActiveLogFactory.createVideoDetail(new BaseLog(acceptData, loginUid), videoId, info.getName(), from)); + + info.setWatchCount("" + (int) (Math.random() * 1000)); + + JSONArray array = new JSONArray(); + 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(), + obj.toString())); + } else { + 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 +507,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) { @@ -448,29 +538,41 @@ info.setCommentCount((int) count); JSONObject obj = new JSONObject(); + VideoDetailVO.AttentionInfo attention = null; if (info.getVideoDetailList() != null) if (info.getVideoDetailList().size() > 1) {// 澶氶泦,鍙叧娉� boolean isAttention = false; if (!StringUtil.isNullOrEmpty(loginUid)) { isAttention = attentionService.isAddAttention(loginUid, info.getId()); } + attention = new VideoDetailVO.AttentionInfo(); + attention.setName(info.getName()); + attention.setPicture(info.getPicture()); + if (StringUtil.isNullOrEmpty(info.getUpdatetime())) { + attention.setUpdateInfo("鏇存柊:" + TimeUtil.getCommentTime(info.getCreatetime())); + } else { + attention.setUpdateInfo("鏇存柊:" + TimeUtil.getCommentTime(Long.parseLong(info.getUpdatetime()))); + } + attention.setAttention(isAttention); + + //鍏煎鑰佺増鏈� JSONObject attentionInfo = new JSONObject(); - attentionInfo.put("Name", info.getName()); - attentionInfo.put("Picture", info.getPicture()); - if (StringUtil.isNullOrEmpty(info.getUpdatetime())) - attentionInfo.put("UpdateInfo", "鏇存柊:" + TimeUtil.getCommentTime(info.getCreatetime())); - else - attentionInfo.put("UpdateInfo", "鏇存柊:" + TimeUtil.getCommentTime(Long.parseLong(info.getUpdatetime()))); - attentionInfo.put("IsAttention", isAttention); + attentionInfo.put("Picture", attention.getPicture()); + attentionInfo.put("Name", attention.getName()); + attentionInfo.put("UpdateInfo", attention.getUpdateInfo()); + attentionInfo.put("IsAttention", attention.isAttention()); obj.put("Attention", attentionInfo); } UserInfo user = userService.getUserInfo(acceptData.getUid()); - if (Utils.isTest(request, user, detailSystem.getId())) - out.print(JsonUtil.loadTrueJson("")); - else + 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(), + obj.toString())); + } else { out.print(JsonUtil.loadTrueJson(StringUtil.outPutResultJson(Utils.convertVideo(info)), array.toString(), obj.toString())); + } } + /** * 鑾峰彇瑙嗛鐨勫墽闆嗗垪琛� @@ -527,6 +629,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