|
@@ -1015,31 +1015,23 @@ public class SearchServiceImpl implements SearchService {
|
|
|
if (field == null) {
|
|
|
throw new SearchException("排序字段不可为空:" + sort);
|
|
|
}
|
|
|
+ boolean reverse = sort.isReverse();
|
|
|
if (field == RESERVE) {
|
|
|
// 库存
|
|
|
- if (sort.isReverse()) {
|
|
|
- // 降序
|
|
|
- sortFieldList.add(sortField(SearchConstants.GOODS_GO_RESERVE_FIELD, Type.DOUBLE, true, Double.MIN_VALUE));
|
|
|
- } else {
|
|
|
- // 升序
|
|
|
- sortFieldList.add(sortField(SearchConstants.GOODS_GO_RESERVE_FIELD, Type.DOUBLE, false, Double.MAX_VALUE));
|
|
|
- }
|
|
|
sortFieldList.addAll(Arrays.asList(
|
|
|
+ // 降序时,默认值为最小值;升序时,默认值为最大值
|
|
|
+ sortField(SearchConstants.GOODS_GO_RESERVE_FIELD, Type.DOUBLE, reverse, reverse ? Double.MIN_VALUE : Double.MAX_VALUE),
|
|
|
sortField(SearchConstants.GOODS_GO_MINPRICERMB_FIELD, Type.DOUBLE, false, Double.MAX_VALUE),
|
|
|
sortField(SearchConstants.GOODS_GO_MINPRICEUSD_FIELD, Type.DOUBLE, false, Double.MAX_VALUE)
|
|
|
));
|
|
|
} else if (field == PRICE) {
|
|
|
// 价格
|
|
|
- if (sort.isReverse()) {
|
|
|
- // 降序
|
|
|
- sortFieldList.add(sortField(SearchConstants.GOODS_GO_MINPRICERMB_FIELD, Type.DOUBLE, true, Double.MIN_VALUE));
|
|
|
- sortFieldList.add(sortField(SearchConstants.GOODS_GO_MINPRICEUSD_FIELD, Type.DOUBLE, true, Double.MIN_VALUE));
|
|
|
- } else {
|
|
|
- // 升序
|
|
|
- sortFieldList.add(sortField(SearchConstants.GOODS_GO_MINPRICERMB_FIELD, Type.DOUBLE, false, Double.MAX_VALUE));
|
|
|
- sortFieldList.add(sortField(SearchConstants.GOODS_GO_MINPRICEUSD_FIELD, Type.DOUBLE, false, Double.MAX_VALUE));
|
|
|
- }
|
|
|
- sortFieldList.add(sortField(SearchConstants.GOODS_GO_RESERVE_FIELD, Type.DOUBLE, true, Double.MIN_VALUE));
|
|
|
+ sortFieldList.addAll(Arrays.asList(
|
|
|
+ // 降序时,默认值为最小值;升序时,默认值为最大值
|
|
|
+ sortField(SearchConstants.GOODS_GO_MINPRICERMB_FIELD, Type.DOUBLE, reverse, reverse ? Double.MIN_VALUE : Double.MAX_VALUE),
|
|
|
+ sortField(SearchConstants.GOODS_GO_MINPRICEUSD_FIELD, Type.DOUBLE, reverse, reverse ? Double.MIN_VALUE : Double.MAX_VALUE),
|
|
|
+ sortField(SearchConstants.GOODS_GO_RESERVE_FIELD, Type.DOUBLE, true, Double.MIN_VALUE)
|
|
|
+ ));
|
|
|
} else {
|
|
|
throw new SearchException("不支持该排序方式:" + field);
|
|
|
}
|