SuggestController.java 2.31 KB
package com.yoho.search.restapi;

import com.yoho.search.common.utils.HttpServletRequestUtils;
import com.yoho.search.models.SearchApiResult;
import com.yoho.search.models.SuggestApiResult;
import com.yoho.search.service.scene.suggest.RecommendWordsService;
import com.yoho.search.service.scene.suggest.SuggestService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpServletRequest;
import java.util.Map;

@RestController
public class SuggestController {

    @Autowired
    private SuggestService suggestService;

    @Autowired
    private RecommendWordsService recommendWordsService;

    /**
     * 搜索建议接口
     *
     * @return
     */
    @RequestMapping(method = RequestMethod.GET, value = "/suggest")
    public SuggestApiResult suggest(HttpServletRequest request) {
        Map<String, String> paramMap = HttpServletRequestUtils.transParamType(request);
        return suggestService.suggest(paramMap);
    }

    /**
     * 搜索建议词接口 - 提供给内部使用
     *
     * @return
     */
    @RequestMapping(method = RequestMethod.GET, value = "/suggestListByCount")
    public SearchApiResult suggestListByCount(HttpServletRequest request) {
        Map<String, String> paramMap = HttpServletRequestUtils.transParamType(request);
        return suggestService.suggestListByCount(paramMap);
    }

    /**
     * 搜索建议词接口 - 提供给内部使用
     *
     * @return
     */
    @RequestMapping(method = RequestMethod.GET, value = "/tools/suggestList")
    public SearchApiResult suggestList(HttpServletRequest request) {
        Map<String, String> paramMap = HttpServletRequestUtils.transParamType(request);
        return suggestService.toolsSuggestList(paramMap);
    }

    /**
     * 搜索提示接口 - 提供给内部使用
     *
     * @return
     */
    @RequestMapping(method = RequestMethod.GET, value = "/tools/suggestConversion")
    public SearchApiResult suggestConversion(HttpServletRequest request) {
        Map<String, String> paramMap = HttpServletRequestUtils.transParamType(request);
        return recommendWordsService.suggestConversionList(paramMap);
    }

}