修复未入驻师傅不展示的bug

This commit is contained in:
kuang.yife 2024-08-06 14:14:07 +08:00
parent 3bf3f56587
commit 6d72575c0b
1 changed files with 21 additions and 10 deletions

View File

@ -133,19 +133,30 @@ public class WorkerController extends BaseController {
try { try {
// 查询满足区域条件的师傅区域记录 // 查询满足区域条件的师傅区域记录
WorkerArea workerArea = new WorkerArea(); List<Long> workerIdsByArea;
workerArea.setDistrictId(workerListRequest.getAreaId()); if(workerListRequest.getAreaId() != null){
List<WorkerArea> workerAreaList = workerAreaService.getWorkerAreaList(workerArea); WorkerArea workerArea = new WorkerArea();
List<Long> workerIdsByArea = workerAreaList.stream().map(WorkerArea::getWorkerId).collect(Collectors.toList()); workerArea.setDistrictId(workerListRequest.getAreaId());
List<WorkerArea> workerAreaList = workerAreaService.getWorkerAreaList(workerArea);
workerIdsByArea = workerAreaList.stream().map(WorkerArea::getWorkerId).collect(Collectors.toList());
}else {
workerIdsByArea = new ArrayList<>();
}
// 查询满足技能条件的师傅技能记录 // 查询满足技能条件的师傅技能记录
WorkerGoodsCategory workerGoodsCategory = new WorkerGoodsCategory(); List<Long> workerIdsByCategory;
workerGoodsCategory.setGoodsCategoryId(workerListRequest.getGoodsCategoryId()); if(workerListRequest.getGoodsCategoryId()!=null){
List<WorkerGoodsCategory> workerGoodsCategoryList = workerGoodsCategoryService.getWorkerGoodsCategory(workerGoodsCategory); WorkerGoodsCategory workerGoodsCategory = new WorkerGoodsCategory();
List<Long> workerIdsByCategory = workerGoodsCategoryList.stream().map(WorkerGoodsCategory::getWorkerId).collect(Collectors.toList()); workerGoodsCategory.setGoodsCategoryId(workerListRequest.getGoodsCategoryId());
List<WorkerGoodsCategory> workerGoodsCategoryList = workerGoodsCategoryService.getWorkerGoodsCategory(workerGoodsCategory);
workerIdsByCategory = workerGoodsCategoryList.stream().map(WorkerGoodsCategory::getWorkerId).collect(Collectors.toList());
}else {
workerIdsByCategory = new ArrayList<>();
}
// 两个list中的workerid取交集 // 两个list中的workerid取交集
List<Long> resWorkerIds = new ArrayList<>(CollectionUtils.intersection(workerIdsByArea, workerIdsByCategory)); List<Long> resWorkerIds = new ArrayList<>(CollectionUtils.intersection(workerIdsByArea, workerIdsByCategory));
if (CollectionUtils.isEmpty(resWorkerIds) && (workerListRequest.getAreaId() != null || workerListRequest.getGoodsCategoryId()!=null)) {
if (CollectionUtils.isEmpty(resWorkerIds)) {
// 交集不存在的情况直接返回空list // 交集不存在的情况直接返回空list
return getDataTable(resList); return getDataTable(resList);
} }