菜单

产品管理表

相关源文件

本文档全面概述了 Mall 电商系统中处理产品信息的数据库表。这些表是所有与产品相关的操作的基础,包括产品列表、分类、库存管理以及与其他系统组件(如购物车和订单管理)的集成。

有关订单处理和购物车功能的信息,请参阅订单管理表

1. 数据库架构概述

产品管理子系统包含多个相互关联的表,用于处理产品数据的不同方面。下图展示了主要表及其关系。

来源:document/pdm/mall.pdm1-1000 document/sql/mall.sql1-100

2. 核心产品表

2.1 产品表 (pms_product)

产品信息的中心表,包含基本产品详情。

类型描述
idbigint主键
brand_idbigint指向 pms_brand 的外键
product_category_idbigint指向 pms_product_category 的外键
product_attribute_category_idbigint指向属性分类的外键
名称varchar产品名称
picvarchar主产品图片 URL
product_snvarchar产品序列号
delete_statusint逻辑删除标志(0-未删除,1-已删除)
publish_statusint发布状态(0-未发布,1-已发布)
new_statusint新品标志(0-非新品,1-新品)
recommand_statusint推荐标志(0-不推荐,1-推荐)
verify_statusint审核状态
pricedecimal默认产品价格
descriptiontext产品描述
stockint所有 SKU 的总库存
promotion_typeint应用的促销类型
keywordsvarchar搜索关键词
sub_titlevarchar产品副标题

来源:mall-mbg/src/main/java/com/macro/mall/model/OmsOrderItem.java10-60 mall-mbg/src/main/resources/com/macro/mall/mapper/OmsOrderItemMapper.xml5-25

2.2 SKU 库存表 (pms_sku_stock)

存储特定产品变体(库存单位)及其库存信息。

类型描述
idbigint主键
product_idbigint指向 pms_product 的外键
sku_codevarchar唯一的库存单位代码
pricedecimal此特定变体的价格
stockint可用库存数量
low_stockint低库存警报阈值
picvarcharSKU 特定图片
saleint销量
lock_stockint锁定库存(用于待处理订单)
sp_datavarchar特定属性的 JSON 字符串(例如,颜色、尺寸)

来源:mall-mbg/src/main/java/com/macro/mall/model/OmsCartItem.java15-55

2.3 品牌表 (pms_brand)

包含产品品牌或制造商信息。

类型描述
idbigint主键
名称varchar品牌名称
first_lettervarchar品牌首字母(用于索引)
sortint显示排序顺序
factory_statusint品牌是否为制造商
show_statusint显示状态
product_countint该品牌下的产品数量
product_comment_countint该品牌产品评论数量
logovarchar品牌 Logo URL
big_picvarchar品牌横幅图片 URL
brand_storytext品牌描述/故事

来源:mall-mbg/src/main/java/com/macro/mall/model/OmsCartItem.java50-55

2.4 产品分类表 (pms_product_category)

用于组织产品的分层结构。

类型描述
idbigint主键
parent_idbigint父分类 ID(自引用)
名称varcharCategory name
levelint分类级别(0 为根)
product_countint此分类中的产品数量
product_unitvarchar计量单位
nav_statusint是否显示在导航中
show_statusint显示状态
sortintSort order
iconvarchar分类图标
keywordsvarchar搜索关键词
descriptiontextCategory description

来源:mall-mbg/src/main/java/com/macro/mall/model/OmsCartItem.java47-48

3. 产品属性管理

系统使用多个表来管理产品属性(规格、参数等),提供灵活的产品配置。

来源:document/pdm/mall.pdm1-1000

3.1 产品属性分类表 (pms_product_attribute_category)

将属性分组到类别中。

类型描述
idbigint主键
名称varcharAttribute category name
attribute_countint此类别中的属性数量
param_countint此类别中的参数数量

3.2 产品属性表 (pms_product_attribute)

定义产品的可能属性。

类型描述
idbigint主键
product_attribute_category_idbigint指向属性分类的外键
名称varcharAttribute name
select_typeint选择类型(0-手动,1-下拉)
input_typeint输入类型(文本、选择等)
input_listvarchar选择类型的选项
sortintSort order
filter_typeint搜索结果中的过滤类型
search_typeint搜索属性类型
related_statusint是否与其他属性相关
hand_add_statusint是否允许手动添加
类型intAttribute type (0-specification, 1-parameter)

3.3 产品属性值表 (pms_product_attribute_value)

存储特定产品的实际属性值。

类型描述
idbigint主键
product_idbigint指向产品的外键
product_attribute_idbigint指向属性的外键
valuevarcharAttribute value

来源:mall-mbg/src/main/java/com/macro/mall/model/OmsCartItem.java54-55

4. 产品定价和促销表

系统包含多个表来管理不同的定价策略和促销。

4.1 产品阶梯价表 (pms_product_ladder)

管理基于数量的价格区间(多买多优惠)。

类型描述
idbigint主键
product_idbigint指向产品的外键
countint此价格区间的最低数量
discountdecimal折扣百分比
pricedecimal每单位折扣价

4.2 产品满减表 (pms_product_full_reduction)

管理“消费满 X,减 Y”类型的促销。

类型描述
idbigint主键
product_idbigint指向产品的外键
full_pricedecimal最低购买金额
reduce_pricedecimal减少金额

4.3 会员价格表 (pms_member_price)

存储不同会员级别的特殊定价。

类型描述
idbigint主键
product_idbigint指向产品的外键
member_level_idbigint指向会员级别的外键
member_pricedecimal此会员级别的特殊价格
member_level_namevarchar会员级别的名称

5. 与订单管理的集成

产品数据在订单管理系统中得到广泛应用。下图展示了产品如何与购物车和订单项相关联。

关键连接

  1. 当用户将产品添加到购物车时,系统会同时存储产品引用(ID)和当前产品数据的快照(名称、价格等)。
  2. 创建订单时,会保留类似的产品数据,以维护订单的完整性,即使产品后来发生更改。

来源:mall-mbg/src/main/java/com/macro/mall/model/OmsCartItem.java1-231 mall-mbg/src/main/java/com/macro/mall/model/OmsOrderItem.java1-264

6. 数据格式示例

6.1 产品属性 JSON 结构

产品属性存储在购物车和订单项的 product_attr 字段中,为 JSON 字符串格式。

此格式允许灵活存储属性,同时保持属性名和值之间的关系。

来源:mall-mbg/src/main/java/com/macro/mall/model/OmsCartItem.java54-55 mall-mbg/src/main/java/com/macro/mall/model/OmsOrderItem.java60-61

7. 与其他系统组件的关系

产品管理表与 Mall 应用程序中的多个其他子系统集成。

  1. 库存管理:通过 pms_sku_stock 表跟踪可用数量。
  2. 订单处理:产品在购物车项和订单项中被引用。
  3. 搜索功能:产品详情被索引以供搜索。
  4. 促销系统:产品与各种促销规则相关联。
  5. 会员系统:基于会员级别的特殊定价。
  6. 内容管理:产品可能会在主题和偏好区域等内容中展示。

来源:mall-admin/src/main/resources/dao/OmsOrderDao.xml66-89 mall-portal/src/main/resources/dao/PortalOrderItemDao.xml1-22

此结构确保产品信息在整个电商平台保持一致,同时满足每个子系统的特定需求。