Skip to content

CatchShop 商品模块数据字典

数据表概览

CatchShop 商城商品模块包含 12 个核心数据表:

表名中文名称用途
shop_products商品主表存储商品基础信息(SPU)
shop_product_sku商品 SKU 表存储商品规格库存单位
shop_category商品分类表商品分类管理
shop_product_brand商品品牌表品牌信息管理
shop_product_info商品详情表商品详细描述信息
shop_product_spec商品规格表规格名称定义
shop_product_spec_values规格值表规格的具体值
shop_product_services商品服务表售后服务定义
shop_product_tags商品标签表商品标签定义
shop_product_comments商品评论表用户商品评论
category_has_products分类商品关联表多对多关联
product_has_*其他关联表商品与服务、标签、规格的关联

1. shop_products - 商品主表

表说明:存储商品的基础信息(SPU),包括标题、价格、库存、状态等核心字段。

字段名类型长度是否必填默认值说明
idint11-主键 ID
typetinyint11商品类型:1=实体商品,2=虚拟商品,3=卡密商品
titlevarchar255-商品标题
keywordsvarchar255-SEO 关键词
subtitlevarchar255-商品副标题
imagesjson--商品图片(JSON 数组)
videovarchar255-商品视频链接
brand_idint11-品牌 ID,外键关联 shop_product_brand.id
category_idint11-主分类 ID,外键关联 shop_category.id
is_availabletinyint11上架状态:1=立即上架,2=放入仓库,3=下架,4=售罄
is_scheduletinyint12是否定时上下架:1=是,2=否
schedule_timeint10-定时上架时间戳
is_specificationstinyint11规格类型:1=单规格,2=多规格
unitvarchar20-商品单位(件、个、套等)
salesint110实际销量
virtual_salesint110虚拟销量
sortint110排序权重
ship_typetinyint11运费类型:1=固定运费,2=运费模板
ship_feeint110固定运费(分)
ship_template_idint11-运费模板 ID
product_novarchar50-商品编号
priceint110销售价格(分)
list_priceint110市场价格(分)
cost_priceint110成本价格(分)
weightint110重量(克)
volumeint110体积(立方厘米)
stockint110库存数量
alert_stockint110预警库存
creator_idint11-创建人 ID
created_atint10-创建时间戳
updated_atint10-更新时间戳
deleted_atint10-软删除时间戳

索引信息

  • PRIMARY KEY (id)
  • INDEX idx_title (title)
  • INDEX idx_brand_category (brand_id, category_id)
  • INDEX idx_status_sort (is_available, sort)
  • INDEX idx_price (price)
  • INDEX idx_created_at (created_at)

商品类型枚举

  • 1 - 实体商品(需要物流配送)
  • 2 - 虚拟商品(无需物流)
  • 3 - 卡密商品(自动发卡)

上架状态枚举

  • 1 - 立即上架
  • 2 - 放入仓库
  • 3 - 下架
  • 4 - 售罄

2. shop_product_sku - 商品 SKU 表

表说明:存储商品的具体规格库存单位,支持多规格商品的价格和库存管理。

字段名类型长度是否必填默认值说明
idint11-主键 ID
product_idint11-商品 ID,外键关联 shop_products.id
spec_idvarchar255-规格组合 ID(如:1_2_3)
imagesjson--SKU 专属图片(JSON 数组)
product_novarchar50-SKU 编号
priceint110销售价格(分)
list_priceint110市场价格(分)
cost_priceint110成本价格(分)
weightint110重量(克)
volumeint110体积(立方厘米)
stockint110库存数量
alert_stockint110预警库存
created_atint10-创建时间戳
updated_atint10-更新时间戳

索引信息

  • PRIMARY KEY (id)
  • INDEX idx_product_id (product_id)
  • INDEX idx_spec_id (spec_id)
  • INDEX idx_price (price)
  • INDEX idx_stock (stock)

关联关系

  • product_idshop_products.id (商品主表)

3. shop_category - 商品分类表

表说明:商品分类管理,支持树形结构的多级分类。

字段名类型长度是否必填默认值说明
idint11-主键 ID
parent_idint110父分类 ID,0 为顶级分类
namevarchar50-分类名称
iconvarchar255-分类图标
sortint110排序权重
statustinyint11状态:1=启用,0=禁用
titlevarchar255-SEO 标题
keywordsvarchar255-SEO 关键词
descriptionstext--SEO 描述
creator_idint11-创建人 ID
created_atint10-创建时间戳
updated_atint10-更新时间戳
deleted_atint10-软删除时间戳

索引信息

  • PRIMARY KEY (id)
  • INDEX idx_parent_id (parent_id)
  • INDEX idx_status_sort (status, sort)
  • INDEX idx_name (name)

4. shop_product_brand - 商品品牌表

表说明:商品品牌信息管理。

字段名类型长度是否必填默认值说明
idint11-主键 ID
namevarchar50-品牌名称
logovarchar255-品牌 LOGO
sortint110排序权重
creator_idint11-创建人 ID
created_atint10-创建时间戳
updated_atint10-更新时间戳
deleted_atint10-软删除时间戳

索引信息

  • PRIMARY KEY (id)
  • INDEX idx_name (name)
  • INDEX idx_sort (sort)

5. shop_product_info - 商品详情表

表说明:存储商品的详细描述信息,如商品详情、规格参数等。

字段名类型长度是否必填默认值说明
idint11-主键 ID
product_idint11-商品 ID,外键关联 shop_products.id
contentlongtext--商品详情内容(HTML)
paramsjson--商品参数(JSON 格式)
created_atint10-创建时间戳
updated_atint10-更新时间戳

