| | |
| | | |
| | | import com.yeshi.buwan.domain.*; |
| | | import com.yeshi.buwan.domain.Collection; |
| | | 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.util.*; |
| | |
| | | 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.*; |
| | |
| | | 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()); |
| | |
| | | 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()))// 正在审核的版本 |
| | | object.put("CommentUrl", ""); |
| | |
| | | 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()); |
| | | |
| | |
| | | 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()); |
| | |
| | | if (acceptData.getPlatform().equalsIgnoreCase("ios")) { |
| | | if (Constant.IOSTest) { |
| | | if (acceptData.getVersion() == 1) { |
| | | list = new ArrayList<String>(); |
| | | list = new ArrayList<>(); |
| | | } |
| | | } |
| | | } |
| | |
| | | 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) |
| | |
| | | |
| | | // 搜索 |
| | | public void searchNew(AcceptData acceptData, HttpServletRequest request, PrintWriter out) { |
| | | |
| | | |
| | | //type: 0-全部 1- |
| | | String key = request.getParameter("Key"); |
| | | String type = request.getParameter("Type"); |
| | |
| | | out.print(JsonUtil.loadFalseJson("请上传Type")); |
| | | return; |
| | | } |
| | | |
| | | |
| | | int pageIndex = StringUtil.getPage(page); |
| | | if (pageIndex <= 0) { |
| | |
| | | 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())) { |
| | |
| | | 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)) |
| | |
| | | |
| | | 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, |
| | |
| | | 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) { |
| | |
| | | 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, |
| | |
| | | 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, |
| | |
| | | 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) { |
| | |
| | | String pwd = request.getParameter("Pwd");// 密码 |
| | | String nickName = request.getParameter("NickName");// 昵称 |
| | | String code = request.getParameter("VerifyCode");// 验证码 |
| | | String portrait = request.getParameter("Portrait");// 验证码 |
| | | |
| | | |
| | | if (StringUtil.isNullOrEmpty(account)) { |
| | |
| | | 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())); |
| | | } |
| | | } |
| | | |
| | | /** |
| | |
| | | // 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())); |
| | | } |
| | | } |
| | | |
| | | /** |
| | |
| | | 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("请上传LoginUid")); |
| | | return; |
| | |
| | | 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)) |
| | |
| | | } |
| | | |
| | | if (!verifyCode.equalsIgnoreCase(request.getSession().getAttribute(email) + "")) { |
| | | out.print(JsonUtil.loadTrueJson("验证码错误")); |
| | | out.print(JsonUtil.loadFalseJson("验证码错误")); |
| | | return; |
| | | } |
| | | |
| | |
| | | |
| | | } |
| | | |
| | | 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 ""; |