| | |
| | | package com.yeshi.buwan.controller.parser; |
| | | |
| | | import com.google.gson.Gson; |
| | | import com.google.gson.reflect.TypeToken; |
| | | import com.yeshi.buwan.domain.*; |
| | | import com.yeshi.buwan.domain.Collection; |
| | | import com.yeshi.buwan.domain.solr.SolrAlbumVideo; |
| | | import com.yeshi.buwan.domain.system.DetailSystem; |
| | | import com.yeshi.buwan.domain.system.DetailSystemConfig; |
| | | import com.yeshi.buwan.domain.user.LoginUser; |
| | | import com.yeshi.buwan.domain.video.InternetSearchVideo; |
| | | import com.yeshi.buwan.dto.log.BaseLog; |
| | |
| | | import com.yeshi.buwan.pptv.PPTVUtil; |
| | | import com.yeshi.buwan.service.imp.*; |
| | | import com.yeshi.buwan.service.inter.juhe.InternetSearchVideoService; |
| | | import com.yeshi.buwan.service.manager.SolrAlbumVideoDataManager; |
| | | import com.yeshi.buwan.service.manager.SolrInternetSearchVideoDataManager; |
| | | import com.yeshi.buwan.service.inter.system.SystemConfigService; |
| | | import com.yeshi.buwan.service.manager.search.SolrAlbumVideoDataManager; |
| | | import com.yeshi.buwan.service.manager.search.SolrInternetSearchVideoDataManager; |
| | | import com.yeshi.buwan.util.*; |
| | | import com.yeshi.buwan.util.JuHe.VideoResourceUtil; |
| | | import com.yeshi.buwan.util.annotation.RequireUid; |
| | |
| | | import com.yeshi.buwan.vo.video.VideoListResultVO; |
| | | import net.sf.json.JSONArray; |
| | | import net.sf.json.JSONObject; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import org.springframework.stereotype.Controller; |
| | | |
| | | import javax.annotation.Resource; |
| | |
| | | import javax.servlet.http.HttpSession; |
| | | import java.io.File; |
| | | import java.io.PrintWriter; |
| | | import java.lang.reflect.Type; |
| | | import java.util.*; |
| | | |
| | | @Controller |
| | |
| | | private SolrInternetSearchVideoDataManager solrInternetSearchVideoDataManager; |
| | | @Resource |
| | | private ConfigParser configParser; |
| | | @Resource |
| | | private SystemConfigService systemConfigService; |
| | | |
| | | public void getUid(AcceptData acceptData, HttpServletRequest request, PrintWriter out) { |
| | | DetailSystem detailSystem = systemService.getDetailSystemByPackage(acceptData.getPackageName()); |
| | |
| | | object.put("ZiXun", map.get("zixun_url")); |
| | | if (acceptData.getPlatform().equalsIgnoreCase("ios") && !"中国".equalsIgnoreCase(userInfo.getCountry()))// 正在审核的版本 |
| | | object.put("CommentUrl", ""); |
| | | else |
| | | else if (share != null) |
| | | object.put("CommentUrl", share.getShareUrl()); |
| | | object.put("IOSSlotID", ""); |
| | | |
| | |
| | | // 广告类型 |
| | | object.put("adType", map.get("ad_type")); |
| | | |
| | | int fullVideoVersion = Integer.parseInt(map.get("video_detail_full_video_version")); |
| | | String fullVideoVersionChannels = map.get("video_detail_full_video_version_channel"); |
| | | JSONObject json = JSONObject.fromObject(fullVideoVersionChannels); |
| | | if (json.optInt(acceptData.getChannel().toLowerCase(), 0) > 0) { |
| | | fullVideoVersion = json.optInt(acceptData.getChannel().toLowerCase(), 0); |
| | | } |
| | | // String fullVideoVersionChannels = map.get("video_detail_full_video_version_channel"); |
| | | // JSONObject json = JSONObject.fromObject(fullVideoVersionChannels); |
| | | // if (json.optInt(acceptData.getChannel().toLowerCase(), 0) > 0) { |
| | | // } |
| | | |
| | | |
| | | ConfigParser.ADConfig adConfig = configParser.getAdShowType("ad_video_detail_full_video", acceptData.getChannel(), acceptData.getVersion(), map); |
| | |
| | | } |
| | | } |
| | | } |
| | | if (list == null || list.size() < 3) { |
| | | List<String> list1 = solrInternetSearchVideoDataManager.getSuggestKeyList(key); |
| | | if (list1 != null) { |
| | | list.addAll(list1); |
| | | } |
| | | List<String> list1 = solrInternetSearchVideoDataManager.getSuggestKeyList(key); |
| | | if (list1 != null) { |
| | | list.addAll(list1); |
| | | } |
| | | |
| | | Set<String> set = new HashSet<>(); |
| | | |
| | | if (list != null) { |
| | | for (String st : list) { |
| | | set.add(st); |
| | | } |
| | | list.clear(); |
| | | list.addAll(set); |
| | | } |
| | | |
| | | //按关键词的匹配度排序 |
| | | Comparator<String> cm = new Comparator<String>() { |
| | | @Override |
| | | public int compare(String o1, String o2) { |
| | | float s1 = CompareStrSimUtil.getSimilarityRatio(o1, key, true); |
| | | float s2 = CompareStrSimUtil.getSimilarityRatio(o2, key, true); |
| | | return s2 > s1 ? 1 : -1; |
| | | } |
| | | }; |
| | | |
| | | Collections.sort(list, cm); |
| | | |
| | | |
| | | JSONObject object = new JSONObject(); |
| | | object.put("count", list.size() + ""); |
| | | JSONArray array = new JSONArray(); |
| | | |
| | | for (int i = 0; i < list.size(); i++) { |
| | | array.add(StringUtil.outPutResultJson(list.get(i))); |
| | | if (i < 10) |
| | | array.add(StringUtil.outPutResultJson(list.get(i))); |
| | | } |
| | | object.put("data", array); |
| | | out.print(JsonUtil.loadTrueJson(object.toString())); |
| | |
| | | object.put("data", array); |
| | | out.print(JsonUtil.loadTrueJson(object.toString())); |
| | | } else { |
| | | List<Long> resourceList = videoResouceUtil.getAvailableResourceIds(detailSystem, acceptData.getVersion()); |
| | | List<Long> resourceList = videoResouceUtil.getAvailableResourceIds(detailSystem, acceptData.getVersion(),acceptData.getChannel()); |
| | | String cacheMD5 = "0"; |
| | | if (resourceList != null && resourceList.size() > 0) |
| | | for (Long l : resourceList) |
| | |
| | | pageIndex = 1; |
| | | } |
| | | |
| | | List<Long> resourceList = videoResouceUtil.getAvailableResourceIds(acceptData.getDetailSystem(), acceptData.getVersion()); |
| | | List<Long> resourceList = videoResouceUtil.getAvailableResourceIds(acceptData.getDetailSystem(), acceptData.getVersion(),acceptData.getChannel()); |
| | | |
| | | |
| | | String cacheMD5 = "0"; |
| | |
| | | |
| | | DetailSystem ds = systemService.getDetailSystemByPackage(acceptData.getPackageName()); |
| | | |
| | | List<Long> resourceList = videoResouceUtil.getAvailableResourceIds(acceptData.getDetailSystem(), acceptData.getVersion()); |
| | | List<Long> resourceList = videoResouceUtil.getAvailableResourceIds(acceptData.getDetailSystem(), acceptData.getVersion(),acceptData.getChannel()); |
| | | List<VideoInfo> list1 = StringUtil.isNullOrEmpty(videoId) |
| | | ? recommendService.guessLikeList(ds.getId(), 4, resourceList, CacheUtil.getMD5Long(resourceList)) |
| | | : recommendService.guessLikeList(ds.getId(), 4, videoId, resourceList, |
| | |
| | | object.put("data", array); |
| | | out.print(JsonUtil.loadTrueJson(object.toString())); |
| | | |
| | | } |
| | | |
| | | |
| | | //新版热门搜索 |
| | | public void getHotSearchNew(AcceptData acceptData, HttpServletRequest request, PrintWriter out) { |
| | | DetailSystemConfig config = configService.getConfigByKey("hot_search", acceptData.getDetailSystem(), acceptData.getVersion()); |
| | | if (config == null) { |
| | | out.print(JsonUtil.loadFalseJson("无内容")); |
| | | return; |
| | | } |
| | | String value = config.getValue(); |
| | | Type type = new TypeToken<List<String>>() { |
| | | }.getType(); |
| | | |
| | | List<String> list = new Gson().fromJson(value, type); |
| | | |
| | | |
| | | JSONObject object = new JSONObject(); |
| | | object.put("count", list.size() + ""); |
| | | JSONArray array = new JSONArray(); |
| | | for (int i = 0; i < list.size(); i++) { |
| | | array.add(list.get(i)); |
| | | } |
| | | |
| | | object.put("data", array); |
| | | out.print(JsonUtil.loadTrueJson(object.toString())); |
| | | } |
| | | |
| | | |
| | | //获取搜索排行榜 |
| | | public void getSearchRank(AcceptData acceptData, HttpServletRequest request, PrintWriter out) { |
| | | // try { |
| | | // Map<String, List<String>> map = IqiyiRankUtil.getRank(10); |
| | | // } catch (IOException e) { |
| | | // e.printStackTrace(); |
| | | // } |
| | | |
| | | //搜索排行 |
| | | String value = systemConfigService.getConfigValueByKeyCache("searchRank"); |
| | | |
| | | Map<Integer, JSONObject> map = new TreeMap<>(); |
| | | if (!StringUtil.isNullOrEmpty(value)) { |
| | | JSONObject root = JSONObject.fromObject(value); |
| | | for (Iterator<String> its = root.keys(); its.hasNext(); ) { |
| | | String key = its.next(); |
| | | JSONArray array = root.optJSONArray(key); |
| | | JSONObject data = new JSONObject(); |
| | | switch (key) { |
| | | case "热搜": |
| | | data.put("热搜榜", array); |
| | | map.put(0, data); |
| | | break; |
| | | case "电视剧": |
| | | data.put("电视剧榜", array); |
| | | map.put(1, data); |
| | | break; |
| | | case "电影": |
| | | data.put("电影榜", array); |
| | | map.put(2, data); |
| | | break; |
| | | case "综艺": |
| | | data.put("综艺榜", array); |
| | | map.put(3, data); |
| | | break; |
| | | case "动漫": |
| | | data.put("动漫榜", array); |
| | | map.put(4, data); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | |
| | | JSONObject data = new JSONObject(); |
| | | for (Iterator<Integer> its = map.keySet().iterator(); its.hasNext(); ) { |
| | | Integer key = its.next(); |
| | | JSONObject item = map.get(key); |
| | | String k = item.keys().next().toString(); |
| | | data.put(k, item.optJSONArray(k)); |
| | | } |
| | | |
| | | |
| | | JSONObject object = new JSONObject(); |
| | | object.put("data", data); |
| | | out.print(JsonUtil.loadTrueJson(object.toString())); |
| | | } |
| | | |
| | | // 获取用户信息 |
| | |
| | | return; |
| | | } |
| | | |
| | | List<Long> resourceList = videoResouceUtil.getAvailableResourceIds(acceptData.getDetailSystem(), acceptData.getVersion()); |
| | | List<Long> resourceList = videoResouceUtil.getAvailableResourceIds(acceptData.getDetailSystem(), acceptData.getVersion(),acceptData.getChannel()); |
| | | |
| | | DetailSystem ds = systemService.getDetailSystemByPackage(acceptData.getPackageName()); |
| | | List<VideoInfo> list = recommendService.getRelativeVideoList(ds.getId(), 4, videoId, resourceList, |
| | |
| | | return; |
| | | } |
| | | |
| | | List<Long> resourceList = videoResouceUtil.getAvailableResourceIds(acceptData.getDetailSystem(), acceptData.getVersion()); |
| | | List<Long> resourceList = videoResouceUtil.getAvailableResourceIds(acceptData.getDetailSystem(), acceptData.getVersion(),acceptData.getChannel()); |
| | | |
| | | DetailSystem ds = systemService.getDetailSystemByPackage(acceptData.getPackageName()); |
| | | List<VideoInfo> list1 = recommendService.peopleSee(ds.getId(), 4, videoId, resourceList, |
| | |
| | | // new Thread(new Runnable() { |
| | | // public void run() { |
| | | // for (int i = 0; i < 3; i++) { |
| | | boolean isS = MailSenderUtil.sendEmail(account, "ysyz17784739772@126.com", "weikou2014", "布丸社区注册验证码:" + code, |
| | | "布丸社区注册验证码:" + code); |
| | | DetailSystem detailSystem = systemService.getDetailSystemByPackage(acceptData.getPackageName()); |
| | | String title = "布丸社区注册验证码:" + code; |
| | | String content = "布丸社区注册验证码:" + code; |
| | | if (!detailSystem.getAppName().contains("布丸")) { |
| | | String name = detailSystem.getAppName(); |
| | | title = name + "验证码:" + code; |
| | | content = title; |
| | | } |
| | | |
| | | boolean isS = MailSenderUtil.sendEmail(account, "ysyz17784739772@126.com", "weikou2014", title, |
| | | content); |
| | | // } |
| | | |
| | | // }).start(); |