Authored by unknown

提供通用场景下的筛选项和列表接口

package com.yoho.search.restapi.scene;
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.common.utils.HttpServletRequestUtils;
import com.yoho.search.models.SearchApiResult;
import com.yoho.search.service.scene.CommonSceneService;
/**
* 通用场景接口
*
* @author gufei.hu
*
*/
@Controller
public class CommonSecneController {
@Autowired
private CommonSceneService commonSceneService;
/**
* 通用场景商品列表
*
* @return
*/
@RequestMapping(method = RequestMethod.GET, value = "/common/productList")
@ResponseBody
public SearchApiResult couponProductList(HttpServletRequest request) {
Map<String, String> paramMap = HttpServletRequestUtils.transParamType(request);
return commonSceneService.productList(paramMap);
}
/**
* 通用场景筛选项
*
* @return
*/
@RequestMapping(method = RequestMethod.GET, value = "/common/aggregations")
@ResponseBody
public SearchApiResult couponAggregations(HttpServletRequest request) {
Map<String, String> paramMap = HttpServletRequestUtils.transParamType(request);
return commonSceneService.aggregations(paramMap);
}
}
... ...
package com.yoho.search.service.scene;
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.yoho.search.common.utils.SearchApiResultUtils;
import com.yoho.search.models.SearchApiResult;
import com.yoho.search.service.scene.common.AbstractSceneService;
import com.yoho.search.service.scene.common.SceneProductListService;
import com.yoho.search.service.scene.common.SceneSelectionsService;
@Service
public class CommonSceneService extends AbstractSceneService {
private static final Logger logger = LoggerFactory.getLogger(CouponSceneService.class);
@Autowired
private SceneProductListService sceneProductListService;
@Autowired
private SceneSelectionsService sceneSelectionsService;
@Override
public String pageId() {
return "0";
}
@Override
public void addParamsToParamMap(Map<String, String> paramMap) {
super.addDefaultParamsToParamMap(paramMap);
}
@Override
public SearchApiResult productList(Map<String, String> paramMap) {
try {
// 1、添加默认参数
this.addParamsToParamMap(paramMap);
// 2、返回商品列表
return sceneProductListService.productList(paramMap);
} catch (Exception e) {
logger.error("[func=CommonProductList][params=" + paramMap + "]", e);
return SearchApiResultUtils.errorSearchApiResult("CouponProductList", paramMap, e);
}
}
@Override
public SearchApiResult aggregations(Map<String, String> paramMap) {
try {
// 1、添加默认参数
this.addParamsToParamMap(paramMap);
// 2、返回聚合结果
return sceneSelectionsService.aggregations(paramMap);
} catch (Exception e) {
logger.error("[func=Couponaggregations][params=" + paramMap + "]", e);
return SearchApiResultUtils.errorSearchApiResult("Couponaggregations", paramMap, e);
}
}
}
... ...