From 6d72575c0b94587c312ce9b0cee3e5d42d99ac32 Mon Sep 17 00:00:00 2001 From: "kuang.yife" Date: Tue, 6 Aug 2024 14:14:07 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=9C=AA=E5=85=A5=E9=A9=BB?= =?UTF-8?q?=E5=B8=88=E5=82=85=E4=B8=8D=E5=B1=95=E7=A4=BA=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/worker/WorkerController.java | 31 +++++++++++++------ 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/ghy-admin/src/main/java/com/ghy/web/controller/worker/WorkerController.java b/ghy-admin/src/main/java/com/ghy/web/controller/worker/WorkerController.java index d919beb7..76ac3a04 100644 --- a/ghy-admin/src/main/java/com/ghy/web/controller/worker/WorkerController.java +++ b/ghy-admin/src/main/java/com/ghy/web/controller/worker/WorkerController.java @@ -133,19 +133,30 @@ public class WorkerController extends BaseController { try { // 查询满足区域条件的师傅区域记录 - WorkerArea workerArea = new WorkerArea(); - workerArea.setDistrictId(workerListRequest.getAreaId()); - List workerAreaList = workerAreaService.getWorkerAreaList(workerArea); - List workerIdsByArea = workerAreaList.stream().map(WorkerArea::getWorkerId).collect(Collectors.toList()); + List workerIdsByArea; + if(workerListRequest.getAreaId() != null){ + WorkerArea workerArea = new WorkerArea(); + workerArea.setDistrictId(workerListRequest.getAreaId()); + List workerAreaList = workerAreaService.getWorkerAreaList(workerArea); + workerIdsByArea = workerAreaList.stream().map(WorkerArea::getWorkerId).collect(Collectors.toList()); + }else { + workerIdsByArea = new ArrayList<>(); + } + // 查询满足技能条件的师傅技能记录 - WorkerGoodsCategory workerGoodsCategory = new WorkerGoodsCategory(); - workerGoodsCategory.setGoodsCategoryId(workerListRequest.getGoodsCategoryId()); - List workerGoodsCategoryList = workerGoodsCategoryService.getWorkerGoodsCategory(workerGoodsCategory); - List workerIdsByCategory = workerGoodsCategoryList.stream().map(WorkerGoodsCategory::getWorkerId).collect(Collectors.toList()); + List workerIdsByCategory; + if(workerListRequest.getGoodsCategoryId()!=null){ + WorkerGoodsCategory workerGoodsCategory = new WorkerGoodsCategory(); + workerGoodsCategory.setGoodsCategoryId(workerListRequest.getGoodsCategoryId()); + List workerGoodsCategoryList = workerGoodsCategoryService.getWorkerGoodsCategory(workerGoodsCategory); + workerIdsByCategory = workerGoodsCategoryList.stream().map(WorkerGoodsCategory::getWorkerId).collect(Collectors.toList()); + }else { + workerIdsByCategory = new ArrayList<>(); + } + // 两个list中的workerid取交集 List resWorkerIds = new ArrayList<>(CollectionUtils.intersection(workerIdsByArea, workerIdsByCategory)); - - if (CollectionUtils.isEmpty(resWorkerIds)) { + if (CollectionUtils.isEmpty(resWorkerIds) && (workerListRequest.getAreaId() != null || workerListRequest.getGoodsCategoryId()!=null)) { // 交集不存在的情况直接返回空list return getDataTable(resList); }