Java代码
查询店铺的成交量和营业额并且可以按照成交量和营业额排序。
@Override
public ReturnPageList listManage(ManageVo vo) {
ReturnPageList pageList = new ReturnPageList();
List<TopShopInfoDTO> dtoList = new ArrayList<>();
Terms.Order amount = Terms.Order.aggregation(vo.getSortText(), vo.getSortType());
TermsAggregationBuilder termsAggregationBuilder =
AggregationBuilders.terms("ShopId")
.field("ShopId")
.minDocCount(1).size(100)
.order(amount);
SumAggregationBuilder sumTermsAggregationBuilder = new SumAggregationBuilder("TotalAmount").field("TotalAmount");
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
boolQueryBuilder.should(QueryBuilders.termQuery("OrderStatus", OrderStatusEnum.待收货.getCode()))
.should(QueryBuilders.termQuery("OrderStatus", OrderStatusEnum.已完成.getCode()))
.should(QueryBuilders.termQuery("OrderStatus", OrderStatusEnum.待发货.getCode()))
.should(QueryBuilders.termQuery("OrderStatus", OrderStatusEnum.已关闭.getCode()))
// .must(QueryBuilders.termQuery("OrderApplyRefundStatus", OrderRefundStatus.UM_WITHDROW.getStatus()))
.must(QueryBuilders.rangeQuery("TotalAmount"