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

import com.yoho.search.common.downgrade.aop.DownGradeAble;
import com.yoho.search.common.utils.HttpServletRequestUtils;
import com.yoho.search.models.SearchApiResult;
import com.yoho.search.models.SuggestApiResult;
import com.yoho.search.service.service.ISearchRecommendService;
import com.yoho.search.service.service.ISuggestService;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpServletRequest;

import java.util.Map;

@Controller
public class SuggestController {

	@Autowired
	private ISuggestService suggestService;

	@Autowired
	private ISearchRecommendService searchRecommendService;

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

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

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

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