CollageController.java 2.08 KB
package com.yoho.search.restapi.scene;

import com.yoho.search.aop.cache.SearchCacheAble;
import com.yoho.search.cache.CacheInMinute;
import com.yoho.search.common.utils.HttpServletRequestUtils;
import com.yoho.search.models.SearchApiResult;
import com.yoho.search.service.scene.pages.CollagePageService;
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;

/**
 * @author wangnan
 * @version 2018/9/4
 */
@Controller
public class CollageController {

    @Autowired
    private CollagePageService collagePageService;

    /**
     * 搜索拼团购
     */
    @SearchCacheAble(cacheName = "COLLAGE", cacheInMinute = CacheInMinute.Minute_1)
    @RequestMapping(method = RequestMethod.GET, value = "/collage")
    @ResponseBody
    public SearchApiResult collage(HttpServletRequest request) {
        Map<String, String> paramMap = HttpServletRequestUtils.transParamType(request);
        return collagePageService.productList(paramMap);
    }

    /**
     * 搜索拼团购-平台端使用
     */
    @RequestMapping(method = RequestMethod.GET, value = "/collageForPlateform")
    @ResponseBody
    public SearchApiResult collageForPlateform(HttpServletRequest request) {
        Map<String, String> paramMap = HttpServletRequestUtils.transParamType(request);
        return collagePageService.productListForPlateform(paramMap);
    }


    /**
     * 搜索拼团购-筛选项
     */
    @SearchCacheAble(cacheName = "COLLAGE_AGGGRGATIONS", cacheInMinute = CacheInMinute.Minute_1)
    @RequestMapping(method = RequestMethod.GET, value = "/collage/aggregations")
    @ResponseBody
    public SearchApiResult collageAggregations(HttpServletRequest request) {
        Map<String, String> paramMap = HttpServletRequestUtils.transParamType(request);
        return collagePageService.aggregations(paramMap);
    }

}