From 9f08f5943c9f4b5d5680bd7ed8299db0bfaf73dd Mon Sep 17 00:00:00 2001 From: donqi Date: Wed, 28 Dec 2022 23:31:09 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=B8=88=E5=82=85=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E5=8E=9F=E9=80=BB=E8=BE=91=E4=BF=AE=E6=94=B9=EF=BC=8C?= =?UTF-8?q?=E5=B9=B6=E5=A2=9E=E5=8A=A0=E6=96=B0=E7=9A=84=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/worker/WorkerController.java | 55 +++++++++------ .../ghy/web/pojo/vo/WorkerListRequest.java | 2 + .../java/com/ghy/worker/domain/Worker.java | 10 +++ .../resources/mapper/worker/WorkerMapper.xml | 67 +++++++++++++------ 4 files changed, 93 insertions(+), 41 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 1c28cab2..b72c028d 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 @@ -14,6 +14,8 @@ import com.ghy.goods.domain.Goods; import com.ghy.goods.domain.GoodsCategory; import com.ghy.goods.service.GoodsCategoryService; import com.ghy.goods.service.GoodsService; +import com.ghy.system.domain.SysArea; +import com.ghy.system.service.ISysAreaService; import com.ghy.web.pojo.vo.WorkerListRequest; import com.ghy.web.pojo.vo.WorkerListResponse; import com.ghy.web.pojo.vo.WorkerSettledRequest; @@ -65,6 +67,9 @@ public class WorkerController extends BaseController { @Autowired private WorkerBankService workerBankService; + @Autowired + private ISysAreaService sysAreaService; + @RequiresPermissions("worker:worker:view") @GetMapping() public String worker(){ @@ -170,20 +175,31 @@ public class WorkerController extends BaseController { public TableDataInfo appList(@RequestBody WorkerListRequest workerListRequest) { List resList = new ArrayList(); + // 查询参数 + Worker worker = new Worker(); try { // 查询满足区域条件的师傅区域记录 - WorkerArea workerArea = new WorkerArea(); - workerArea.setDistrictId(workerListRequest.getAreaId()); - List workerAreaList = workerAreaService.getWorkerAreaList(workerArea); - List workerIdsByArea = workerAreaList.stream().map(WorkerArea::getWorkerId).collect(Collectors.toList()); + worker.setDistrictId(workerListRequest.getAreaId()); + // 查询需要排除的区 + if (workerListRequest.getExceptParentAreaId() != null) { + SysArea areaParams = new SysArea(); + areaParams.setParentCode(workerListRequest.getExceptParentAreaId().toString()); + List exceptAreaList = sysAreaService.selectSysAreaList(areaParams); + List exceptAreaIds = exceptAreaList.stream().map(SysArea::getAreaId).collect(Collectors.toList()); + worker.setExceptDistrictIds(exceptAreaIds); + } +// WorkerArea workerArea = new WorkerArea(); +// workerArea.setDistrictId(workerListRequest.getAreaId()); +// List workerAreaList = workerAreaService.getWorkerAreaList(workerArea); +// List workerIdsByArea = workerAreaList.stream().map(WorkerArea::getWorkerId).collect(Collectors.toList()); // 查询满足技能条件的师傅技能记录 - WorkerGoodsCategory workerGoodsCategory = new WorkerGoodsCategory(); +// WorkerGoodsCategory workerGoodsCategory = new WorkerGoodsCategory(); // 判断类目id是否为第三级,不是的话需要找到所有符合条件的第三级类目id作为新的条件 if (workerListRequest.getGoodsCategoryId() != null) { GoodsCategory goodsCategory = goodsCategoryService.selectById(workerListRequest.getGoodsCategoryId()); if (goodsCategory.getLevel() == 0) { - workerGoodsCategory.setGoodsCategoryId(null); + worker.setGoodsCategoryId(null); } else if (goodsCategory.getLevel() == 1) { GoodsCategory params = new GoodsCategory(); params.setParentCategoryId(goodsCategory.getGoodsCategoryId()); @@ -195,32 +211,31 @@ public class WorkerController extends BaseController { List thirdCategories = goodsCategoryService.selectGoodsCategoryList(params); thirdCategoryIds.addAll(thirdCategories.stream().map(GoodsCategory::getGoodsCategoryId).collect(Collectors.toList())); }); - workerGoodsCategory.setGoodsCategoryId(null); - workerGoodsCategory.setGoodsCategoryIds(thirdCategoryIds); + worker.setGoodsCategoryId(null); + worker.setGoodsCategoryIds(thirdCategoryIds); } else if (goodsCategory.getLevel() == 2) { GoodsCategory params = new GoodsCategory(); params.setParentCategoryId(goodsCategory.getGoodsCategoryId()); List filteredCategory = goodsCategoryService.selectGoodsCategoryList(params); List filteredCategoryIds = filteredCategory.stream().map(GoodsCategory::getGoodsCategoryId).collect(Collectors.toList()); - workerGoodsCategory.setGoodsCategoryId(null); - workerGoodsCategory.setGoodsCategoryIds(filteredCategoryIds); + worker.setGoodsCategoryId(null); + worker.setGoodsCategoryIds(filteredCategoryIds); } else { - workerGoodsCategory.setGoodsCategoryId(workerListRequest.getGoodsCategoryId()); + worker.setGoodsCategoryId(workerListRequest.getGoodsCategoryId()); } } - List workerGoodsCategoryList = workerGoodsCategoryService.getWorkerGoodsCategory(workerGoodsCategory); - List workerIdsByCategory = workerGoodsCategoryList.stream().map(WorkerGoodsCategory::getWorkerId).collect(Collectors.toList()); +// List workerGoodsCategoryList = workerGoodsCategoryService.getWorkerGoodsCategory(workerGoodsCategory); +// List workerIdsByCategory = workerGoodsCategoryList.stream().map(WorkerGoodsCategory::getWorkerId).collect(Collectors.toList()); // 两个list中的workerid取交集 - List resWorkerIds = new ArrayList<>(CollectionUtils.intersection(workerIdsByArea, workerIdsByCategory)); +// List resWorkerIds = new ArrayList<>(CollectionUtils.intersection(workerIdsByArea, workerIdsByCategory)); - if (CollectionUtils.isEmpty(resWorkerIds)) { - // 交集不存在的情况直接返回空list - return getDataTable(resList); - } +// if (CollectionUtils.isEmpty(resWorkerIds)) { +// // 交集不存在的情况直接返回空list +// return getDataTable(resList); +// } startPage(); - Worker worker = new Worker(); - worker.setWorkerIds(CollectionUtils.isNotEmpty(resWorkerIds) ? resWorkerIds : null); +// worker.setWorkerIds(CollectionUtils.isNotEmpty(resWorkerIds) ? resWorkerIds : null); worker.setName(workerListRequest.getWorkerName()); List list = workerService.getWorkList(worker); list.forEach(w -> { diff --git a/ghy-admin/src/main/java/com/ghy/web/pojo/vo/WorkerListRequest.java b/ghy-admin/src/main/java/com/ghy/web/pojo/vo/WorkerListRequest.java index 5f63c61c..ce975525 100644 --- a/ghy-admin/src/main/java/com/ghy/web/pojo/vo/WorkerListRequest.java +++ b/ghy-admin/src/main/java/com/ghy/web/pojo/vo/WorkerListRequest.java @@ -16,4 +16,6 @@ public class WorkerListRequest { private String workerName; private Long workerId; + + private Long exceptParentAreaId; } diff --git a/ghy-worker/src/main/java/com/ghy/worker/domain/Worker.java b/ghy-worker/src/main/java/com/ghy/worker/domain/Worker.java index c5d8c243..4778da49 100644 --- a/ghy-worker/src/main/java/com/ghy/worker/domain/Worker.java +++ b/ghy-worker/src/main/java/com/ghy/worker/domain/Worker.java @@ -63,4 +63,14 @@ public class Worker extends BaseEntity { private String registerCode; private List workerIds; + + private Long districtId; + + private List exceptDistrictIds; + + private Long goodsCategoryId; + + private List goodsCategoryIds; + + private Long exceptParentAreaId; } diff --git a/ghy-worker/src/main/resources/mapper/worker/WorkerMapper.xml b/ghy-worker/src/main/resources/mapper/worker/WorkerMapper.xml index 57b8dbe8..1b33c4af 100644 --- a/ghy-worker/src/main/resources/mapper/worker/WorkerMapper.xml +++ b/ghy-worker/src/main/resources/mapper/worker/WorkerMapper.xml @@ -35,27 +35,52 @@