‘linchangsheng’ пре 1 месец
родитељ
комит
901e767f6d

+ 14 - 10
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/logic/workorder/OrderBaseLogic.java

@@ -150,9 +150,8 @@ public class OrderBaseLogic {
                 .withQuery(boolQueryOrder)
                 .withPageable(PageRequest.of(1, 1))
                 .addAggregation(this.getAggs(AggregationBuilders.filter("DJD", QueryBuilders.boolQuery()
-                        .must(
-                                boolQuery.should(orConditionAB).should(orConditionCD)
-                        ))))
+                        .should(orConditionAB).should(orConditionCD)
+                        )))
                 .build();
         SearchHits response = elasticsearchRestTemplate.search(searchQueryDJD, OrderBaseEs.class);
 
@@ -642,13 +641,18 @@ public class OrderBaseLogic {
         }
 
         if(StringUtils.equals(orderStatus, OrderBaseStatusEnum.DJD.getKey())) {
-            boolQueryOrder.must(
-                    QueryBuilders.boolQuery().should(QueryBuilders.termsQuery("is_import_excel", false))
-                            .should(QueryBuilders.termsQuery("order_status", OrderBaseStatusEnum.DJD.getKey()))
-            ).should(
-                    QueryBuilders.boolQuery().should(QueryBuilders.termsQuery("is_import_excel", true))
-                                    .should(QueryBuilders.termsQuery("is_meet", false))
-            );
+            // A 或 B 的条件
+            BoolQueryBuilder orConditionAB = QueryBuilders.boolQuery()
+                    .should(QueryBuilders.matchQuery("is_import_excel", false))
+                    .should(QueryBuilders.matchQuery("order_status",  OrderBaseStatusEnum.DJD.getKey()));
+
+            // C 或 D 的条件
+            BoolQueryBuilder orConditionCD = QueryBuilders.boolQuery()
+                    .should(QueryBuilders.matchQuery("is_import_excel", true))
+                    .should(QueryBuilders.matchQuery("is_meet", false));
+
+            boolQueryOrder
+                    .should(orConditionAB).should(orConditionCD);
 
         }