From f7b2baec57a19039ca85880bbba4e17fe27f0511 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 10 三月 2021 18:21:13 +0800 Subject: [PATCH] 删除冗余代码,初步优化首页的推荐专题,3.8.7之后在我的里面添加VIP分类 --- src/main/java/com/yeshi/buwan/controller/parser/UserParser.java | 284 +++++++++++++++++++++++++++----------------------------- 1 files changed, 138 insertions(+), 146 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..1f3fd7e 100644 --- a/src/main/java/com/yeshi/buwan/controller/parser/UserParser.java +++ b/src/main/java/com/yeshi/buwan/controller/parser/UserParser.java @@ -2,8 +2,13 @@ import com.yeshi.buwan.domain.*; import com.yeshi.buwan.domain.Collection; +import com.yeshi.buwan.domain.system.DetailSystem; +import com.yeshi.buwan.domain.user.LoginUser; +import com.yeshi.buwan.dto.user.LoginInfoDto; +import com.yeshi.buwan.exception.user.LoginUserException; +import com.yeshi.buwan.exception.user.RegisterUserException; import com.yeshi.buwan.service.imp.*; -import com.yeshi.buwan.service.manager.SolrAlbumDataManager; +import com.yeshi.buwan.service.manager.SolrAlbumVideoDataManager; import com.yeshi.buwan.util.*; import com.yeshi.buwan.util.JuHe.VideoResourceUtil; import com.yeshi.buwan.util.annotation.RequireUid; @@ -11,12 +16,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.*; @@ -26,7 +33,7 @@ @Resource private SystemService systemService; @Resource - private ConfigService configService; + private DetailSystemConfigService configService; @Resource private UserService userService; @Resource @@ -45,9 +52,10 @@ private BanQuanService banQuanService; @Resource private VideoInfoService videoInfoService; - @Resource - private SolrAlbumDataManager solrDataManager; + private SolrAlbumVideoDataManager solrDataManager; + @Resource + private ConfigParser configParser; public void getUid(AcceptData acceptData, HttpServletRequest request, PrintWriter out) { DetailSystem detailSystem = systemService.getDetailSystemByPackage(acceptData.getPackageName()); @@ -64,7 +72,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 +93,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 +149,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 +180,7 @@ if (acceptData.getPlatform().equalsIgnoreCase("ios")) { if (Constant.IOSTest) { if (acceptData.getVersion() == 1) { - list = new ArrayList<String>(); + list = new ArrayList<>(); } } } @@ -176,7 +199,7 @@ private List<VideoDetailInfo> createSearchVideoDetailsVO(VideoInfo video) { List<VideoDetailInfo> detailList = new ArrayList<>(); if (video.getVideoType() != null && (Integer.parseInt(video.getVideoType().getId() + "") == VideoCategoryConstant.CATEGORY_DIANSHIJU || Integer.parseInt(video.getVideoType().getId() + "") == VideoCategoryConstant.CATEGORY_DONGMAN)) { - if (video.getVideocount() <= 5) { + if (video.getVideocount()!=null&& video.getVideocount() <= 5) { for (int i = 0; i < video.getVideocount(); i++) { VideoDetailInfo detail = new VideoDetailInfo(); detail.setTag((i + 1) + ""); @@ -241,7 +264,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 +334,6 @@ // 鎼滅储 public void searchNew(AcceptData acceptData, HttpServletRequest request, PrintWriter out) { - - //type: 0-鍏ㄩ儴 1- String key = request.getParameter("Key"); String type = request.getParameter("Type"); @@ -328,110 +349,82 @@ return; } - int pageIndex = StringUtil.getPage(page); if (pageIndex <= 0) { pageIndex = 1; } - DetailSystem detailSystem = systemService.getDetailSystemByPackage(acceptData.getPackageName()); - UserInfo user1 = userService.getUserInfo(acceptData.getUid()); - if (Utils.isTest(request, user1, detailSystem.getId())) { - detailSystem = systemService.getDetailSystemById(40 + ""); - JSONObject object = new JSONObject(); - object.put("count", 0); - JSONArray array = new JSONArray(); - object.put("data", array); - out.print(JsonUtil.loadTrueJson(object.toString())); - } else { - List<Long> resourceList = videoResouceUtil.getAvailableResourceIds(acceptData.getPlatform(), acceptData.getVersion()); - String cacheMD5 = "0"; - if (resourceList != null && resourceList.size() > 0) - for (Long l : resourceList) - cacheMD5 += "#" + l; - cacheMD5 = StringUtil.Md5(cacheMD5); + List<Long> resourceList = videoResouceUtil.getAvailableResourceIds(acceptData.getDetailSystem(), 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(), - acceptData.getUid(), key, pageIndex, Integer.parseInt(type), - acceptData.getSystem(), resourceList, cacheMD5); - //缁勭粐鏁版嵁 - for (VideoInfo video : list) { - //濡傛灉鏄鐗囷紝涓斾负5澶у垎绫� 灏遍噰鐢ㄧ珫鏉″睍绀� - if (video.getShowType() == 1) { - video.setVideoDetailList(createSearchVideoDetailsVO(video)); - } + VideoListResultVO videoListResultVO = searchService.searchNew(acceptData.getDetailSystem().getId(), request.getRemoteAddr(), + acceptData.getUid(), key, pageIndex, Integer.parseInt(type), + acceptData.getSystem(), resourceList, cacheMD5); + //缁勭粐鏁版嵁 + for (VideoInfo video : videoListResultVO.getVideoList()) { + //濡傛灉鏄鐗囷紝涓斾负5澶у垎绫� 灏遍噰鐢ㄧ珫鏉″睍绀� + if (video.getShowType() == 1) { + video.setVideoDetailList(createSearchVideoDetailsVO(video)); } - cacheMD5 = "0"; - if (list != null) { - for (VideoInfo info : list) { - cacheMD5 += info.getId() + "#"; - } - } - list = banQuanService.getBanQuanVideo(list, detailSystem.getId(), cacheMD5); - - JSONObject object = new JSONObject(); - object.put("count", Constant.isUpdate ? 19 + "" : list.size()); - JSONArray array = new JSONArray(); - for (int i = 0; i < list.size(); i++) { - if (JuheVideoUtil.isNeedDelete((VideoInfo) list.get(i), detailSystem.getId())) { - 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)) - .setPicture(VideoPictureUtil.getShowPicture((VideoInfo) list.get(i), acceptData.getPlatform(), acceptData.getVersion() + "")); - array.add(StringUtil.outPutResultJson(list.get(i))); - } - object.put("data", array); - if (pageIndex == 1) {//杩斿洖瀵艰埅鏍� - List<VideoType> typeList = new ArrayList<>(); - VideoType vt = new VideoType(); - vt.setId(0); - vt.setName("鍏ㄩ儴"); - typeList.add(vt); - Set<Long> set = new HashSet<>(); - for (VideoInfo videoInfo : list) { - if (videoInfo.getShowType() == 1 && videoInfo.getVideoType() != null) - set.add(videoInfo.getVideoType().getId()); - } - - for (Iterator<Long> its = set.iterator(); its.hasNext(); ) { - Long typeId = its.next(); - String typeName = VideoConstant.getMainCategoryName(typeId); - if (!StringUtil.isNullOrEmpty(typeName)) { - vt = new VideoType(); - vt.setId(typeId); - vt.setName(typeName); - typeList.add(vt); - } - } - JSONArray array1 = new JSONArray(); - for (VideoType vt1 : typeList) - array1.add(StringUtil.outPutResultJson(vt1)); - object.put("typeList", array1); - } - - out.print(JsonUtil.loadTrueJson(object.toString())); } + cacheMD5 = "0"; + if (videoListResultVO.getVideoList() != null) { + for (VideoInfo info : videoListResultVO.getVideoList()) { + cacheMD5 += info.getId() + "#"; + } + } + List<VideoInfo> list = banQuanService.getBanQuanVideo(videoListResultVO.getVideoList(), acceptData.getDetailSystem().getId(), cacheMD5); + + JSONObject object = new JSONObject(); + 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), acceptData.getDetailSystem().getId())) { + list.remove(i); + i--; + } + } + + for (int i = 0; i < list.size(); i++) { + ((VideoInfo) list.get(i)) + .setPicture(VideoPictureUtil.getShowPicture((VideoInfo) list.get(i), acceptData.getPlatform(), acceptData.getVersion() + "")); + array.add(StringUtil.outPutResultJson(list.get(i))); + } + object.put("data", array); + if (pageIndex == 1) {//杩斿洖瀵艰埅鏍� + List<VideoType> typeList = new ArrayList<>(); + VideoType vt = new VideoType(); + vt.setId(0); + vt.setName("鍏ㄩ儴"); + typeList.add(vt); + Set<Long> set = new HashSet<>(); + for (VideoInfo videoInfo : list) { + if (videoInfo.getShowType() == 1 && videoInfo.getVideoType() != null) + set.add(videoInfo.getVideoType().getId()); + } + + for (Iterator<Long> its = set.iterator(); its.hasNext(); ) { + Long typeId = its.next(); + String typeName = VideoConstant.getMainCategoryName(typeId); + if (!StringUtil.isNullOrEmpty(typeName)) { + vt = new VideoType(); + vt.setId(typeId); + vt.setName(typeName); + typeList.add(vt); + } + } + JSONArray array1 = new JSONArray(); + for (VideoType vt1 : typeList) + array1.add(StringUtil.outPutResultJson(vt1)); + object.put("typeList", array1); + } + + out.print(JsonUtil.loadTrueJson(object.toString())); + } @@ -442,7 +435,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 +445,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 +617,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 +656,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 +665,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 +699,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)) { @@ -738,24 +732,22 @@ if (StringUtil.isNullOrEmpty(nickName)) nickName = "鏃犲悕姘�"; - DetailSystem ds = systemService.getDetailSystemByPackage(acceptData.getPackageName()); - // 娉ㄥ唽 --鐢ㄦ埛鍚�,鏄电О,瀵嗙爜 - LoginUser user = new LoginUser(); - user.setCreatetime(System.currentTimeMillis() + ""); - user.setDetailsystem(ds.getId()); - user.setDevice(acceptData.getDevice()); - user.setLoginType(3); - user.setName(nickName); - user.setOpenid(account); - user.setPwd(StringUtil.Md5(pwd)); - user.setPortrait(savePortrait(request)); - user.setIpinfo(ip + ":" + port); - String result = userService.registerByEmail(user); - if (result.contains("鎴愬姛")) + LoginInfoDto loginInfoDto = new LoginInfoDto(); + loginInfoDto.setEmail(account); + loginInfoDto.setSystemId(acceptData.getDetailSystem().getSystem().getId()); + loginInfoDto.setLoginType(LoginUser.LOGIN_TYPE_EMAIL); + loginInfoDto.setPwd(StringUtil.Md5(pwd)); + loginInfoDto.setIpInfo(ip + ":" + port); + loginInfoDto.setNickName(nickName); + + + try { + userService.register(loginInfoDto); out.print(JsonUtil.loadTrueJson("娉ㄥ唽鎴愬姛")); - else - out.print(JsonUtil.loadFalseJson(result)); + } catch (RegisterUserException e) { + out.print(JsonUtil.loadFalseJson(e.getMessage())); + } } /** @@ -812,17 +804,17 @@ // systemService.getDetailSystemByPackage(packageName); // 娉ㄥ唽 --鐢ㄦ埛鍚�,鏄电О,瀵嗙爜 - LoginUser user = new LoginUser(); - user.setDevice(acceptData.getDevice()); - user.setLoginType(3); - user.setOpenid(account); - user.setPwd(StringUtil.Md5(pwd)); - user.setPortrait("http://buwan-1255749512.file.myqcloud.com/resource/ic_portrait_default.png"); - user = userService.loginByEmail(user); - if (user == null || user.getState() != LoginUser.STATE_NORMAL) - out.print(JsonUtil.loadFalseJson("璐﹀彿鎴栧瘑鐮侀敊璇�")); - else + LoginInfoDto loginInfoDto = new LoginInfoDto(); + loginInfoDto.setLoginType(LoginUser.LOGIN_TYPE_EMAIL); + loginInfoDto.setSystemId(acceptData.getDetailSystem().getSystem().getId()); + loginInfoDto.setEmail(account); + loginInfoDto.setPwd(StringUtil.Md5(pwd)); + try { + LoginUser user = userService.login(loginInfoDto); out.print(JsonUtil.loadTrueJson(StringUtil.outPutResultJson(user))); + } catch (LoginUserException e) { + out.print(JsonUtil.loadFalseJson(e.getMessage())); + } } /** @@ -837,6 +829,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 +840,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 +904,7 @@ } if (!verifyCode.equalsIgnoreCase(request.getSession().getAttribute(email) + "")) { - out.print(JsonUtil.loadTrueJson("楠岃瘉鐮侀敊璇�")); + out.print(JsonUtil.loadFalseJson("楠岃瘉鐮侀敊璇�")); return; } @@ -957,16 +950,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