|
|
@@ -35,9 +35,9 @@ import com.uas.search.exception.SearchException;
|
|
|
import com.uas.search.model.BaseOrder;
|
|
|
import com.uas.search.model.BaseOrderDetail;
|
|
|
import com.uas.search.model.PageParams;
|
|
|
+import com.uas.search.model.PageParams.FilterField;
|
|
|
import com.uas.search.model.SPage;
|
|
|
import com.uas.search.service.OrderSearchService;
|
|
|
-import com.uas.search.utils.OrderSearchConstants;
|
|
|
|
|
|
/**
|
|
|
* 单据搜索实现
|
|
|
@@ -147,12 +147,12 @@ public class OrderSearchServiceImpl implements OrderSearchService, InnerOrderSea
|
|
|
sPage.setSize(PAGE_SIZE);
|
|
|
}
|
|
|
|
|
|
- Map<String, Object> filters = params.getFilters();
|
|
|
+ Map<FilterField, Object> filters = params.getFilters();
|
|
|
if (!CollectionUtils.isEmpty(filters)) {
|
|
|
// 如果filter中有订单状态
|
|
|
- if (!StringUtils.isEmpty(filters.get(OrderSearchConstants.STATUS_KEY))) {
|
|
|
+ if (!StringUtils.isEmpty(filters.get(FilterField.ORDER_STATUS))) {
|
|
|
@SuppressWarnings("unchecked")
|
|
|
- List<Integer> statusList = (List<Integer>) filters.get(OrderSearchConstants.STATUS_KEY);
|
|
|
+ List<Integer> statusList = (List<Integer>) filters.get(FilterField.ORDER_STATUS);
|
|
|
BooleanQuery booleanQuery2 = new BooleanQuery();
|
|
|
for (Integer status : statusList) {
|
|
|
booleanQuery2.add(
|
|
|
@@ -163,43 +163,37 @@ public class OrderSearchServiceImpl implements OrderSearchService, InnerOrderSea
|
|
|
booleanQuery.add(booleanQuery2, BooleanClause.Occur.MUST);
|
|
|
}
|
|
|
// 如果filter中有买方个人uu
|
|
|
- if (!StringUtils.isEmpty(filters.get(OrderSearchConstants.BUYER_UU_KEY))) {
|
|
|
- booleanQuery.add(
|
|
|
- new TermQuery(new Term(OrderSearchUtils.getBuyeruuField(tableName),
|
|
|
- filters.get(OrderSearchConstants.BUYER_UU_KEY).toString())),
|
|
|
- BooleanClause.Occur.MUST);
|
|
|
+ if (!StringUtils.isEmpty(filters.get(FilterField.ORDER_BUYER_UU))) {
|
|
|
+ booleanQuery.add(new TermQuery(new Term(OrderSearchUtils.getBuyeruuField(tableName),
|
|
|
+ filters.get(FilterField.ORDER_BUYER_UU).toString())), BooleanClause.Occur.MUST);
|
|
|
}
|
|
|
// 如果filter中有买方企业uu
|
|
|
- if (!StringUtils.isEmpty(filters.get(OrderSearchConstants.BUYER_EN_UU_KEY))) {
|
|
|
- booleanQuery.add(
|
|
|
- new TermQuery(new Term(OrderSearchUtils.getBuyerenuuField(tableName),
|
|
|
- filters.get(OrderSearchConstants.BUYER_EN_UU_KEY).toString())),
|
|
|
- BooleanClause.Occur.MUST);
|
|
|
+ if (!StringUtils.isEmpty(filters.get(FilterField.ORDER_BUYER_EN_UU))) {
|
|
|
+ booleanQuery.add(new TermQuery(new Term(OrderSearchUtils.getBuyerenuuField(tableName),
|
|
|
+ filters.get(FilterField.ORDER_BUYER_EN_UU).toString())), BooleanClause.Occur.MUST);
|
|
|
}
|
|
|
// 如果filter中有卖方企业uu
|
|
|
- if (!StringUtils.isEmpty(filters.get(OrderSearchConstants.SELLER_EN_UU_KEY))) {
|
|
|
- booleanQuery.add(
|
|
|
- new TermQuery(new Term(OrderSearchUtils.getSellerenuuField(tableName),
|
|
|
- filters.get(OrderSearchConstants.SELLER_EN_UU_KEY).toString())),
|
|
|
- BooleanClause.Occur.MUST);
|
|
|
+ if (!StringUtils.isEmpty(filters.get(FilterField.ORDER_SELLER_EN_UU))) {
|
|
|
+ booleanQuery.add(new TermQuery(new Term(OrderSearchUtils.getSellerenuuField(tableName),
|
|
|
+ filters.get(FilterField.ORDER_SELLER_EN_UU).toString())), BooleanClause.Occur.MUST);
|
|
|
}
|
|
|
// 如果最小时间和最大时间至少传了一个参数,说明需要对时间范围进行限定
|
|
|
- if (!StringUtils.isEmpty(filters.get(SearchConstants.MIN_TIME_KEY))
|
|
|
- || !StringUtils.isEmpty(filters.get(SearchConstants.MAX_TIME_KEY))) {
|
|
|
+ if (!StringUtils.isEmpty(filters.get(FilterField.ORDER_MIN_TIME))
|
|
|
+ || !StringUtils.isEmpty(filters.get(FilterField.ORDER_MAX_TIME))) {
|
|
|
// 最小日期初始化为2016.1.1
|
|
|
Calendar calendar = Calendar.getInstance();
|
|
|
calendar.set(2016, 0, 1);
|
|
|
// 最大日期初始化为现在
|
|
|
long minTime = calendar.getTimeInMillis();
|
|
|
long maxTime = new Date().getTime();
|
|
|
- if (!StringUtils.isEmpty(filters.get(SearchConstants.MIN_TIME_KEY))) {
|
|
|
- minTime = Long.parseLong(filters.get(SearchConstants.MIN_TIME_KEY).toString());
|
|
|
+ if (!StringUtils.isEmpty(filters.get(FilterField.ORDER_MIN_TIME))) {
|
|
|
+ minTime = Long.parseLong(filters.get(FilterField.ORDER_MIN_TIME).toString());
|
|
|
}
|
|
|
- if (!StringUtils.isEmpty(filters.get(SearchConstants.MAX_TIME_KEY))) {
|
|
|
- maxTime = Long.parseLong(filters.get(SearchConstants.MAX_TIME_KEY).toString());
|
|
|
+ if (!StringUtils.isEmpty(filters.get(FilterField.ORDER_MAX_TIME))) {
|
|
|
+ maxTime = Long.parseLong(filters.get(FilterField.ORDER_MAX_TIME).toString());
|
|
|
}
|
|
|
- booleanQuery.add(NumericRangeQuery.newLongRange(SearchConstants.ORDER_CREATETIME_FIELD, minTime,
|
|
|
- maxTime, true, true), BooleanClause.Occur.MUST);
|
|
|
+ booleanQuery.add(NumericRangeQuery.newLongRange(SearchConstants.CREATETIME_FIELD, minTime, maxTime,
|
|
|
+ true, true), BooleanClause.Occur.MUST);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -310,6 +304,28 @@ public class OrderSearchServiceImpl implements OrderSearchService, InnerOrderSea
|
|
|
} else {
|
|
|
sPage.setSize(PAGE_SIZE);
|
|
|
}
|
|
|
+
|
|
|
+ Map<FilterField, Object> filters = params.getFilters();
|
|
|
+ if (!CollectionUtils.isEmpty(filters)) {
|
|
|
+ // 如果最小时间和最大时间至少传了一个参数,说明需要对时间范围进行限定
|
|
|
+ if (!StringUtils.isEmpty(filters.get(FilterField.ORDER_MIN_TIME))
|
|
|
+ || !StringUtils.isEmpty(filters.get(FilterField.ORDER_MAX_TIME))) {
|
|
|
+ // 最小日期初始化为2016.1.1
|
|
|
+ Calendar calendar = Calendar.getInstance();
|
|
|
+ calendar.set(2016, 0, 1);
|
|
|
+ // 最大日期初始化为现在
|
|
|
+ long minTime = calendar.getTimeInMillis();
|
|
|
+ long maxTime = new Date().getTime();
|
|
|
+ if (!StringUtils.isEmpty(filters.get(FilterField.ORDER_MIN_TIME))) {
|
|
|
+ minTime = Long.parseLong(filters.get(FilterField.ORDER_MIN_TIME).toString());
|
|
|
+ }
|
|
|
+ if (!StringUtils.isEmpty(filters.get(FilterField.ORDER_MAX_TIME))) {
|
|
|
+ maxTime = Long.parseLong(filters.get(FilterField.ORDER_MAX_TIME).toString());
|
|
|
+ }
|
|
|
+ booleanQuery.add(NumericRangeQuery.newLongRange(SearchConstants.CREATETIME_FIELD, minTime, maxTime,
|
|
|
+ true, true), BooleanClause.Occur.MUST);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
logger.info(booleanQuery.toString());
|
|
|
|