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() {