From 501198474766432d7b370c705ba7cb3dcff37b6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B8=85=E6=99=A8?= <136767481@qq.com> Date: Mon, 12 May 2025 16:06:05 +0800 Subject: [PATCH] =?UTF-8?q?feat(category):=20=E5=A2=9E=E5=8A=A0=E6=8C=89?= =?UTF-8?q?=E7=A5=96=E7=BA=A7=20ID=20=E6=9F=A5=E8=AF=A2=E5=88=86=E7=B1=BB?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E5=8A=9F=E8=83=BD-=20=E6=96=B0=E5=A2=9E=20ca?= =?UTF-8?q?tegoryByAncestors=20=E6=8E=A5=E5=8F=A3=EF=BC=8C=E6=A0=B9?= =?UTF-8?q?=E6=8D=AE=E7=A5=96=E7=BA=A7=20ID=20=E8=8E=B7=E5=8F=96=E5=88=86?= =?UTF-8?q?=E7=B1=BB=E4=BF=A1=E6=81=AF=E5=88=97=E8=A1=A8=20-=20=E5=9C=A8?= =?UTF-8?q?=20TzCategory=20=E6=A8=A1=E5=9E=8B=E4=B8=AD=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=20ancestors=20=E5=AD=97=E6=AE=B5=EF=BC=8C=E7=94=A8=E4=BA=8E?= =?UTF-8?q?=E5=AD=98=E5=82=A8=E7=A5=96=E7=BA=A7=E5=88=97=E8=A1=A8=20-=20?= =?UTF-8?q?=E5=9C=A8=20TzCategoryService=E6=8E=A5=E5=8F=A3=E4=B8=AD?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20listByAncestors=20=E6=96=B9=E6=B3=95=20-?= =?UTF-8?q?=20=E5=9C=A8=20TzCategoryServiceImpl=20=E4=B8=AD=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0=20listByAncestors=20=E6=96=B9=E6=B3=95=20-=20?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=9B=B8=E5=85=B3=20BO=20=E5=92=8C=20VO=20?= =?UTF-8?q?=E7=B1=BB=EF=BC=8C=E6=94=AF=E6=8C=81=20ancestors=20=E5=AD=97?= =?UTF-8?q?=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/controller/ApiProdController.java | 10 ++++++++- .../org/dromara/mall/domain/TzCategory.java | 4 ++-- .../dromara/mall/domain/bo/TzCategoryBo.java | 4 ++-- .../dromara/mall/domain/vo/TzCategoryVo.java | 6 +++--- .../mall/service/ITzCategoryService.java | 7 +++++++ .../service/impl/TzCategoryServiceImpl.java | 21 +++++++++++++++---- 6 files changed, 40 insertions(+), 12 deletions(-) diff --git a/ruoyi-mall-api/src/main/java/org/dromara/web/controller/ApiProdController.java b/ruoyi-mall-api/src/main/java/org/dromara/web/controller/ApiProdController.java index 5f5042a..55464c5 100644 --- a/ruoyi-mall-api/src/main/java/org/dromara/web/controller/ApiProdController.java +++ b/ruoyi-mall-api/src/main/java/org/dromara/web/controller/ApiProdController.java @@ -215,13 +215,21 @@ public class ApiProdController { } @GetMapping("/categoryInfo") - @Operation(summary = "分类信息列表", description = "获取所有的产品分类信息,顶级分类的parentId为0,默认为顶级分类") + @Operation(summary = "根据父级ID获取分类信息列表", description = "获取所有的产品分类信息,顶级分类的parentId为0,默认为顶级分类") @Parameter(name = "parentId", description = "分类ID") public ServerResponseEntity> categoryInfo(@RequestParam(value = "parentId", defaultValue = "0") Long parentId) { List categories = categoryService.listByParentId(parentId); return ServerResponseEntity.success(categories); } + @GetMapping("/categoryByAncestors") + @Operation(summary = "根据祖级ID获取分类信息列表", description = "获取所有的产品分类信息,顶级分类的ancestors为0,默认为顶级分类") + @Parameter(name = "ancestors", description = "祖级ID") + public ServerResponseEntity> categoryByAncestors(@RequestParam(value = "ancestors", defaultValue = "0") Long ancestors) { + List categories = categoryService.listByAncestors(ancestors); + return ServerResponseEntity.success(categories); + } + @PostMapping("/searchProdPage") @Operation(summary = "分页排序搜索商品", description = "根据商品名搜索") @Parameters({@Parameter(name = "categoryId", description = "分类ID"),@Parameter(name = "prodName", description = "商品名"), @Parameter(name = "floor", description = "是否特价 1:是 2:否", required = true),@Parameter(name = "sort", description = "排序(0综合 1价格排序 2热门 3新品)", required = true), @Parameter(name = "orderBy", description = "排序(0升序 1降序)--sort选择1时必传")}) diff --git a/ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/domain/TzCategory.java b/ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/domain/TzCategory.java index 724a5c7..bd5b256 100644 --- a/ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/domain/TzCategory.java +++ b/ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/domain/TzCategory.java @@ -30,9 +30,9 @@ public class TzCategory extends BaseEntity { private Long categoryId; /** - * 店铺ID + * 祖级列表 */ - private Long shopId; + private String ancestors; /** * 父节点 diff --git a/ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/domain/bo/TzCategoryBo.java b/ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/domain/bo/TzCategoryBo.java index d14252f..83457f3 100644 --- a/ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/domain/bo/TzCategoryBo.java +++ b/ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/domain/bo/TzCategoryBo.java @@ -30,9 +30,9 @@ public class TzCategoryBo extends BaseEntity { private Long categoryId; /** - * 店铺ID + * 祖级列表 */ - private Long shopId; + private String ancestors; /** * 父节点 diff --git a/ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/domain/vo/TzCategoryVo.java b/ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/domain/vo/TzCategoryVo.java index 985b2f4..7f694b7 100644 --- a/ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/domain/vo/TzCategoryVo.java +++ b/ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/domain/vo/TzCategoryVo.java @@ -33,10 +33,10 @@ public class TzCategoryVo implements Serializable { private Long categoryId; /** - * 店铺ID + * 祖级列表 */ - @ExcelProperty(value = "店铺ID") - private Long shopId; + @ExcelProperty(value = "祖级列表") + private String ancestors; /** * 父节点 diff --git a/ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/ITzCategoryService.java b/ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/ITzCategoryService.java index ec4eae3..b2029d1 100644 --- a/ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/ITzCategoryService.java +++ b/ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/ITzCategoryService.java @@ -68,4 +68,11 @@ public interface ITzCategoryService { * @return */ List categoryAll(); + + /** + * 分类信息列表 + * @param ancestors + * @return + */ + List listByAncestors(Long ancestors); } diff --git a/ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/impl/TzCategoryServiceImpl.java b/ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/impl/TzCategoryServiceImpl.java index ff54e64..a949540 100644 --- a/ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/impl/TzCategoryServiceImpl.java +++ b/ruoyi-modules/ruoyi-mall/src/main/java/org/dromara/mall/service/impl/TzCategoryServiceImpl.java @@ -75,6 +75,10 @@ public class TzCategoryServiceImpl implements ITzCategoryService { bo.setGrade(category.getGrade()+1); category.setSubset(1); baseMapper.updateById(category); + + bo.setAncestors(category.getAncestors()+StringUtils.SEPARATOR+category.getCategoryId()); + }else{ + bo.setAncestors("0"); } bo.setRecTime(new Date()); TzCategory add = MapstructUtils.convert(bo, TzCategory.class); @@ -94,6 +98,10 @@ public class TzCategoryServiceImpl implements ITzCategoryService { bo.setGrade(category.getGrade()+1); category.setSubset(1); baseMapper.updateById(category); + + bo.setAncestors(category.getAncestors()+StringUtils.SEPARATOR+category.getCategoryId()); + }else{ + bo.setAncestors("0"); } TzCategory update = MapstructUtils.convert(bo, TzCategory.class); return baseMapper.updateById(update) > 0; @@ -113,19 +121,24 @@ public class TzCategoryServiceImpl implements ITzCategoryService { /** * 根据父级ID查询子类信息 - * * @param parentId - * @return */ @Override public List listByParentId(Long parentId) { return baseMapper.selectVoList(new LambdaQueryWrapper().eq(TzCategory::getParentId, parentId).eq(TzCategory::getStatus,1).eq(TzCategory::getSubset,1)); } + /** + * 分类信息列表 + * @param ancestors + */ + @Override + public List listByAncestors(Long ancestors) { + return baseMapper.selectVoList(new LambdaQueryWrapper().like(TzCategory::getAncestors, ancestors).eq(TzCategory::getStatus,1).eq(TzCategory::getSubset,1)); + } + /** * 全部分类信息列表 - * - * @return */ @Override public List categoryAll() {