‘linchangsheng’ vor 1 Monat
Ursprung
Commit
fdb03e94e8

+ 1 - 1
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/controller/workorder/OrderBaseController.java

@@ -54,7 +54,7 @@ public class OrderBaseController {
             @ApiParam(value = "页大小",required = true) @RequestParam Integer pageSize
     ) throws Exception{
         IPage<OrderBaseVO> list = orderBaseLogic.list(keyword,pgIncreOrderId,isYb,isWb, orderBaseStatus, byDay, startTime, endTime, pageNum, pageSize);
-        return ResponseHelper.success(list);
+        return ResponseHelper.success(list());
     }
 
     @PostMapping("/list2")

+ 23 - 7
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/logic/workorder/OrderBaseLogic.java

@@ -288,12 +288,28 @@ public class OrderBaseLogic {
         );
         mySchedule7Day.setDayList(dayList);
 
-        List<String> orderBaseIds = pgOrderWorkerService.lambdaQuery()
-                .and(item -> item.eq(PgOrderWorker::getWorkerId, currentCompanyWechat.getUserId())
-                        .or(!StringUtil.isEmpty(currentCompanyWechat.getUser().getWorkerNumber()))
-                        .eq(PgOrderWorker::getWorkerNumber,currentCompanyWechat.getUser().getWorkerNumber())
-                )
-                .list().stream().map(PgOrderWorker::getOrderBaseId).distinct().collect(Collectors.toList());
+        BoolQueryBuilder boolQuery = QueryBuilders.boolQuery();
+
+        // 根据参数动态添加筛选条件
+        if (StringUtil.isEmpty(currentCompanyWechat.getUser().getWorkerNumber())) {
+            boolQuery.must(QueryBuilders.matchQuery("worker_idcard", currentCompanyWechat.getUser().getIdCard()));
+        }
+        else  {
+            boolQuery.must(QueryBuilders.matchQuery("worker_number", currentCompanyWechat.getUser().getWorkerNumber()));
+        }
+
+
+        // 构建查询,最大只能查两万数据
+        NativeSearchQuery searchQuery = new NativeSearchQueryBuilder()
+                .withQuery(boolQuery)
+                .withPageable(PageRequest.of(0, 10000))
+                .build();
+
+        // 执行查询
+        List<PgOrderWorkerDateEs> pgOrderWorkerEs = elasticsearchRestTemplate.search(searchQuery, PgOrderWorkerDateEs.class).map(searchHit -> searchHit.getContent())
+                .toList();
+
+        List<String> orderBaseIds = pgOrderWorkerEs.stream().map(PgOrderWorkerDateEs::getOrderBaseId).collect(Collectors.toList());
         if(CollectionUtils.isEmpty(orderBaseIds)){
             return mySchedule7Day;
         }
@@ -655,7 +671,7 @@ public class OrderBaseLogic {
 
         // 创建查询
         Query searchQueryOrder = new NativeSearchQueryBuilder()
-                .withQuery(boolQuery)
+                .withQuery(boolQueryOrder)
                 .withPageable(pageable)
                 .build();