admin
2021-08-13 cdc3690a0354e01b44852f4c9da3b7204128d2eb
src/main/java/com/yeshi/buwan/controller/parser/SearchParser.java
@@ -1,11 +1,14 @@
package com.yeshi.buwan.controller.parser;
import com.yeshi.buwan.domain.VideoInfo;
import com.yeshi.buwan.domain.VideoType;
import com.yeshi.buwan.domain.solr.SolrAlbumVideo;
import com.yeshi.buwan.domain.solr.SolrShortVideo;
import com.yeshi.buwan.domain.special.SearchSpecial;
import com.yeshi.buwan.domain.special.SearchSpecialPositionMap;
import com.yeshi.buwan.domain.video.InternetSearchVideo;
import com.yeshi.buwan.dto.search.SolrResultDTO;
import com.yeshi.buwan.service.inter.search.SearchSpecialPositionMapService;
import com.yeshi.buwan.service.inter.search.SearchSpecialService;
import com.yeshi.buwan.service.manager.search.SolrAlbumVideoDataManager;
import com.yeshi.buwan.service.manager.search.SolrInternetSearchVideoDataManager;
@@ -21,12 +24,16 @@
import javax.servlet.http.HttpServletRequest;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@Controller
public class SearchParser {
    @Resource
    private SearchSpecialService searchSpecialService;
    @Resource
    private SearchSpecialPositionMapService searchSpecialPositionMapService;
    @Resource
    private SolrAlbumVideoDataManager solrAlbumVideoDataManager;
@@ -46,14 +53,14 @@
     */
    public void getSpecialVideo(AcceptData acceptData, HttpServletRequest request, PrintWriter out) {
        String key = request.getParameter("key");
        SearchSpecial searchSpecial = searchSpecialService.selectByKey(key);
        SearchSpecial searchSpecial = searchSpecialService.selectByPrimaryKey(key);
        if (searchSpecial == null) {
            out.print(JsonUtil.loadFalseJson("搜索专题不存在"));
            return;
        }
        String page = request.getParameter("page");
        if (NumberUtil.isNumeric(page)) {
        if (!NumberUtil.isNumeric(page)) {
            out.print(JsonUtil.loadFalseJson("页码错误"));
            return;
        }
@@ -100,6 +107,7 @@
                    for (SolrShortVideo av : list) {
                        videoInfoList.add(VideoInfoFactory.create(av));
                    }
                    Collections.shuffle(videoInfoList);
                    if (list.size() > 0) {
                        hasNextPage = true;
                    }
@@ -115,8 +123,30 @@
        JSONObject data = new JSONObject();
        data.put("hasNextPage", hasNextPage);
        data.put("list", array);
        data.put("column", 2);
        out.print(JsonUtil.loadTrueAdmin(data));
        data.put("column", searchSpecial.getColumn());
        out.print(JsonUtil.loadTrueJson(data.toString()));
    }
    public void getSearchVideoType(AcceptData acceptData, HttpServletRequest request, PrintWriter out) {
        String pid = request.getParameter("pid");
        if (StringUtil.isNullOrEmpty(pid)) {
            out.print(JsonUtil.loadFalseJson("位置ID不能为空"));
            return;
        }
        JSONArray array = new JSONArray();
        List<SearchSpecialPositionMap> mapList = searchSpecialPositionMapService.listDetailByPosition(pid, 0, 50);
        for (SearchSpecialPositionMap map : mapList) {
            JSONObject item = new JSONObject();
            item.put("name", StringUtil.isNullOrEmpty(map.getShowName()) ? map.getSpecial().getName() : map.getShowName());
            item.put("id", map.getSpecialId());
            item.put("icon", map.getIcon());
            array.add(item);
        }
        JSONObject data = new JSONObject();
        data.put("list", array);
        data.put("count", array.size());
        out.print(JsonUtil.loadTrueJson(data.toString()));
    }