admin
2021-04-25 36aafca8d6c1964bb755fe2ae030b163b6d0f92b
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());
@@ -419,12 +428,7 @@
            }
        }
        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();
@@ -488,6 +492,13 @@
                array1.add(StringUtil.outPutResultJson(vt1));
            object.put("typeList", array1);
        }
        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);
        out.print(JsonUtil.loadTrueJson(object.toString()));
@@ -612,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());