Prechádzať zdrojové kódy

BUG提交 订单ES查询为NULL的返回问题 多号查询问题

秦国才 4 rokov pred
rodič
commit
9e0c580ef3

+ 3 - 0
modules/admin/src/main/java/com/fire/admin/request/OrderSearchPram.java

@@ -59,4 +59,7 @@ public class OrderSearchPram {
     @ApiModelProperty(value ="每页显示条数")
     private Integer size;
 
+    @ApiModelProperty(value = "回调状态")
+    private String callbackStatus;
+
 }

+ 29 - 4
modules/admin/src/main/java/com/fire/admin/service/OrderManagementService.java

@@ -1,6 +1,5 @@
 package com.fire.admin.service;
 
-import cn.hutool.core.util.StrUtil;
 import com.fire.admin.request.DispatchSearchPram;
 import com.fire.admin.request.OrderSearchPram;
 import com.fire.es.DispatchDto;
@@ -62,6 +61,7 @@ public class OrderManagementService {
                     .gte(orderSearchPram.getCallbackTimeStart().getTime())
                     .lte(orderSearchPram.getCallbackTimeEnd().getTime());
             boolQuery.must(rangeQueryBuilder);
+            boolQuery.must(QueryBuilders.existsQuery("callbackTime"));
         }
         rangeQueryBuilder = QueryBuilders.rangeQuery("applyDate")
                 .gte(applyDateStart.getTime())
@@ -81,6 +81,13 @@ public class OrderManagementService {
         //商户订单号
         if (Strings.isNotBlank(orderSearchPram.getGwSeqNo())) {
             boolQuery.must(QueryBuilders.termQuery("gwSeqNo", orderSearchPram.getGwSeqNo()));
+            boolQuery.must(QueryBuilders.existsQuery("gwSeqNo"));
+        }
+
+        //回调状态
+        if (Strings.isNotBlank(orderSearchPram.getCallbackStatus())) {
+            boolQuery.must(QueryBuilders.termQuery("callbackStatus", orderSearchPram.getCallbackStatus()));
+            boolQuery.must(QueryBuilders.existsQuery("callbackStatus"));
         }
 
         //电话号码
@@ -88,9 +95,11 @@ public class OrderManagementService {
             String usedMobiles = orderSearchPram.getPhoneNo();
             if (usedMobiles.contains(",")) {
                 String[] usedMobileList = usedMobiles.split(",");
+                BoolQueryBuilder temp = QueryBuilders.boolQuery();
                 for (String usedMobile : usedMobileList) {
-                    boolQuery.should(QueryBuilders.termQuery("phoneNo", usedMobile));
+                    temp.should(QueryBuilders.termQuery("phoneNo", usedMobile));
                 }
+                boolQuery.must(temp);
             } else {
                 boolQuery.must(QueryBuilders.termQuery("phoneNo", usedMobiles));
             }
@@ -102,6 +111,7 @@ public class OrderManagementService {
         //通道名称
         if (Strings.isNotBlank(orderSearchPram.getChannelName())) {
             boolQuery.must(QueryBuilders.wildcardQuery("channelName.keyword", "*" + orderSearchPram.getChannelName() + "*" ));
+            boolQuery.must(QueryBuilders.existsQuery("channelName"));
         }
         //订单状态
         if (Strings.isNotBlank(orderSearchPram.getStatus())) {
@@ -181,6 +191,7 @@ public class OrderManagementService {
                     .gte(orderSearchPram.getCallbackTimeStart().getTime())
                     .lte(orderSearchPram.getCallbackTimeEnd().getTime());
             boolQuery.must(rangeQueryBuilder);
+            boolQuery.must(QueryBuilders.existsQuery("callbackTime"));
         }
         rangeQueryBuilder = QueryBuilders.rangeQuery("applyDate")
                 .gte(applyDateStart.getTime())
@@ -196,18 +207,29 @@ public class OrderManagementService {
         if (Strings.isNotBlank(orderSearchPram.getExtorderId())) {
             boolQuery.must(QueryBuilders.termQuery("extorderId", orderSearchPram.getExtorderId()));
         }
+
         //商户订单号
         if (Strings.isNotBlank(orderSearchPram.getGwSeqNo())) {
             boolQuery.must(QueryBuilders.termQuery("gwSeqNo", orderSearchPram.getGwSeqNo()));
+            boolQuery.must(QueryBuilders.existsQuery("gwSeqNo"));
         }
+
+        //回调状态
+        if (Strings.isNotBlank(orderSearchPram.getCallbackStatus())) {
+            boolQuery.must(QueryBuilders.termQuery("callbackStatus", orderSearchPram.getCallbackStatus()));
+            boolQuery.must(QueryBuilders.existsQuery("callbackStatus"));
+        }
+
         //电话号码
         if (Strings.isNotBlank(orderSearchPram.getPhoneNo())) {
             String usedMobiles = orderSearchPram.getPhoneNo();
             if (usedMobiles.contains(",")) {
                 String[] usedMobileList = usedMobiles.split(",");
+                BoolQueryBuilder temp = QueryBuilders.boolQuery();
                 for (String usedMobile : usedMobileList) {
-                    boolQuery.should(QueryBuilders.termQuery("phoneNo", usedMobile));
+                    temp.should(QueryBuilders.termQuery("phoneNo", usedMobile));
                 }
+                boolQuery.must(temp);
             } else {
                 boolQuery.must(QueryBuilders.termQuery("phoneNo", usedMobiles));
             }
@@ -219,6 +241,7 @@ public class OrderManagementService {
         //通道名称
         if (Strings.isNotBlank(orderSearchPram.getChannelName())) {
             boolQuery.must(QueryBuilders.wildcardQuery("channelName.keyword", "*" + orderSearchPram.getChannelName() + "*" ));
+            boolQuery.must(QueryBuilders.existsQuery("channelName"));
         }
         //订单状态
         if (Strings.isNotBlank(orderSearchPram.getStatus())) {
@@ -330,9 +353,11 @@ public class OrderManagementService {
             String usedMobiles = dispatchSearchPram.getPhoneNo();
             if (usedMobiles.contains(",")) {
                 String[] usedMobileList = usedMobiles.split(",");
+                BoolQueryBuilder temp = QueryBuilders.boolQuery();
                 for (String usedMobile : usedMobileList) {
-                    boolQuery.should(QueryBuilders.termQuery("phoneNo", usedMobile));
+                    temp.should(QueryBuilders.termQuery("phoneNo", usedMobile));
                 }
+                boolQuery.must(temp);
             } else {
                 boolQuery.must(QueryBuilders.termQuery("phoneNo", usedMobiles));
             }