From d7a3014c38dbb1061cba70e7dbb49d58831e6399 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 08 四月 2021 19:05:52 +0800 Subject: [PATCH] PPTV解析优化 --- src/main/java/com/yeshi/buwan/controller/parser/UserParser.java | 93 ++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 93 insertions(+), 0 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 6c9bc71..da328aa 100644 --- a/src/main/java/com/yeshi/buwan/controller/parser/UserParser.java +++ b/src/main/java/com/yeshi/buwan/controller/parser/UserParser.java @@ -1,9 +1,12 @@ 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; @@ -15,6 +18,7 @@ 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.inter.system.SystemConfigService; import com.yeshi.buwan.service.manager.SolrAlbumVideoDataManager; import com.yeshi.buwan.service.manager.SolrInternetSearchVideoDataManager; import com.yeshi.buwan.util.*; @@ -24,6 +28,7 @@ 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.rank.IqiyiRankUtil; import com.yeshi.buwan.util.video.VideoCategoryConstant; import com.yeshi.buwan.util.video.VideoConstant; import com.yeshi.buwan.vo.AcceptData; @@ -38,7 +43,9 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import java.io.File; +import java.io.IOException; import java.io.PrintWriter; +import java.lang.reflect.Type; import java.util.*; @Controller @@ -72,6 +79,8 @@ 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()); @@ -614,6 +623,90 @@ } + + //鏂扮増鐑棬鎼滅储 + 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())); + } + // 鑾峰彇鐢ㄦ埛淇℃伅 public void getUserInfo(AcceptData acceptData, HttpServletRequest request, PrintWriter out) { UserData data = userService.getUserData(acceptData.getUid()); -- Gitblit v1.8.0