...
|
...
|
@@ -17,6 +17,7 @@ import org.springframework.stereotype.Service; |
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.yoho.search.base.utils.ISearchConstants;
|
|
|
import com.yoho.search.base.utils.ProductIndexEsField;
|
|
|
import com.yoho.search.common.cache.aop.SearchCacheAble;
|
|
|
import com.yoho.search.common.utils.SearchApiResultUtils;
|
|
|
import com.yoho.search.core.es.model.SearchParam;
|
|
|
import com.yoho.search.core.es.model.SearchResult;
|
...
|
...
|
@@ -24,9 +25,6 @@ import com.yoho.search.models.SearchApiResult; |
|
|
import com.yoho.search.service.base.SearchCommonService;
|
|
|
import com.yoho.search.service.base.SearchRequestParams;
|
|
|
import com.yoho.search.service.base.index.ProductIndexBaseService;
|
|
|
import com.yoho.search.service.helper.SearchCommonHelper;
|
|
|
import com.yoho.search.service.helper.SearchParamHelper;
|
|
|
import com.yoho.search.service.helper.SearchSortHelper;
|
|
|
import com.yoho.search.service.service.IProductListWithSupplyService;
|
|
|
import com.yoho.search.service.service.ISimilarProductService;
|
|
|
|
...
|
...
|
@@ -39,23 +37,17 @@ public class ProductListWithSupplyServiceImpl implements IProductListWithSupplyS |
|
|
private static final Logger logger = LoggerFactory.getLogger(ProductListWithSupplyServiceImpl.class);
|
|
|
|
|
|
@Autowired
|
|
|
private SearchCommonHelper searchCommonHelper;
|
|
|
@Autowired
|
|
|
private SearchSortHelper searchSortHelper;
|
|
|
@Autowired
|
|
|
private SearchCommonService searchCommonService;
|
|
|
@Autowired
|
|
|
private ProductIndexBaseService productIndexBaseService;
|
|
|
@Autowired
|
|
|
private ISimilarProductService similarProductService;
|
|
|
@Autowired
|
|
|
private SearchParamHelper searchParamHelper;
|
|
|
|
|
|
/**
|
|
|
* 不支持分页,最多返回100个
|
|
|
* 不支持分页,返回最多size个个
|
|
|
*/
|
|
|
@Override
|
|
|
//@SearchCacheAble(cacheInMinute = 30, cacheName = "PRODUCT_LIST_WITH_SUPPLY", includeParams = { "product_skn" })
|
|
|
@SearchCacheAble(cacheInMinute = 30, cacheName = "PRODUCT_LIST_WITH_SUPPLY", includeParams = { "product_skn" })
|
|
|
public SearchApiResult productListWithSupply(Map<String, String> paramMap) {
|
|
|
try {
|
|
|
// 1)参数校验
|
...
|
...
|
@@ -63,10 +55,15 @@ public class ProductListWithSupplyServiceImpl implements IProductListWithSupplyS |
|
|
if (inputSknListString == null || inputSknListString.isEmpty()) {
|
|
|
return new SearchApiResult().setCode(400).setMessage("请传SKN参数");
|
|
|
}
|
|
|
String[] productSkns = inputSknListString.split(",");
|
|
|
if(productSkns.length>100){
|
|
|
return new SearchApiResult().setCode(400).setMessage("SKN参数太长,请控制在100以内");
|
|
|
}
|
|
|
// 2)构建searchParam
|
|
|
SearchParam searchParam = new SearchParam();
|
|
|
String[] productSkns = inputSknListString.split(",");
|
|
|
BoolQueryBuilder filter = new BoolQueryBuilder();
|
|
|
searchParam.setFiter(filter);
|
|
|
|
|
|
// 2.1)查询这些skn
|
|
|
filter.must(QueryBuilders.termsQuery(ProductIndexEsField.productSkn, productSkns));
|
|
|
// 2.2)保留【上架有库存】或【限购】
|
...
|
...
|
|