diff --git a/ghy-admin/src/main/java/com/ghy/web/controller/goods/GoodsController.java b/ghy-admin/src/main/java/com/ghy/web/controller/goods/GoodsController.java index 4f485ac8..6e9ea8ab 100644 --- a/ghy-admin/src/main/java/com/ghy/web/controller/goods/GoodsController.java +++ b/ghy-admin/src/main/java/com/ghy/web/controller/goods/GoodsController.java @@ -75,6 +75,19 @@ public class GoodsController extends BaseController { if (goodsCategory.getLevel() == 0) { goods.setDeptGoodsCategoryId(null); } else if (goodsCategory.getLevel() == 1) { + GoodsCategory params = new GoodsCategory(); + params.setParentCategoryId(goodsCategory.getGoodsCategoryId()); + List secondCategories = goodsCategoryService.selectGoodsCategoryList(params); + List secondCategoryIds = secondCategories.stream().map(GoodsCategory::getGoodsCategoryId).collect(Collectors.toList()); + List thirdCategoryIds = new ArrayList(); + secondCategoryIds.forEach(id -> { + params.setParentCategoryId(id); + List thirdCategories = goodsCategoryService.selectGoodsCategoryList(params); + thirdCategoryIds.addAll(thirdCategories.stream().map(GoodsCategory::getGoodsCategoryId).collect(Collectors.toList())); + }); + goods.setDeptGoodsCategoryId(null); + goods.setDeptGoodsCategoryIds(thirdCategoryIds); + } else if (goodsCategory.getLevel() == 2) { GoodsCategory params = new GoodsCategory(); params.setParentCategoryId(goodsCategory.getGoodsCategoryId()); List filteredCategory = goodsCategoryService.selectGoodsCategoryList(params); 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 43537cd2..7fdc38a1 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 @@ -139,6 +139,19 @@ public class WorkerController extends BaseController { if (goodsCategory.getLevel() == 0) { workerGoodsCategory.setGoodsCategoryId(null); } else if (goodsCategory.getLevel() == 1) { + GoodsCategory params = new GoodsCategory(); + params.setParentCategoryId(goodsCategory.getGoodsCategoryId()); + List secondCategories = goodsCategoryService.selectGoodsCategoryList(params); + List secondCategoryIds = secondCategories.stream().map(GoodsCategory::getGoodsCategoryId).collect(Collectors.toList()); + List thirdCategoryIds = new ArrayList(); + secondCategoryIds.forEach(id -> { + params.setParentCategoryId(id); + List thirdCategories = goodsCategoryService.selectGoodsCategoryList(params); + thirdCategoryIds.addAll(thirdCategories.stream().map(GoodsCategory::getGoodsCategoryId).collect(Collectors.toList())); + }); + workerGoodsCategory.setGoodsCategoryId(null); + workerGoodsCategory.setGoodsCategoryIds(thirdCategoryIds); + } else if (goodsCategory.getLevel() == 2) { GoodsCategory params = new GoodsCategory(); params.setParentCategoryId(goodsCategory.getGoodsCategoryId()); List filteredCategory = goodsCategoryService.selectGoodsCategoryList(params); diff --git a/ghy-goods/src/main/resources/mapper/goods/GoodsMapper.xml b/ghy-goods/src/main/resources/mapper/goods/GoodsMapper.xml index 6756ab55..0f088eaf 100644 --- a/ghy-goods/src/main/resources/mapper/goods/GoodsMapper.xml +++ b/ghy-goods/src/main/resources/mapper/goods/GoodsMapper.xml @@ -101,6 +101,7 @@ AND dept_goods_category_id = #{deptGoodsCategoryId} + AND dept_goods_category_id in #{deptGoodsCategoryId} diff --git a/ghy-worker/src/main/resources/mapper/worker/WorkerGoodsCategoryMapper.xml b/ghy-worker/src/main/resources/mapper/worker/WorkerGoodsCategoryMapper.xml index 138dbc49..44db3292 100644 --- a/ghy-worker/src/main/resources/mapper/worker/WorkerGoodsCategoryMapper.xml +++ b/ghy-worker/src/main/resources/mapper/worker/WorkerGoodsCategoryMapper.xml @@ -57,6 +57,7 @@ AND wgc.goods_category_id = #{goodsCategoryId} + AND wgc.goods_category_id in #{goodsCategoryId}