From 4ebe7c447e964e1b3ead12abb1d95b75faf67426 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期六, 27 二月 2021 15:22:46 +0800 Subject: [PATCH] PPTV完善,兼容多个系统的框架搭建 --- src/main/java/com/yeshi/buwan/controller/parser/UserParser.java | 109 +++++++++++++++++++++++++++++++----------------------- 1 files changed, 63 insertions(+), 46 deletions(-) diff --git a/src/main/java/com/yeshi/buwan/controller/parser/UserParser.java b/src/main/java/com/yeshi/buwan/controller/parser/UserParser.java index 7a6b741..04bc3da 100644 --- a/src/main/java/com/yeshi/buwan/controller/parser/UserParser.java +++ b/src/main/java/com/yeshi/buwan/controller/parser/UserParser.java @@ -2,6 +2,7 @@ import com.yeshi.buwan.domain.*; import com.yeshi.buwan.domain.Collection; +import com.yeshi.buwan.domain.user.LoginUser; import com.yeshi.buwan.service.imp.*; import com.yeshi.buwan.service.manager.SolrAlbumDataManager; import com.yeshi.buwan.util.*; @@ -11,12 +12,14 @@ import com.yeshi.buwan.util.video.VideoCategoryConstant; import com.yeshi.buwan.util.video.VideoConstant; import com.yeshi.buwan.vo.AcceptData; +import com.yeshi.buwan.vo.video.VideoListResultVO; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import org.springframework.stereotype.Controller; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpSession; import java.io.File; import java.io.PrintWriter; import java.util.*; @@ -45,9 +48,10 @@ private BanQuanService banQuanService; @Resource private VideoInfoService videoInfoService; - @Resource private SolrAlbumDataManager solrDataManager; + @Resource + private ConfigParser configParser; public void getUid(AcceptData acceptData, HttpServletRequest request, PrintWriter out) { DetailSystem detailSystem = systemService.getDetailSystemByPackage(acceptData.getPackageName()); @@ -64,7 +68,7 @@ object.put("Uid", uid); object.put("Portrait", userInfo.getPortrait()); object.put("Nickname", userInfo.getNickname()); - object.put("TopIcon", map.get("top_icon")); + object.put("ZiXun", map.get("zixun_url")); if (acceptData.getPlatform().equalsIgnoreCase("ios") && !"涓浗".equalsIgnoreCase(userInfo.getCountry()))// 姝e湪瀹℃牳鐨勭増鏈� object.put("CommentUrl", ""); @@ -85,7 +89,14 @@ object.put("WXShareIcon", map.get("wx_share_icon")); object.put("WXShareUrl", map.get("wx_share_url")); object.put("WXShareContent", map.get("wx_share_content")); - object.put("TuiGuang", map.get("taobao_tuiguang")); + + if ("qq".equalsIgnoreCase(acceptData.getChannel())) { + object.put("TopIcon", ""); + object.put("TuiGuang", ""); + } else { + object.put("TuiGuang", map.get("taobao_tuiguang")); + object.put("TopIcon", map.get("top_icon")); + } object.put("SOHU_partner", detailSystem.getSohuPartner()); object.put("SOHU_key", detailSystem.getSohuKey()); @@ -134,7 +145,15 @@ fullVideoVersion = json.optInt(acceptData.getChannel().toLowerCase(), 0); } - if (acceptData.getVersion() >= fullVideoVersion) {// 鏄惁灞忚斀璇︽儏椤靛叏灞忓箍鍛� + + ConfigParser.ADConfig adConfig = configParser.getAdShowType("ad_video_detail_full_video", acceptData.getChannel(), acceptData.getVersion(), map); + String type = adConfig == null ? "" : adConfig.getType(); + + if (!StringUtil.isNullOrEmpty(type)) {// 鏄惁灞忚斀璇︽儏椤靛叏灞忓箍鍛� + JSONObject adType = JSONObject.fromObject(map.get("ad_type")); + adType.put("videoDetailSplashAd", true); + object.put("adType", adType.toString()); + } else { JSONObject adType = JSONObject.fromObject(map.get("ad_type")); adType.put("videoDetailSplashAd", false); object.put("adType", adType.toString()); @@ -157,7 +176,7 @@ if (acceptData.getPlatform().equalsIgnoreCase("ios")) { if (Constant.IOSTest) { if (acceptData.getVersion() == 1) { - list = new ArrayList<String>(); + list = new ArrayList<>(); } } } @@ -241,7 +260,7 @@ object.put("data", array); out.print(JsonUtil.loadTrueJson(object.toString())); } else { - List<Long> resourceList = videoResouceUtil.getAvailableResourceIds(acceptData.getPlatform(), acceptData.getVersion()); + List<Long> resourceList = videoResouceUtil.getAvailableResourceIds(detailSystem, acceptData.getVersion()); String cacheMD5 = "0"; if (resourceList != null && resourceList.size() > 0) for (Long l : resourceList) @@ -311,8 +330,6 @@ // 鎼滅储 public void searchNew(AcceptData acceptData, HttpServletRequest request, PrintWriter out) { - - //type: 0-鍏ㄩ儴 1- String key = request.getParameter("Key"); String type = request.getParameter("Type"); @@ -327,7 +344,6 @@ out.print(JsonUtil.loadFalseJson("璇蜂笂浼燭ype")); return; } - int pageIndex = StringUtil.getPage(page); if (pageIndex <= 0) { @@ -344,33 +360,33 @@ object.put("data", array); out.print(JsonUtil.loadTrueJson(object.toString())); } else { - List<Long> resourceList = videoResouceUtil.getAvailableResourceIds(acceptData.getPlatform(), acceptData.getVersion()); + List<Long> resourceList = videoResouceUtil.getAvailableResourceIds(detailSystem, acceptData.getVersion()); String cacheMD5 = "0"; if (resourceList != null && resourceList.size() > 0) for (Long l : resourceList) cacheMD5 += "#" + l; cacheMD5 = StringUtil.Md5(cacheMD5); - List<VideoInfo> list = searchService.searchNew(detailSystem.getId(), request.getRemoteAddr(), + VideoListResultVO videoListResultVO = searchService.searchNew(detailSystem.getId(), request.getRemoteAddr(), acceptData.getUid(), key, pageIndex, Integer.parseInt(type), acceptData.getSystem(), resourceList, cacheMD5); //缁勭粐鏁版嵁 - for (VideoInfo video : list) { + for (VideoInfo video : videoListResultVO.getVideoList()) { //濡傛灉鏄鐗囷紝涓斾负5澶у垎绫� 灏遍噰鐢ㄧ珫鏉″睍绀� if (video.getShowType() == 1) { video.setVideoDetailList(createSearchVideoDetailsVO(video)); } } cacheMD5 = "0"; - if (list != null) { - for (VideoInfo info : list) { + if (videoListResultVO.getVideoList() != null) { + for (VideoInfo info : videoListResultVO.getVideoList()) { cacheMD5 += info.getId() + "#"; } } - list = banQuanService.getBanQuanVideo(list, detailSystem.getId(), cacheMD5); + List<VideoInfo> list = banQuanService.getBanQuanVideo(videoListResultVO.getVideoList(), detailSystem.getId(), cacheMD5); JSONObject object = new JSONObject(); - object.put("count", Constant.isUpdate ? 19 + "" : list.size()); + object.put("count", Constant.isUpdate ? 19 + "" : videoListResultVO.getCount()); JSONArray array = new JSONArray(); for (int i = 0; i < list.size(); i++) { if (JuheVideoUtil.isNeedDelete((VideoInfo) list.get(i), detailSystem.getId())) { @@ -378,23 +394,23 @@ i--; } } - - List<String> keyList = banQuanService.getBanQuanKeyListAll(Integer.parseInt(detailSystem.getId())); - for (int i = 0; i < list.size(); i++) { - - boolean delete = false; - for (int j = 0; j < keyList.size(); j++) { - if (list.get(i).getName().contains(keyList.get(j))) { - delete = true; - break; - } - } - if (delete) { - list.remove(i); - i--; - } - - } +// +// List<String> keyList = banQuanService.getBanQuanKeyListAll(Integer.parseInt(detailSystem.getId())); +// for (int i = 0; i < list.size(); i++) { +// +// boolean delete = false; +// for (int j = 0; j < keyList.size(); j++) { +// if (list.get(i).getName().contains(keyList.get(j))) { +// delete = true; +// break; +// } +// } +// if (delete) { +// list.remove(i); +// i--; +// } +// +// } for (int i = 0; i < list.size(); i++) { ((VideoInfo) list.get(i)) @@ -442,7 +458,7 @@ DetailSystem ds = systemService.getDetailSystemByPackage(acceptData.getPackageName()); - List<Long> resourceList = videoResouceUtil.getAvailableResourceIds(acceptData.getPlatform(), acceptData.getVersion()); + List<Long> resourceList = videoResouceUtil.getAvailableResourceIds(acceptData.getDetailSystem(), acceptData.getVersion()); List<VideoInfo> list1 = StringUtil.isNullOrEmpty(videoId) ? recommendService.guessLikeList(ds.getId(), 4, resourceList, CacheUtil.getMD5Long(resourceList)) : recommendService.guessLikeList(ds.getId(), 4, videoId, resourceList, @@ -452,7 +468,7 @@ list1 = videoInfoService.simpleRandomVideoList(4); } - List<VideoInfo> list = new ArrayList<VideoInfo>(); + List<VideoInfo> list = new ArrayList<>(); list.addAll(list1); if ("android".equalsIgnoreCase(acceptData.getPlatform()) && acceptData.getVersion() < 35) { @@ -624,7 +640,7 @@ return; } - List<Long> resourceList = videoResouceUtil.getAvailableResourceIds(acceptData.getPlatform(), acceptData.getVersion()); + List<Long> resourceList = videoResouceUtil.getAvailableResourceIds(acceptData.getDetailSystem(), acceptData.getVersion()); DetailSystem ds = systemService.getDetailSystemByPackage(acceptData.getPackageName()); List<VideoInfo> list = recommendService.getRelativeVideoList(ds.getId(), 4, videoId, resourceList, @@ -663,7 +679,7 @@ return; } - List<Long> resourceList = videoResouceUtil.getAvailableResourceIds(acceptData.getPlatform(), acceptData.getVersion()); + List<Long> resourceList = videoResouceUtil.getAvailableResourceIds(acceptData.getDetailSystem(), acceptData.getVersion()); DetailSystem ds = systemService.getDetailSystemByPackage(acceptData.getPackageName()); List<VideoInfo> list1 = recommendService.peopleSee(ds.getId(), 4, videoId, resourceList, @@ -672,7 +688,7 @@ list1 = videoInfoService.simpleRandomVideoList(4); } - List<VideoInfo> list = new ArrayList<VideoInfo>(); + List<VideoInfo> list = new ArrayList<>(); list.addAll(list1); if ("android".equalsIgnoreCase(acceptData.getPlatform()) && acceptData.getVersion() < 35) { @@ -706,6 +722,7 @@ String pwd = request.getParameter("Pwd");// 瀵嗙爜 String nickName = request.getParameter("NickName");// 鏄电О String code = request.getParameter("VerifyCode");// 楠岃瘉鐮� + String portrait = request.getParameter("Portrait");// 楠岃瘉鐮� if (StringUtil.isNullOrEmpty(account)) { @@ -748,7 +765,7 @@ user.setName(nickName); user.setOpenid(account); user.setPwd(StringUtil.Md5(pwd)); - user.setPortrait(savePortrait(request)); + user.setPortrait(savePortrait(portrait, request.getSession())); user.setIpinfo(ip + ":" + port); String result = userService.registerByEmail(user); @@ -837,6 +854,7 @@ String birthDay = request.getParameter("BirthDay");// 鐢熸棩 String personalSign = request.getParameter("PersonalSign");// 涓�х鍚� String loginUid = request.getParameter("LoginUid");// 涓�х鍚� + String portrait = request.getParameter("Portrait"); if (StringUtil.isNullOrEmpty(loginUid)) { out.print(JsonUtil.loadFalseJson("璇蜂笂浼燣oginUid")); return; @@ -847,7 +865,7 @@ if (user != null) { if (!StringUtil.isNullOrEmpty(nickName)) user.setName(nickName); - String potrait = savePortrait(request); + String potrait = savePortrait(portrait, request.getSession()); if (!StringUtil.isNullOrEmpty(potrait)) user.setPortrait(potrait); if (!StringUtil.isNullOrEmpty(sex)) @@ -911,7 +929,7 @@ } if (!verifyCode.equalsIgnoreCase(request.getSession().getAttribute(email) + "")) { - out.print(JsonUtil.loadTrueJson("楠岃瘉鐮侀敊璇�")); + out.print(JsonUtil.loadFalseJson("楠岃瘉鐮侀敊璇�")); return; } @@ -957,16 +975,15 @@ } - private String savePortrait(HttpServletRequest request) { - String base64 = request.getParameter("Portrait"); + public static String savePortrait(String base64, HttpSession session) { if (StringUtil.isNullOrEmpty(base64)) return ""; String fileName = "portrait_" + System.currentTimeMillis() + ".jpg"; // 瀹氫箟涓婁紶璺緞 - String path = request.getSession().getServletContext().getRealPath("upload") + "/" + fileName; - if (!new File(request.getSession().getServletContext().getRealPath("upload") + "/").exists()) - new File(request.getSession().getServletContext().getRealPath("upload") + "/").mkdirs(); + String path = session.getServletContext().getRealPath("upload") + "/" + fileName; + if (!new File(session.getServletContext().getRealPath("upload") + "/").exists()) + new File(session.getServletContext().getRealPath("upload") + "/").mkdirs(); boolean isS = StringUtil.generateImageFromBase64(base64, path); if (!isS) return ""; -- Gitblit v1.8.0