索引信息

  • PRIMARY KEY (id)
  • UNIQUE KEY uk_product_id (product_id)

关联关系

  • product_idshop_products.id (商品主表)

6. shop_product_spec - 商品规格表

表说明:定义商品规格名称,如"颜色"、"尺寸"等。

字段名类型长度是否必填默认值说明
idint11-主键 ID
namevarchar50-规格名称(如:颜色、尺寸)
sortint110排序权重
created_atint10-创建时间戳
updated_atint10-更新时间戳

索引信息

  • PRIMARY KEY (id)
  • INDEX idx_name (name)
  • INDEX idx_sort (sort)

7. shop_product_spec_values - 规格值表

表说明:存储具体的规格值,如"红色"、"蓝色"、"L"、"XL"等。

字段名类型长度是否必填默认值说明
idint11-主键 ID
spec_idint11-规格 ID,外键关联 shop_product_spec.id
valuevarchar50-规格值(如:红色、L)
imagevarchar255-规格值图片(如颜色图片)
sortint110排序权重
created_atint10-创建时间戳
updated_atint10-更新时间戳

索引信息

  • PRIMARY KEY (id)
  • INDEX idx_spec_id (spec_id)
  • INDEX idx_value (value)
  • INDEX idx_sort (sort)

关联关系

  • spec_idshop_product_spec.id (规格表)

8. shop_product_services - 商品服务表

表说明:定义商品的售后服务,如"7 天无理由退换"、"质量保证"等。

字段名类型长度是否必填默认值说明
idint11-主键 ID
namevarchar50-服务名称
descriptionvarchar255-服务描述
iconvarchar255-服务图标
sortint110排序权重
statustinyint11状态:1=启用,0=禁用
created_atint10-创建时间戳
updated_atint10-更新时间戳

索引信息

  • PRIMARY KEY (id)
  • INDEX idx_name (name)
  • INDEX idx_status_sort (status, sort)

9. shop_product_tags - 商品标签表

表说明:定义商品标签,如"热销"、"新品"、"推荐"等。

字段名类型长度是否必填默认值说明
idint11-主键 ID
namevarchar50-标签名称
colorvarchar20-标签颜色(如:#FF0000)
sortint110排序权重
statustinyint11状态:1=启用,0=禁用
created_atint10-创建时间戳
updated_atint10-更新时间戳

索引信息

  • PRIMARY KEY (id)
  • INDEX idx_name (name)
  • INDEX idx_status_sort (status, sort)

10. shop_product_comments - 商品评论表

表说明:存储用户对商品的评论和评分。

字段名类型长度是否必填默认值说明
idint11-主键 ID
product_idint11-商品 ID,外键关联 shop_products.id
user_idint11-用户 ID,外键关联 users.id
order_idint11-订单 ID,外键关联 shop_orders.id
ratingtinyint15评分:1-5 星
contenttext--评论内容
imagesjson--评论图片(JSON 数组)
reply_contenttext--商家回复内容
reply_timeint10-回复时间戳
statustinyint11状态:1=正常,0=隐藏
created_atint10-创建时间戳
updated_atint10-更新时间戳

索引信息

  • PRIMARY KEY (id)
  • INDEX idx_product_id (product_id)
  • INDEX idx_user_id (user_id)
  • INDEX idx_order_id (order_id)
  • INDEX idx_rating (rating)
  • INDEX idx_status_created (status, created_at)

关联关系

  • product_idshop_products.id (商品主表)
  • user_idusers.id (用户表)
  • order_idshop_orders.id (订单表)

关联表

category_has_products - 分类商品关联表

表说明:商品与分类的多对多关联关系。

字段名类型说明
category_idint分类 ID
product_idint商品 ID

product_has_services - 商品服务关联表

表说明:商品与服务的多对多关联关系。

字段名类型说明
product_idint商品 ID
service_idint服务 ID

product_has_tags - 商品标签关联表

表说明:商品与标签的多对多关联关系。

字段名类型说明
product_idint商品 ID
tag_idint标签 ID

product_has_specs - 商品规格关联表

表说明:商品与规格值的多对多关联关系。

字段名类型说明
product_idint商品 ID
spec_idint规格 ID
spec_value_idint规格值 ID

业务规则说明

商品管理规则

  1. 价格单位:所有价格以分为单位存储,避免浮点数精度问题
  2. 图片存储:商品图片以 JSON 数组格式存储,支持多图展示
  3. 库存管理:支持总库存和 SKU 级别库存,库存不能为负数
  4. 状态控制:商品状态变更需要考虑业务逻辑限制

规格管理规则

  1. 单/多规格:商品可以是单规格或多规格,通过 is_specifications 字段控制
  2. 规格组合:多规格商品的 SKU 通过规格值组合生成
  3. 规格处理:规格数据需要通过 SpecificationProcessor 进行处理
  4. 规格限制:删除规格时需要检查是否有商品在使用

分类管理规则

  1. 树形结构:支持无限级分类,通过 parent_id 构建父子关系
  2. 分类关联:商品可以属于多个分类,通过关联表实现
  3. 分类删除:删除分类时需要处理子分类和关联商品
  4. 分类排序:通过 sort 字段控制显示顺序

评论管理规则

  1. 评论权限:只有购买过商品的用户才能评论(通过 order_id 关联)
  2. 评分范围:评分为 1-5 星,必须在有效范围内
  3. 评论审核:可以通过 status 字段控制评论的显示/隐藏
  4. 商家回复:支持商家对评论进行回复