菜单

品牌与分类管理

相关源文件

本页面介绍了mall电商系统中品牌和分类管理功能。这些功能是后台管理API (mall-admin) 的一部分,为产品品牌和分类提供了全面的管理能力,它们是电商系统组织产品的基础元素。

关于产品管理的信息,请参阅 产品管理。关于产品属性管理的信息,请参阅 产品属性管理

系统架构

品牌和分类管理功能采用分层架构实现,将控制器、服务和数据访问组件之间的关注点分离。

来源: mall-admin/src/main/java/com/macro/mall/controller/PmsBrandController.java mall-admin/src/main/java/com/macro/mall/controller/PmsProductCategoryController.java mall-admin/src/main/java/com/macro/mall/service/PmsBrandService.java mall-admin/src/main/java/com/macro/mall/service/PmsProductCategoryService.java mall-admin/src/main/java/com/macro/mall/service/impl/PmsBrandServiceImpl.java mall-admin/src/main/java/com/macro/mall/service/impl/PmsProductCategoryServiceImpl.java

数据模型

品牌和分类管理依赖于几个关键数据模型,这些模型存储了产品组织所需的信息。

来源: mall-admin/src/main/java/com/macro/mall/service/impl/PmsBrandServiceImpl.java mall-admin/src/main/java/com/macro/mall/service/impl/PmsProductCategoryServiceImpl.java

品牌管理

品牌数据结构

PmsBrand实体代表一个产品品牌,具有以下关键属性

字段描述
id唯一标识符
名称品牌名称
firstLetter品牌名称的首字母(用于字母排序)
sort显示排序
factoryStatus品牌是否为制造商(0:否,1:是)
showStatus显示状态(0:隐藏,1:可见)
productCount此品牌下的产品数量
productCommentCount此品牌下的产品评论数量
logo品牌 Logo URL
bigPic品牌大图 URL
brandStory品牌描述/故事

品牌API端点

PmsBrandController公开了以下用于品牌管理的端点

来源: mall-admin/src/main/java/com/macro/mall/controller/PmsBrandController.java30-132

品牌管理实现

PmsBrandServiceImpl包含品牌操作的业务逻辑

  1. 创建品牌:

    • 如果未提供,则自动设置首字母
    • 将品牌插入数据库
  2. 更新品牌:

    • 更新品牌信息
    • 更新与此品牌相关的所有产品以反映新品牌名称
  3. 列出品牌:

    • 支持按关键字和显示状态过滤
    • 包含分页功能
    • 按sort字段降序排序

来源: mall-admin/src/main/java/com/macro/mall/service/impl/PmsBrandServiceImpl.java30-112

品牌管理工作流程

来源: mall-admin/src/main/java/com/macro/mall/controller/PmsBrandController.java37-64 mall-admin/src/main/java/com/macro/mall/service/impl/PmsBrandServiceImpl.java35-62

分类管理

分类数据结构

PmsProductCategory实体代表一个产品分类,具有以下关键属性

字段描述
id唯一标识符
parentId父分类ID(0表示根分类)
名称分类名称
level分类级别(0表示根,1表示二级,以此类推)
productCount此分类中的产品数量
productUnit产品的度量单位(例如,件、千克)
navStatus导航栏显示状态(0:隐藏,1:可见)
showStatus显示状态(0:隐藏,1:可见)
sort显示排序
icon分类图标 URL
keywordsSEO关键字
description分类描述

分类层级结构

mall系统中的分类具有层级结构,包含父子关系

系统会根据每个分类的父级,自动计算并维护其正确的级别。

来源: mall-admin/src/main/java/com/macro/mall/service/impl/PmsProductCategoryServiceImpl.java140-153

分类API端点

PmsProductCategoryController公开了以下用于分类管理的端点

来源: mall-admin/src/main/java/com/macro/mall/controller/PmsProductCategoryController.java31-117

分类管理实现

PmsProductCategoryServiceImpl包含分类操作的业务逻辑

  1. 创建分类:

    • 根据父分类设置分类级别
    • 将分类插入数据库
    • 如果指定了产品属性,则创建与产品属性的关联
  2. 更新分类:

    • 更新分类信息
    • 更新分类级别
    • 更新与此分类相关的所有产品以反映新的分类名称
    • 更新产品属性关联
  3. 列出分类:

    • 支持按父ID分页列出
    • 按sort字段降序排序
  4. 列出带子分类的分类:

    • 检索分类及其子分类的层级结构
    • 用于显示分类树和导航菜单

来源: mall-admin/src/main/java/com/macro/mall/service/impl/PmsProductCategoryServiceImpl.java37-135

设置分类级别

分类管理的一个关键方面是根据父分类自动设置正确的级别

来源: mall-admin/src/main/java/com/macro/mall/service/impl/PmsProductCategoryServiceImpl.java140-153

分类管理工作流程

来源: mall-admin/src/main/java/com/macro/mall/controller/PmsProductCategoryController.java31-55 mall-admin/src/main/java/com/macro/mall/service/impl/PmsProductCategoryServiceImpl.java37-93

与产品管理的集成

品牌和分类与mall系统中的产品管理紧密集成

  1. 产品-品牌关系:

    • 每个产品都有一个brandId和brandName字段
    • 当品牌更新时,所有产品的brandName都会自动更新
  2. 产品-分类关系:

    • 每个产品都有一个productCategoryId和productCategoryName字段
    • 当分类更新时,所有产品的productCategoryName都会自动更新
  3. 按品牌和分类查询产品:

    • 产品服务允许按品牌ID和分类ID过滤产品

来源: mall-admin/src/main/java/com/macro/mall/service/impl/PmsProductServiceImpl.java207-230

状态管理

品牌和分类都有状态字段,用于控制它们的可见性和行为

品牌状态字段

  1. showStatus:控制品牌对客户是否可见
  2. factoryStatus:指示品牌是否为制造商

PmsBrandController提供端点以批量更新这些状态

来源: mall-admin/src/main/java/com/macro/mall/controller/PmsBrandController.java108-119

分类状态字段

  1. navStatus:控制分类是否显示在导航菜单中
  2. showStatus:控制分类对客户是否可见

PmsProductCategoryController提供端点以批量更新这些状态

来源: mall-admin/src/main/java/com/macro/mall/controller/PmsProductCategoryController.java87-97

错误处理

系统使用GlobalExceptionHandler类进行全局异常处理,提供一致的错误响应

  1. 验证错误:当输入验证失败时,将返回标准化的错误响应
  1. API响应:所有API方法都返回CommonResult对象,包含适当的状态码和消息

来源: mall-common/src/main/java/com/macro/mall/common/exception/GlobalExceptionHandler.java31-57

总结

mall电商系统的品牌和分类管理模块提供了全面的产品组织功能。主要特点包括:

  1. 对品牌和分类进行完整的CRUD操作
  2. 层级化的分类结构,具有自动级别管理
  3. 状态管理,用于控制可见性和显示
  4. 与产品管理的集成,以维护数据一致性
  5. 高效管理的批量操作
  6. 标准化的错误处理和响应

这些能力构成了mall系统商品组织的基础,使管理员能够有效地管理商品目录。