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); }