Authored by unknown

添加专区接口

package com.yoho.search.service.restapi.split;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
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 com.yoho.search.service.split.IZqSearchService;
import com.yoho.search.service.utils.HttpServletRequestUtils;
import com.yoho.search.service.vo.SearchApiResult;
/**
* 专区接口
* @author gufei.hu
*
*/
@Controller
public class ZqSearchController {
@Autowired
private IZqSearchService zqSearchService;
/**
* 专区搜索列表
*
* @return
*/
@RequestMapping(method = RequestMethod.GET, value = "/zq/productList")
@ResponseBody
public SearchApiResult fuzzyList(HttpServletRequest request) {
Map<String, String> paramMap = HttpServletRequestUtils.transParamType(request);
return zqSearchService.zqProductList(paramMap);
}
/**
* 专区筛选项
*
* @return
*/
@RequestMapping(method = RequestMethod.GET, value = "/zq/aggregations")
@ResponseBody
public SearchApiResult fuzzyAggregations(HttpServletRequest request) {
Map<String, String> paramMap = HttpServletRequestUtils.transParamType(request);
return zqSearchService.zqAggregations(paramMap);
}
}
... ...
package com.yoho.search.service.split;
import java.util.Map;
import com.yoho.search.service.vo.SearchApiResult;
public interface IZqSearchService {
/**
* 专区商品列表
* @param paramMap
* @return
*/
public SearchApiResult zqProductList(Map<String, String> paramMap);
/**
* 专区聚合接口
* @param paramMap
* @return
*/
public SearchApiResult zqAggregations(Map<String, String> paramMap);
}
... ...
... ... @@ -17,7 +17,7 @@ import com.yoho.search.service.vo.SearchApiResult;
@Service
public class SortSearchServiceImpl implements ISortSearchService {
private static final Logger logger = LoggerFactory.getLogger(FuzzySearchServiceImpl.class);
private static final Logger logger = LoggerFactory.getLogger(SortSearchServiceImpl.class);
@Autowired
private SplitProductListService splitProductListService;
... ... @@ -30,7 +30,7 @@ public class SortSearchServiceImpl implements ISortSearchService {
return splitProductListService.productList(paramMap);
} catch (Exception e) {
logger.error("[func=sortProductList][params=" + paramMap + "]", e);
return SearchApiResultUtils.errorSearchApiResult("fuzzyProductList", paramMap, e);
return SearchApiResultUtils.errorSearchApiResult("sortProductList", paramMap, e);
}
}
... ...
package com.yoho.search.service.split.impl;
import java.util.Map;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.alibaba.fastjson.JSONObject;
import com.yoho.search.service.split.IZqSearchService;
import com.yoho.search.service.split.common.SplitProductListService;
import com.yoho.search.service.split.common.SplitSelectionsService;
import com.yoho.search.service.utils.SearchApiResultUtils;
import com.yoho.search.service.vo.SearchApiResult;
@Service
public class ZqSearchServiceImpl implements IZqSearchService {
private static final Logger logger = LoggerFactory.getLogger(ZqSearchServiceImpl.class);
@Autowired
private SplitProductListService splitProductListService;
@Autowired
private SplitSelectionsService splitSelectionsService;
@Override
public SearchApiResult zqProductList(Map<String, String> paramMap) {
try {
return splitProductListService.productList(paramMap);
} catch (Exception e) {
logger.error("[func=zqProductList][params=" + paramMap + "]", e);
return SearchApiResultUtils.errorSearchApiResult("zqProductList", paramMap, e);
}
}
@Override
public SearchApiResult zqAggregations(Map<String, String> paramMap) {
// 1、获取通用筛选项
JSONObject commonFilters = splitSelectionsService.getCommonFilters(paramMap);
// 2、获取推荐的品牌
Object recommendBrand = splitSelectionsService.getRecommendBrands(paramMap);
if (recommendBrand != null) {
commonFilters.put("recommendBrand", recommendBrand);
}
Map<String, Object> result = new JSONObject();
result.put("filter", commonFilters);
return new SearchApiResult().setData(result);
}
}
... ...