Authored by zhaojun2

PROMOTION LIST FIX

... ... @@ -121,7 +121,7 @@ public class SceneAggregationsHelper {
@SearchCacheAble(cacheName = "AGG_PROMOTION", cacheInMinute = 15, excludeParams = { "uid", "udid", "order", "page", "viewNum", "yh_channel"})
public List<RecommendPromotionAggVO> aggPromotion(Map<String, String> paramMap) {
try {
IAggregation aggregation = aggregationFactoryService.getRecommendPromotionAggregation(500);
IAggregation aggregation = aggregationFactoryService.getRecommendPromotionAggregation(50);
Object ids = this.getAggregationResponse(aggregation, paramMap);
if(ids == null){
return Collections.emptyList();
... ...
... ... @@ -4,11 +4,11 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import com.yoho.search.base.utils.CollectionUtils;
import com.yoho.search.models.RecommendPromotionAggVO;
import com.yoho.search.service.helper.SearchCommonHelper;
import com.yoho.search.service.scene.aggregations.SceneAggregationsHelper;
import com.yoho.search.service.scene.common.SceneRecommendBrandsService;
import org.apache.commons.lang.StringUtils;
import org.elasticsearch.index.query.BoolQueryBuilder;
import org.elasticsearch.search.aggregations.AbstractAggregationBuilder;
import org.elasticsearch.search.aggregations.Aggregation;
... ... @@ -208,23 +208,16 @@ public class PromotionAggregationsService extends AbstractCacheAbleService {
}
public SearchApiResult aggPromotions(Map<String, String> paramMap){
int page = StringUtils.isBlank(paramMap.get("page")) ? 1 : Integer.parseInt(paramMap.get("page"));
int pageSize = StringUtils.isBlank(paramMap.get("viewNum")) ? 10 : Integer.parseInt(paramMap.get("viewNum"));
if (page < 1 || pageSize < 0 || page * pageSize > 1000000) {
return new SearchApiResult().setCode(400).setMessage("分页参数不合法");
}
if (pageSize > 100) {
pageSize = 100;
}
List<RecommendPromotionAggVO> recommendPromotionAggVOS = sceneAggregationsHelper.aggPromotion(paramMap);
int size = 10;
JSONObject jsonObject = new JSONObject();
jsonObject.put("page", page);
jsonObject.put("total", recommendPromotionAggVOS.size());
jsonObject.put("page_size", pageSize);
jsonObject.put("page_total", searchCommonHelper.getTotalPage(recommendPromotionAggVOS.size(), pageSize));
jsonObject.put("promotionList", sceneAggregationsHelper.subRecommendPromotions(recommendPromotionAggVOS, page, pageSize));
return new SearchApiResult().setData(jsonObject);
List<RecommendPromotionAggVO> recommendPromotionAggVOS = sceneAggregationsHelper.aggPromotion(paramMap);
if (recommendPromotionAggVOS.size() > size) {
jsonObject.put("promotionList", CollectionUtils.safeSubList(recommendPromotionAggVOS, 0, size));
} else {
jsonObject.put("promotionList", recommendPromotionAggVOS);
}
return new SearchApiResult().setData(jsonObject);
}
}
... ...