惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 司徒正美
The GitHub Blog
The GitHub Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Apple Machine Learning Research
Apple Machine Learning Research
L
LangChain Blog
GbyAI
GbyAI
博客园_首页
V
Visual Studio Blog
Martin Fowler
Martin Fowler
WordPress大学
WordPress大学
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园 - 叶小钗
腾讯CDC
博客园 - Franky
IT之家
IT之家
Google DeepMind News
Google DeepMind News
Microsoft Azure Blog
Microsoft Azure Blog
D
Docker
大猫的无限游戏
大猫的无限游戏
Recent Announcements
Recent Announcements
小众软件
小众软件
博客园 - 三生石上(FineUI控件)
B
Blog
酷 壳 – CoolShell
酷 壳 – CoolShell

博客园 - 升鲜宝生鲜供应链系统

升鲜宝生鲜配送供应链系统 vs_车辆管理模块开发文档 PRD(一)---升鲜宝生鲜配送供应链管理系统 升鲜宝供应链管理系统Spring Boot 4.0 项目源代码结构及数据库字典模块命名与表字段命名开发约束规范(一)---升鲜宝生鲜配送供应链管理系统 升鲜宝 B2B 订货商城线性 --- |----- 原型图(一)---升鲜宝生鲜配送供应链管理系统源代码服务 升鲜宝云商品库功能设计与数据库表结构详细文档(一)---升鲜宝生鲜配送供应链管理系统源代码服务 升鲜宝PAD生产加工系统:销售单客户预订明细分割增强版 猪肉分割加工轻量版 · PAD端操作效果图与开发说明(二)---升鲜宝生鲜配送供应链管理系统源代码服务 升鲜宝PAD生产加工系统 猪肉分割加工轻量版功能模块方案与页面效果图(一)---升鲜宝生鲜配送供应链管理系统 升鲜宝B2B订货商城后端开发文档(一)---升鲜宝生鲜配送供应链管理系统 【研究与学习】悦厚系统商品模块功能设计与数据字典文档(一)---升鲜宝生鲜配送供应链管理系统 【研究与学习】易订货商品模块设计分析文档字段级数据字典 + 表关系 + 单位换算 + 价格/库存/促销链路(一)---升鲜宝生鲜配送供应链管理系统 【研究与学习收银系统】(一)菜某秘后台 SaaS 租户运营控制、费用管理系统数据字典及功能设计方案详细文档 升鲜宝云仓供应链管理系统功能详细设计方案 PRD(二)---升鲜宝生鲜配送供应链管理系统 升鲜宝云仓供应链管理系统方案(一)---升鲜宝供应链管理系统 统一字段权限组件功能设计方案(一)---升鲜宝生鲜配送供应链管理系统 升鲜宝供应链管理系统生成图片、生成 PDF、生成分享码通用组件功能设计文档(一)---升鲜宝生鲜配送供应链管理系统源代码(Spring Boot Vue3 Uniapp ) 升鲜宝后端 API 与手机端 API 开发说明(一)---升鲜宝生鲜配送供应链管理系统重构版 「我的中心」设置模块 功能设计与开发文档(一)--- 升鲜宝生鲜配送供应链管理系统重构说明 通用明细列表控件设计与开发文档(一)---升鲜宝生鲜配送供应链管理软件重构方案 管理类软件通用高级查询组件(一)---升鲜宝生鲜配送供应链管理软件重构方案 升鲜宝商品模块重构版接口清单 (二)+ 页面原型字段设计 升鲜宝供应链商品模块设计(一) 数据字典及功能开发详细说明 升鲜宝日志功能模块设计说明(一)---生鲜配送供应链管理系统源代码 升鲜宝静态文本国际化完整 SQL 说明 升鲜宝多语言数据库设计演进对比文档 升鲜宝通用自定义列导入导出功能的通用设计方案(一)---升鲜宝生鲜配送供应链管理系统源代码 升鲜宝高性能多语言解决方案(二)---升鲜宝生鲜配送供应链管理系统 升鲜宝高性能多语言解决方案(一)---升鲜宝生鲜配送供应链管理系统 企业微信CRM模块功能设计(三)—— 升鲜宝生鲜配送供应链管理系统源代码 企业微信CRM模块功能设计(二)—— 升鲜宝生鲜配送供应链管理系统源代码 企业微信CRM模块功能设计(一)—— 升鲜宝生鲜配送供应链管理系统源代码 升鲜宝社区团购商城软件设计功能文档(含完整功能设计、业务流程图、数据字典、DDL 口径与后台权限设计)--生鲜配送供应链管理系统源码
【研究与学习】快驴商品模块功能分析与数据库表结构设计文档(...
升鲜宝生鲜供应链系统 · 2026-05-09 · via 博客园 - 升鲜宝生鲜供应链系统

八、字段级数据字典与关联关系

本章节是本文的核心:每张商品相关表均按照“字段、类型、约束/索引、业务含义、关联/规则”进行字段级说明。

8.1 kl_goods_category:商品分类表

字段名

类型

约束/索引

业务含义

字段关联/校验规则

id

BIGINT

PK
NOT NULL
AUTO_INCREMENT

分类ID

parent_id

BIGINT

NOT NULL
DEFAULT 0

父级分类ID,0表示一级分类

kl_goods_category.id
分类树自关联

category_code

VARCHAR(32)

NOT NULL

分类编码


平台内唯一

category_name

VARCHAR(64)

NOT NULL

分类名称


同级分类建议唯一

category_level

TINYINT

NOT NULL

分类层级:1一级 2二级 3三级


parent_id 推导或写入

category_path

VARCHAR(255)

分类路径,如/1/10/100


便于递归查询

goods_type

TINYINT

NOT NULL
DEFAULT 1

默认商品类型:1标品 2生鲜非标 3称重品 4冻品 5预售品

kl_goods_spu.goods_type
创建SPU时可继承

storage_type

TINYINT

NOT NULL
DEFAULT 1

默认温区:1常温 2冷藏 3冷冻

kl_goods_spu.storage_type
创建SPU时可继承

qc_required_flag

TINYINT

NOT NULL
DEFAULT 0

是否需要质检:0否 1是

kl_goods_spu.qc_required_flag
生鲜/冻品默认开启

shelf_life_required_flag

TINYINT

NOT NULL
DEFAULT 0

是否需要效期:0否 1是

kl_goods_spu.shelf_life_required_flag
食品类建议开启

cert_required_flag

TINYINT

NOT NULL
DEFAULT 0

是否需要资质证照:0否 1是

kl_goods_cert
涉及食安/检疫时开启

sale_after_rule_type

TINYINT

默认售后规则类型


分类级售后时效/退换规则

icon_url

VARCHAR(255)

分类图标


前端展示

sort_no

INT

NOT NULL
DEFAULT 0

排序号


越小越靠前

enabled_flag

TINYINT

NOT NULL
DEFAULT 1

启用标记:0停用 1启用


停用后前台不展示

created_at

DATETIME

NOT NULL
DEFAULT CURRENT_TIMESTAMP

创建时间

updated_at

DATETIME

NOT NULL
DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

更新时间

deleted_flag

TINYINT

NOT NULL
DEFAULT 0

删除标记:0否 1是


逻辑删除

主要索引/约束:

PRIMARY KEY (id)

UNIQUE KEY uk_category_code (category_code)

KEY idx_parent_id (parent_id)

KEY idx_category_level (category_level)

8.2 kl_goods_brand:商品品牌表

字段名

类型

约束/索引

业务含义

字段关联/校验规则

id

BIGINT

PK
NOT NULL
AUTO_INCREMENT

品牌ID

brand_code

VARCHAR(32)

NOT NULL

品牌编码


平台内唯一

brand_name

VARCHAR(128)

NOT NULL

品牌名称


支持模糊查询

brand_alias

VARCHAR(128)

品牌别名


可用于搜索

logo_url

VARCHAR(255)

品牌Logo

origin_country

VARCHAR(64)

品牌国家/地区

sort_no

INT

NOT NULL
DEFAULT 0

排序号

enabled_flag

TINYINT

NOT NULL
DEFAULT 1

启用标记:0停用 1启用

created_at

DATETIME

NOT NULL
DEFAULT CURRENT_TIMESTAMP

创建时间

updated_at

DATETIME

NOT NULL
DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

更新时间

deleted_flag

TINYINT

NOT NULL
DEFAULT 0

删除标记

主要索引/约束:

PRIMARY KEY (id)

UNIQUE KEY uk_brand_code (brand_code)

KEY idx_brand_name (brand_name)

8.3 kl_goods_attribute:商品属性定义表

字段名

类型

约束/索引

业务含义

字段关联/校验规则

id

BIGINT

PK
NOT NULL
AUTO_INCREMENT

属性ID

category_id

BIGINT

所属分类ID

kl_goods_category.id
分类属性模板

attr_code

VARCHAR(32)

NOT NULL

属性编码


同一分类下唯一

attr_name

VARCHAR(64)

属性名称


如规格、等级、口味、包装

attr_type

TINYINT

属性类型:1规格属性 2参数属性 3履约属性


规格属性影响SKU

input_type

TINYINT

录入方式:1手工 2单选 3多选 4数值 5日期

required_flag

TINYINT

NOT NULL
DEFAULT 0

是否必填

search_flag

TINYINT

NOT NULL
DEFAULT 0

是否作为搜索筛选项

sort_no

INT

NOT NULL
DEFAULT 0

排序号

enabled_flag

TINYINT

NOT NULL
DEFAULT 1

启用标记

created_at

DATETIME

NOT NULL
DEFAULT CURRENT_TIMESTAMP

创建时间

updated_at

DATETIME

NOT NULL
DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

更新时间

deleted_flag

TINYINT

NOT NULL
DEFAULT 0

删除标记

主要索引/约束:

PRIMARY KEY (id)

UNIQUE KEY uk_category_attr_code (category_id, attr_code)

KEY idx_category_id (category_id)

8.4 kl_goods_attribute_value:商品属性可选值表

字段名

类型

约束/索引

业务含义

字段关联/校验规则

id

BIGINT

PK
NOT NULL
AUTO_INCREMENT

属性值ID

attr_id

BIGINT

属性ID

kl_goods_attribute.id

value_code

VARCHAR(32)

属性值编码

value_name

VARCHAR(128)

属性值名称

sort_no

INT

NOT NULL
DEFAULT 0

排序号

enabled_flag

TINYINT

NOT NULL
DEFAULT 1

启用标记

created_at

DATETIME

NOT NULL
DEFAULT CURRENT_TIMESTAMP

创建时间

deleted_flag

TINYINT

NOT NULL
DEFAULT 0

删除标记

主要索引/约束:

PRIMARY KEY (id)

UNIQUE KEY uk_attr_value_code (attr_id, value_code)

KEY idx_attr_id (attr_id)

8.5 kl_goods_spu:商品SPU表

字段名

类型

约束/索引

业务含义

字段关联/校验规则

id

BIGINT

PK
NOT NULL
AUTO_INCREMENT

SPU ID

spu_code

VARCHAR(32)

NOT NULL

SPU编码


平台唯一

spu_name

VARCHAR(128)

NOT NULL

商品名称


如土豆、精品生菜

short_name

VARCHAR(64)

商品简称


用于标签/移动端

category_id

BIGINT

NOT NULL

分类ID

kl_goods_category.id
必填

brand_id

BIGINT

品牌ID

kl_goods_brand.id
无品牌可空

goods_type

TINYINT

NOT NULL
DEFAULT 1

商品类型:1标品 2生鲜非标 3称重品 4冻品 5预售品


继承分类默认值

storage_type

TINYINT

NOT NULL
DEFAULT 1

温区:1常温 2冷藏 3冷冻


影响仓储与标签

source_type

TINYINT

NOT NULL
DEFAULT 1

来源:1平台自建 2供应商创建 3系统导入


供应商创建需审核

origin_place

VARCHAR(128)

产地


商品详情/溯源

shelf_life_days

INT

保质期天数


效期商品必填

shelf_life_unit

TINYINT

DEFAULT 1

保质期单位:1天 2月 3年

batch_required_flag

TINYINT

NOT NULL
DEFAULT 0

是否批次管理


生鲜/冻品/食品建议开启

shelf_life_required_flag

TINYINT

NOT NULL
DEFAULT 0

是否效期管理

weigh_flag

TINYINT

NOT NULL
DEFAULT 0

是否称重商品


称重品需要称重单位

fresh_flag

TINYINT

NOT NULL
DEFAULT 0

是否生鲜商品


影响质检与售后时效

cert_required_flag

TINYINT

NOT NULL
DEFAULT 0

是否需要商品资质

qc_required_flag

TINYINT

NOT NULL
DEFAULT 0

是否需要质检

supplier_quote_flag

TINYINT

NOT NULL
DEFAULT 1

是否允许供应商报价


平台模式核心开关

city_sale_flag

TINYINT

NOT NULL
DEFAULT 1

是否允许城市销售


不同城市可单独上架

description

TEXT

商品描述

main_image_url

VARCHAR(255)

主图URL

kl_goods_image.image_url
可由主图同步

audit_status

TINYINT

NOT NULL
DEFAULT 0

审核状态:0待审 1通过 2拒绝 3撤回


通过后允许生成SKU/上架

enabled_flag

TINYINT

NOT NULL
DEFAULT 1

启用标记

created_by

BIGINT

创建人ID

kl_sys_user.id

created_at

DATETIME

NOT NULL
DEFAULT CURRENT_TIMESTAMP

创建时间

updated_by

BIGINT

更新人ID

kl_sys_user.id

updated_at

DATETIME

NOT NULL
DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

更新时间

deleted_flag

TINYINT

NOT NULL
DEFAULT 0

删除标记

主要索引/约束:

PRIMARY KEY (id)

UNIQUE KEY uk_spu_code (spu_code)

KEY idx_category_id (category_id)

KEY idx_brand_id (brand_id)

KEY idx_spu_name (spu_name)

KEY idx_goods_type (goods_type)

8.6 kl_goods_sku:商品SKU表

字段名

类型

约束/索引

业务含义

字段关联/校验规则

id

BIGINT

PK
NOT NULL
AUTO_INCREMENT

SKU ID

spu_id

BIGINT

NOT NULL

SPU ID

kl_goods_spu.id
一个SPU多个SKU

sku_code

VARCHAR(32)

NOT NULL

SKU编码


平台唯一

sku_name

VARCHAR(128)

NOT NULL

SKU名称


可冗余SPU+规格

spec_value

VARCHAR(128)

规格值


5kg/袋、24瓶/箱

package_spec

VARCHAR(128)

包装规格


履约包装说明

package_material

VARCHAR(64)

包装材质


如塑料袋、纸箱

package_color

VARCHAR(64)

包装颜色


用于区分相似商品

barcode

VARCHAR(64)

商品条码


标品优先填

external_sku_code

VARCHAR(64)

外部SKU编码


对接供应商/ERP

net_weight

DECIMAL(18,4)

净重


配合重量单位

gross_weight

DECIMAL(18,4)

毛重


物流计费/装车

length

DECIMAL(18,4)

width

DECIMAL(18,4)

height

DECIMAL(18,4)

volume

DECIMAL(18,6)

体积


长宽高可计算

weight_unit_id

BIGINT

重量单位ID

kl_goods_unit.id

default_sale_unit_id

BIGINT

默认销售单位ID

kl_goods_unit.id
必须在kl_goods_sku_unit中sale_unit_flag=1

default_purchase_unit_id

BIGINT

默认采购单位ID

kl_goods_unit.id
必须在kl_goods_sku_unit中purchase_unit_flag=1

default_inventory_unit_id

BIGINT

默认库存单位ID

kl_goods_unit.id
必须在kl_goods_sku_unit中inventory_unit_flag=1

label_required_flag

TINYINT

NOT NULL
DEFAULT 1

是否要求打印商品标签


合作商交付关键字段

low_temp_label_flag

TINYINT

NOT NULL
DEFAULT 0

是否需要低温标签


冷冻/冷藏可开启

fragile_flag

TINYINT

是否易碎


影响分拣/配送

enabled_flag

TINYINT

NOT NULL
DEFAULT 1

启用标记

created_at

DATETIME

NOT NULL
DEFAULT CURRENT_TIMESTAMP

创建时间

updated_at

DATETIME

NOT NULL
DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

更新时间

deleted_flag

TINYINT

NOT NULL
DEFAULT 0

删除标记

主要索引/约束:

PRIMARY KEY (id)

UNIQUE KEY uk_sku_code (sku_code)

KEY idx_spu_id (spu_id)

KEY idx_barcode (barcode)

KEY idx_default_sale_unit (default_sale_unit_id)

8.7 kl_goods_sku_attribute:SKU属性值表

字段名

类型

约束/索引

业务含义

字段关联/校验规则

id

BIGINT

PK
NOT NULL
AUTO_INCREMENT

SKU属性ID

spu_id

BIGINT

SPU ID

kl_goods_spu.id
冗余便于查询

sku_id

BIGINT

SKU ID

kl_goods_sku.id

attr_id

BIGINT

属性ID

kl_goods_attribute.id

attr_code

VARCHAR(32)

属性编码


冗余

attr_name

VARCHAR(64)

属性名称


冗余

attr_value_id

BIGINT

属性值ID

kl_goods_attribute_value.id
可空,手工值时为空

attr_value

VARCHAR(128)

属性值

created_at

DATETIME

NOT NULL
DEFAULT CURRENT_TIMESTAMP

创建时间

deleted_flag

TINYINT

NOT NULL
DEFAULT 0

删除标记

主要索引/约束:

PRIMARY KEY (id)

UNIQUE KEY uk_sku_attr (sku_id, attr_id)

KEY idx_spu_id (spu_id)

KEY idx_attr_id (attr_id)

8.8 kl_goods_unit:商品单位表

字段名

类型

约束/索引

业务含义

字段关联/校验规则

id

BIGINT

PK
NOT NULL
AUTO_INCREMENT

单位ID

unit_code

VARCHAR(32)

NOT NULL

单位编码


平台唯一

unit_name

VARCHAR(32)

NOT NULL

单位名称


如斤、kg、箱、袋

unit_type

TINYINT

NOT NULL
DEFAULT 1

单位类型:1数量 2重量 3体积 4包装


影响换算规则

precision_scale

INT

NOT NULL
DEFAULT 2

数量小数位


用于数量录入与展示

standard_flag

TINYINT

NOT NULL
DEFAULT 0

是否标准单位


kg、g、L等可标为标准

enabled_flag

TINYINT

NOT NULL
DEFAULT 1

启用标记

created_at

DATETIME

NOT NULL
DEFAULT CURRENT_TIMESTAMP

创建时间

updated_at

DATETIME

NOT NULL
DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

更新时间

deleted_flag

TINYINT

NOT NULL
DEFAULT 0

删除标记

主要索引/约束:

PRIMARY KEY (id)

UNIQUE KEY uk_unit_code (unit_code)

UNIQUE KEY uk_unit_name (unit_name)

8.9 kl_goods_sku_unit:SKU单位关系表

字段名

类型

约束/索引

业务含义

字段关联/校验规则

id

BIGINT

PK
NOT NULL
AUTO_INCREMENT

SKU单位关系ID

sku_id

BIGINT

NOT NULL

SKU ID

kl_goods_sku.id

unit_id

BIGINT

NOT NULL

单位ID

kl_goods_unit.id

base_unit_flag

TINYINT

NOT NULL
DEFAULT 0

是否基础单位


一个SKU只能有一个基础单位

sale_unit_flag

TINYINT

NOT NULL
DEFAULT 0

是否销售单位

kl_goods_city_sale.sale_unit_id
城市商品销售单位必须开启

purchase_unit_flag

TINYINT

NOT NULL
DEFAULT 0

是否采购单位

kl_goods_supplier_quote.supply_unit_id
供应商供货单位必须开启

inventory_unit_flag

TINYINT

NOT NULL
DEFAULT 0

是否库存单位

kl_wms_inventory.unit_id
库存单位必须开启

weigh_unit_flag

TINYINT

NOT NULL
DEFAULT 0

是否称重单位


称重品使用

conversion_rate

DECIMAL(18,6)

NOT NULL
DEFAULT 1

相对基础单位换算率


例:1箱=20kg,则箱相对kg为20

reverse_conversion_rate

DECIMAL(18,6)

反向换算率


可选冗余

min_order_qty

DECIMAL(18,4)

最小起订量


销售/采购均可校验

max_order_qty

DECIMAL(18,4)

最大订购量


限购/供货约束

order_step_qty

DECIMAL(18,4)

订购步长


0.5斤、1箱

enabled_flag

TINYINT

NOT NULL
DEFAULT 1

启用标记

created_at

DATETIME

NOT NULL
DEFAULT CURRENT_TIMESTAMP

创建时间

updated_at

DATETIME

NOT NULL
DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

更新时间

deleted_flag

TINYINT

NOT NULL
DEFAULT 0

删除标记

主要索引/约束:

PRIMARY KEY (id)

UNIQUE KEY uk_sku_unit (sku_id, unit_id)

KEY idx_sku_id (sku_id)

KEY idx_unit_id (unit_id)

KEY idx_sale_unit (sku_id, sale_unit_flag)

KEY idx_purchase_unit (sku_id, purchase_unit_flag)

KEY idx_inventory_unit (sku_id, inventory_unit_flag)

8.10 kl_goods_image:商品图片表

字段名

类型

约束/索引

业务含义

字段关联/校验规则

id

BIGINT

PK
NOT NULL
AUTO_INCREMENT

图片ID

spu_id

BIGINT

SPU ID

kl_goods_spu.id
SPU图片

sku_id

BIGINT

SKU ID

kl_goods_sku.id
SKU图片

image_type

TINYINT

NOT NULL
DEFAULT 1

图片类型:1主图 2轮播图 3详情图 4资质图 5包装图

image_url

VARCHAR(255)

NOT NULL

图片地址

sort_no

INT

NOT NULL
DEFAULT 0

排序号

main_flag

TINYINT

NOT NULL
DEFAULT 0

是否主图


可同步到SPU主图

enabled_flag

TINYINT

NOT NULL
DEFAULT 1

启用标记

created_at

DATETIME

NOT NULL
DEFAULT CURRENT_TIMESTAMP

创建时间

deleted_flag

TINYINT

NOT NULL
DEFAULT 0

删除标记

主要索引/约束:

PRIMARY KEY (id)

KEY idx_spu_id (spu_id)

KEY idx_sku_id (sku_id)

8.11 kl_goods_cert:商品资质证照表

字段名

类型

约束/索引

业务含义

字段关联/校验规则

id

BIGINT

PK
NOT NULL
AUTO_INCREMENT

资质ID

spu_id

BIGINT

SPU ID

kl_goods_spu.id
SPU级资质

sku_id

BIGINT

SKU ID

kl_goods_sku.id
SKU级资质

supplier_id

BIGINT

供应商ID

kl_supplier.id
供应商提供的资质

cert_type

TINYINT

资质类型:1检疫证 2检测报告 3生产许可 4合格证 5其他

cert_name

VARCHAR(128)

资质名称

cert_no

VARCHAR(128)

资质编号

file_url

VARCHAR(255)

文件URL

valid_start

DATE

有效期开始

valid_end

DATE

有效期结束


到期需提醒

audit_status

TINYINT

审核状态:0待审 1通过 2拒绝

enabled_flag

TINYINT

NOT NULL
DEFAULT 1

启用标记

created_at

DATETIME

NOT NULL
DEFAULT CURRENT_TIMESTAMP

创建时间

updated_at

DATETIME

NOT NULL
DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

更新时间

deleted_flag

TINYINT

NOT NULL
DEFAULT 0

删除标记

主要索引/约束:

PRIMARY KEY (id)

KEY idx_spu_id (spu_id)

KEY idx_sku_id (sku_id)

KEY idx_supplier_id (supplier_id)

KEY idx_valid_end (valid_end)

8.12 kl_goods_city_sale:城市商品销售池表

字段名

类型

约束/索引

业务含义

字段关联/校验规则

id

BIGINT

PK
NOT NULL
AUTO_INCREMENT

城市商品ID

city_id

BIGINT

NOT NULL

城市ID

kl_base_city.id
城市化运营核心字段

sku_id

BIGINT

NOT NULL

SKU ID

kl_goods_sku.id

sale_unit_id

BIGINT

NOT NULL

销售单位ID

kl_goods_unit.id
必须在sku_unit中sale_unit_flag=1

default_warehouse_id

BIGINT

默认履约仓库ID

kl_base_warehouse.id

sale_enabled

TINYINT

NOT NULL
DEFAULT 1

销售状态:0下架 1上架 2暂停 3售罄 4预售

presale_flag

TINYINT

NOT NULL
DEFAULT 0

是否预售


预售不强校验现货库存

stock_display_flag

TINYINT

NOT NULL
DEFAULT 1

是否展示库存


B端常用

stock_deduct_type

TINYINT

NOT NULL
DEFAULT 1

扣库存方式:1下单锁定 2支付锁定 3出库扣减

min_order_qty

DECIMAL(18,4)

最小起订量


覆盖SKU单位设置

max_order_qty

DECIMAL(18,4)

最大限购量

order_step_qty

DECIMAL(18,4)

订购步长

sale_start_time

DATETIME

销售开始时间

sale_end_time

DATETIME

销售结束时间

search_keyword

VARCHAR(255)

搜索关键词


同义词/拼音

sort_no

INT

NOT NULL
DEFAULT 0

排序号

created_at

DATETIME

NOT NULL
DEFAULT CURRENT_TIMESTAMP

创建时间

updated_at

DATETIME

NOT NULL
DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

更新时间

deleted_flag

TINYINT

NOT NULL
DEFAULT 0

删除标记

主要索引/约束:

PRIMARY KEY (id)

UNIQUE KEY uk_city_sku_unit (city_id, sku_id, sale_unit_id)

KEY idx_city_id (city_id)

KEY idx_sku_id (sku_id)

KEY idx_sale_enabled (sale_enabled)

KEY idx_default_warehouse (default_warehouse_id)

8.13 kl_goods_price_city:城市商品价格表

字段名

类型

约束/索引

业务含义

字段关联/校验规则

id

BIGINT

PK
NOT NULL
AUTO_INCREMENT

价格ID

city_goods_id

BIGINT

NOT NULL

城市商品ID

kl_goods_city_sale.id

city_id

BIGINT

NOT NULL

城市ID

kl_goods_city_sale.city_id
冗余便于查询

sku_id

BIGINT

NOT NULL

SKU ID

kl_goods_city_sale.sku_id
冗余便于查询

sale_unit_id

BIGINT

NOT NULL

销售单位ID

kl_goods_city_sale.sale_unit_id
冗余便于查询

cost_price

DECIMAL(18,4)

NOT NULL
DEFAULT 0

成本价

kl_goods_supplier_quote.quote_price
可由供应商报价/成本中心计算

sale_price

DECIMAL(18,4)

NOT NULL

销售价

kl_order_item.unit_price
下单时锁价到订单明细

market_price

DECIMAL(18,4)

市场价


展示/划线价

min_sale_price

DECIMAL(18,4)

最低售价


毛利红线

gross_margin_rate

DECIMAL(8,4)

毛利率


可由售价和成本计算

price_type

TINYINT

NOT NULL
DEFAULT 1

价格类型:1基础价 2活动价 3等级价 4协议价


价格优先级使用

effective_start

DATETIME

NOT NULL

生效开始时间

effective_end

DATETIME

生效结束时间


空表示长期有效

approval_status

TINYINT

NOT NULL
DEFAULT 0

审批状态:0待审 1通过 2拒绝


高风险调价走审批

enabled_flag

TINYINT

NOT NULL
DEFAULT 1

启用标记

created_at

DATETIME

NOT NULL
DEFAULT CURRENT_TIMESTAMP

创建时间

updated_at

DATETIME

NOT NULL
DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

更新时间

deleted_flag

TINYINT

NOT NULL
DEFAULT 0

删除标记

主要索引/约束:

PRIMARY KEY (id)

KEY idx_city_goods_id (city_goods_id)

KEY idx_city_sku_unit (city_id, sku_id, sale_unit_id)

KEY idx_effective_time (effective_start, effective_end)

8.14 kl_goods_supplier_quote:供应商商品报价表

字段名

类型

约束/索引

业务含义

字段关联/校验规则

id

BIGINT

PK
NOT NULL
AUTO_INCREMENT

供应商报价ID

supplier_id

BIGINT

NOT NULL

供应商ID

kl_supplier.id
报价主体

city_id

BIGINT

NOT NULL

服务城市ID

kl_base_city.id

warehouse_id

BIGINT

交货仓库ID

kl_base_warehouse.id
供应商交仓地点

sku_id

BIGINT

NOT NULL

SKU ID

kl_goods_sku.id

supply_unit_id

BIGINT

NOT NULL

供货单位ID

kl_goods_unit.id
必须在sku_unit中purchase_unit_flag=1

quote_price

DECIMAL(18,4)

NOT NULL

供应商报价


可作为成本价来源

tax_rate

DECIMAL(8,4)

税率


开票/结算

min_supply_qty

DECIMAL(18,4)

最小供货量

max_supply_qty

DECIMAL(18,4)

最大供货量

daily_capacity_qty

DECIMAL(18,4)

每日最大供货能力


供应商履约分配

lead_time_hours

INT

备货提前小时数


截单/备货计划

stockout_rate

DECIMAL(8,4)

历史缺货率


供应商评分

quality_score

DECIMAL(8,2)

商品质量评分


质检/售后回写

quote_status

TINYINT

NOT NULL
DEFAULT 0

报价状态:0待审 1生效 2拒绝 3失效 4暂停

effective_start

DATETIME

NOT NULL

生效开始时间

effective_end

DATETIME

生效结束时间

created_at

DATETIME

NOT NULL
DEFAULT CURRENT_TIMESTAMP

创建时间

updated_at

DATETIME

NOT NULL
DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

更新时间

deleted_flag

TINYINT

NOT NULL
DEFAULT 0

删除标记

主要索引/约束:

PRIMARY KEY (id)

KEY idx_supplier_id (supplier_id)

KEY idx_city_sku (city_id, sku_id)

KEY idx_warehouse_id (warehouse_id)

KEY idx_effective_time (effective_start, effective_end)

8.15 kl_goods_supplier_quote_history:供应商报价历史表

字段名

类型

约束/索引

业务含义

字段关联/校验规则

id

BIGINT

PK
NOT NULL
AUTO_INCREMENT

历史ID

quote_id

BIGINT

报价ID

kl_goods_supplier_quote.id

supplier_id

BIGINT

供应商ID

kl_supplier.id
冗余

sku_id

BIGINT

SKU ID

kl_goods_sku.id
冗余

old_quote_price

DECIMAL(18,4)

调整前报价

new_quote_price

DECIMAL(18,4)

调整后报价

change_reason

VARCHAR(255)

调整原因

operator_id

BIGINT

操作人ID

kl_sys_user.id

created_at

DATETIME

NOT NULL
DEFAULT CURRENT_TIMESTAMP

创建时间

主要索引/约束:

PRIMARY KEY (id)

KEY idx_quote_id (quote_id)

KEY idx_supplier_sku (supplier_id, sku_id)

8.16 kl_goods_qc_standard:商品质检标准表

字段名

类型

约束/索引

业务含义

字段关联/校验规则

id

BIGINT

PK
NOT NULL
AUTO_INCREMENT

质检标准ID

category_id

BIGINT

分类ID

kl_goods_category.id
分类级标准

spu_id

BIGINT

SPU ID

kl_goods_spu.id
SPU级标准

sku_id

BIGINT

SKU ID

kl_goods_sku.id
SKU级标准

standard_code

VARCHAR(32)

NOT NULL

标准编码


唯一

standard_name

VARCHAR(128)

NOT NULL

标准名称

standard_level

TINYINT

NOT NULL
DEFAULT 1

标准级别:1分类 2SPU 3SKU


优先级SKU>SPU>分类

storage_type

TINYINT

适用温区:1常温 2冷藏 3冷冻

appearance_required

VARCHAR(512)

外观要求


如无腐烂、无明显泥沙

package_required

VARCHAR(512)

包装要求

label_required

VARCHAR(512)

标签要求


一物一签、清晰可扫

temp_min

DECIMAL(8,2)

最低温度


冷链质检

temp_max

DECIMAL(8,2)

最高温度


冷链质检

weight_tolerance_rate

DECIMAL(8,4)

重量允许误差比例


±3%

shelf_life_min_days

INT

入库最低剩余保质期天数

reject_rule

VARCHAR(512)

拒收规则

enabled_flag

TINYINT

NOT NULL
DEFAULT 1

启用标记

created_at

DATETIME

NOT NULL
DEFAULT CURRENT_TIMESTAMP

创建时间

updated_at

DATETIME

NOT NULL
DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

更新时间

deleted_flag

TINYINT

NOT NULL
DEFAULT 0

删除标记

主要索引/约束:

PRIMARY KEY (id)

UNIQUE KEY uk_standard_code (standard_code)

KEY idx_category_id (category_id)

KEY idx_spu_id (spu_id)

KEY idx_sku_id (sku_id)

8.17 kl_goods_label_template:商品标签模板表

字段名

类型

约束/索引

业务含义

字段关联/校验规则

id

BIGINT

PK
NOT NULL
AUTO_INCREMENT

标签模板ID

template_code

VARCHAR(32)

NOT NULL

模板编码


唯一

template_name

VARCHAR(128)

NOT NULL

模板名称

template_type

TINYINT

模板类型:1商品标签 2箱标签 3分拣标签 4冷冻标签

storage_type

TINYINT

适用温区

template_content

TEXT

NOT NULL

模板内容JSON/HTML

width_mm

DECIMAL(8,2)

宽度mm

height_mm

DECIMAL(8,2)

高度mm

low_temp_flag

TINYINT

NOT NULL
DEFAULT 0

是否低温标签

enabled_flag

TINYINT

NOT NULL
DEFAULT 1

启用标记

created_at

DATETIME

NOT NULL
DEFAULT CURRENT_TIMESTAMP

创建时间

updated_at

DATETIME

NOT NULL
DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

更新时间

deleted_flag

TINYINT

NOT NULL
DEFAULT 0

删除标记

主要索引/约束:

PRIMARY KEY (id)

UNIQUE KEY uk_template_code (template_code)

8.18 kl_goods_label_print:商品标签打印记录表

字段名

类型

约束/索引

业务含义

字段关联/校验规则

id

BIGINT

PK
NOT NULL
AUTO_INCREMENT

标签打印ID

print_code

VARCHAR(32)

NOT NULL

打印批次号


唯一

template_id

BIGINT

标签模板ID

kl_goods_label_template.id

supplier_id

BIGINT

供应商ID

kl_supplier.id

warehouse_id

BIGINT

仓库ID

kl_base_warehouse.id

fulfill_task_id

BIGINT

履约任务ID

kl_fulfill_supplier_task.id

order_id

BIGINT

订单ID

kl_order.id

order_item_id

BIGINT

订单明细ID

kl_order_item.id
标签追溯到订单明细

sku_id

BIGINT

NOT NULL

SKU ID

kl_goods_sku.id

sku_name

VARCHAR(128)

NOT NULL

SKU名称


快照

spec_value

VARCHAR(128)

规格


快照

quantity

DECIMAL(18,4)

标签对应数量

unit_id

BIGINT

单位ID

kl_goods_unit.id

qr_code

VARCHAR(255)

二维码内容

barcode

VARCHAR(128)

条码内容

print_status

TINYINT

NOT NULL
DEFAULT 0

打印状态:0待打印 1已打印 2失败

print_time

DATETIME

打印时间

created_at

DATETIME

NOT NULL
DEFAULT CURRENT_TIMESTAMP

创建时间

主要索引/约束:

PRIMARY KEY (id)

UNIQUE KEY uk_print_code (print_code)

KEY idx_template_id (template_id)

KEY idx_supplier_id (supplier_id)

KEY idx_sku_id (sku_id)

KEY idx_order_item_id (order_item_id)

8.19 kl_goods_substitute:商品替代关系表

字段名

类型

约束/索引

业务含义

字段关联/校验规则

id

BIGINT

PK
NOT NULL
AUTO_INCREMENT

替代商品ID

city_id

BIGINT

城市ID

kl_base_city.id
城市维度替代,可空表示全局

source_sku_id

BIGINT

NOT NULL

SKU ID

kl_goods_sku.id
缺货商品

substitute_sku_id

BIGINT

NOT NULL

替代SKU ID

kl_goods_sku.id
替代商品

substitute_level

TINYINT

NOT NULL
DEFAULT 1

替代优先级


越小优先级越高

substitute_type

TINYINT

替代类型:1同品 2相似 3升级 4降级

price_diff_handle_type

TINYINT

差价处理:1按新价 2原价 3人工确认

enabled_flag

TINYINT

NOT NULL
DEFAULT 1

启用标记

created_at

DATETIME

NOT NULL
DEFAULT CURRENT_TIMESTAMP

创建时间

updated_at

DATETIME

NOT NULL
DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

更新时间

deleted_flag

TINYINT

NOT NULL
DEFAULT 0

删除标记

主要索引/约束:

PRIMARY KEY (id)

UNIQUE KEY uk_source_substitute_city (city_id, source_sku_id, substitute_sku_id)

KEY idx_source_sku_id (source_sku_id)

KEY idx_substitute_sku_id (substitute_sku_id)

8.20 kl_goods_price_approval:商品调价审批表

字段名

类型

约束/索引

业务含义

字段关联/校验规则

id

BIGINT

PK
NOT NULL
AUTO_INCREMENT

审批ID

approval_code

VARCHAR(32)

NOT NULL

审批单号


唯一

price_id

BIGINT

价格ID

kl_goods_price_city.id
待审批价格记录

city_goods_id

BIGINT

城市商品ID

kl_goods_city_sale.id

sku_id

BIGINT

SKU ID

kl_goods_sku.id

old_sale_price

DECIMAL(18,4)

原销售价

new_sale_price

DECIMAL(18,4)

新销售价

old_cost_price

DECIMAL(18,4)

原成本价

new_cost_price

DECIMAL(18,4)

新成本价

reason

VARCHAR(512)

调价原因

approval_status

TINYINT

审批状态:0待审 1通过 2拒绝 3撤回

applicant_id

BIGINT

申请人ID

kl_sys_user.id

approver_id

BIGINT

审批人ID

kl_sys_user.id

approval_time

DATETIME

审批时间

created_at

DATETIME

NOT NULL
DEFAULT CURRENT_TIMESTAMP

创建时间

updated_at

DATETIME

NOT NULL
DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

更新时间

主要索引/约束:

PRIMARY KEY (id)

UNIQUE KEY uk_approval_code (approval_code)

KEY idx_price_id (price_id)

KEY idx_sku_id (sku_id)

KEY idx_approval_status (approval_status)

8.21 kl_goods_audit_log:商品审核日志表

字段名

类型

约束/索引

业务含义

字段关联/校验规则

id

BIGINT

PK
NOT NULL
AUTO_INCREMENT

审核日志ID

biz_type

TINYINT

NOT NULL

业务类型:1SPU 2SKU 3价格 4供应商报价 5城市上架

biz_id

BIGINT

NOT NULL

业务ID


biz_type关联不同表

audit_action

TINYINT

审核动作:1提交 2通过 3拒绝 4撤回

before_status

TINYINT

审核前状态

after_status

TINYINT

审核后状态

audit_remark

VARCHAR(512)

审核意见

auditor_id

BIGINT

审核人ID

kl_sys_user.id

audit_time

DATETIME

审核时间

created_at

DATETIME

NOT NULL
DEFAULT CURRENT_TIMESTAMP

创建时间

主要索引/约束:

PRIMARY KEY (id)

KEY idx_biz_type_id (biz_type, biz_id)

KEY idx_auditor_id (auditor_id)

8.22 kl_goods_status_log:商品状态变更日志表

字段名

类型

约束/索引

业务含义

字段关联/校验规则

id

BIGINT

PK
NOT NULL
AUTO_INCREMENT

状态日志ID

biz_type

TINYINT

业务类型:1SPU 2SKU 3城市商品 4报价

biz_id

BIGINT

业务ID

before_status

TINYINT

变更前状态

after_status

TINYINT

变更后状态

change_reason

VARCHAR(512)

变更原因

operator_id

BIGINT

操作人ID

kl_sys_user.id

created_at

DATETIME

NOT NULL
DEFAULT CURRENT_TIMESTAMP

创建时间

主要索引/约束:

PRIMARY KEY (id)

KEY idx_biz_type_id (biz_type, biz_id)

KEY idx_operator_id (operator_id)

九、完整MySQL 8.0 DDL推理版

以下DDL可直接作为设计评审和开发建表参考。落地到升鲜宝时建议按现有命名规范、租户字段、审计字段、逻辑删除字段、数据权限字段进行统一调整。

9.1 kl_goods_category

CREATE TABLE kl_goods_category (

    id BIGINT NOT NULL AUTO_INCREMENT COMMENT '分类ID',

    parent_id BIGINT NOT NULL DEFAULT 0 COMMENT '父级分类ID,0表示一级分类',

    category_code VARCHAR(32) NOT NULL COMMENT '分类编码',

    category_name VARCHAR(64) NOT NULL COMMENT '分类名称',

    category_level TINYINT NOT NULL COMMENT '分类层级:1一级 2二级 3三级',

    category_path VARCHAR(255) COMMENT '分类路径,如/1/10/100',

    goods_type TINYINT NOT NULL DEFAULT 1 COMMENT '默认商品类型:1标品 2生鲜非标 3称重品 4冻品 5预售品',

    storage_type TINYINT NOT NULL DEFAULT 1 COMMENT '默认温区:1常温 2冷藏 3冷冻',

    qc_required_flag TINYINT NOT NULL DEFAULT 0 COMMENT '是否需要质检:0否 1是',

    shelf_life_required_flag TINYINT NOT NULL DEFAULT 0 COMMENT '是否需要效期:0否 1是',

    cert_required_flag TINYINT NOT NULL DEFAULT 0 COMMENT '是否需要资质证照:0否 1是',

    sale_after_rule_type TINYINT COMMENT '默认售后规则类型',

    icon_url VARCHAR(255) COMMENT '分类图标',

    sort_no INT NOT NULL DEFAULT 0 COMMENT '排序号',

    enabled_flag TINYINT NOT NULL DEFAULT 1 COMMENT '启用标记:0停用 1启用',

    created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',

    updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',

    deleted_flag TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记:0否 1是',

    PRIMARY KEY (id),

    UNIQUE KEY uk_category_code (category_code),

    KEY idx_parent_id (parent_id),

    KEY idx_category_level (category_level)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='商品分类表';

9.2 kl_goods_brand

CREATE TABLE kl_goods_brand (

    id BIGINT NOT NULL AUTO_INCREMENT COMMENT '品牌ID',

    brand_code VARCHAR(32) NOT NULL COMMENT '品牌编码',

    brand_name VARCHAR(128) NOT NULL COMMENT '品牌名称',

    brand_alias VARCHAR(128) COMMENT '品牌别名',

    logo_url VARCHAR(255) COMMENT '品牌Logo',

    origin_country VARCHAR(64) COMMENT '品牌国家/地区',

    sort_no INT NOT NULL DEFAULT 0 COMMENT '排序号',

    enabled_flag TINYINT NOT NULL DEFAULT 1 COMMENT '启用标记:0停用 1启用',

    created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',

    updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',

    deleted_flag TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记',

    PRIMARY KEY (id),

    UNIQUE KEY uk_brand_code (brand_code),

    KEY idx_brand_name (brand_name)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='商品品牌表';

9.3 kl_goods_attribute

CREATE TABLE kl_goods_attribute (

    id BIGINT NOT NULL AUTO_INCREMENT COMMENT '属性ID',

    category_id BIGINT COMMENT '所属分类ID',

    attr_code VARCHAR(32) NOT NULL COMMENT '属性编码',

    attr_name VARCHAR(64) COMMENT '属性名称',

    attr_type TINYINT COMMENT '属性类型:1规格属性 2参数属性 3履约属性',

    input_type TINYINT COMMENT '录入方式:1手工 2单选 3多选 4数值 5日期',

    required_flag TINYINT NOT NULL DEFAULT 0 COMMENT '是否必填',

    search_flag TINYINT NOT NULL DEFAULT 0 COMMENT '是否作为搜索筛选项',

    sort_no INT NOT NULL DEFAULT 0 COMMENT '排序号',

    enabled_flag TINYINT NOT NULL DEFAULT 1 COMMENT '启用标记',

    created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',

    updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',

    deleted_flag TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记',

    PRIMARY KEY (id),

    UNIQUE KEY uk_category_attr_code (category_id, attr_code),

    KEY idx_category_id (category_id)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='商品属性定义表';

9.4 kl_goods_attribute_value

CREATE TABLE kl_goods_attribute_value (

    id BIGINT NOT NULL AUTO_INCREMENT COMMENT '属性值ID',

    attr_id BIGINT COMMENT '属性ID',

    value_code VARCHAR(32) COMMENT '属性值编码',

    value_name VARCHAR(128) COMMENT '属性值名称',

    sort_no INT NOT NULL DEFAULT 0 COMMENT '排序号',

    enabled_flag TINYINT NOT NULL DEFAULT 1 COMMENT '启用标记',

    created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',

    deleted_flag TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记',

    PRIMARY KEY (id),

    UNIQUE KEY uk_attr_value_code (attr_id, value_code),

    KEY idx_attr_id (attr_id)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='商品属性可选值表';

9.5 kl_goods_spu

CREATE TABLE kl_goods_spu (

    id BIGINT NOT NULL AUTO_INCREMENT COMMENT 'SPU ID',

    spu_code VARCHAR(32) NOT NULL COMMENT 'SPU编码',

    spu_name VARCHAR(128) NOT NULL COMMENT '商品名称',

    short_name VARCHAR(64) COMMENT '商品简称',

    category_id BIGINT NOT NULL COMMENT '分类ID',

    brand_id BIGINT COMMENT '品牌ID',

    goods_type TINYINT NOT NULL DEFAULT 1 COMMENT '商品类型:1标品 2生鲜非标 3称重品 4冻品 5预售品',

    storage_type TINYINT NOT NULL DEFAULT 1 COMMENT '温区:1常温 2冷藏 3冷冻',

    source_type TINYINT NOT NULL DEFAULT 1 COMMENT '来源:1平台自建 2供应商创建 3系统导入',

    origin_place VARCHAR(128) COMMENT '产地',

    shelf_life_days INT COMMENT '保质期天数',

    shelf_life_unit TINYINT DEFAULT 1 COMMENT '保质期单位:1天 2月 3年',

    batch_required_flag TINYINT NOT NULL DEFAULT 0 COMMENT '是否批次管理',

    shelf_life_required_flag TINYINT NOT NULL DEFAULT 0 COMMENT '是否效期管理',

    weigh_flag TINYINT NOT NULL DEFAULT 0 COMMENT '是否称重商品',

    fresh_flag TINYINT NOT NULL DEFAULT 0 COMMENT '是否生鲜商品',

    cert_required_flag TINYINT NOT NULL DEFAULT 0 COMMENT '是否需要商品资质',

    qc_required_flag TINYINT NOT NULL DEFAULT 0 COMMENT '是否需要质检',

    supplier_quote_flag TINYINT NOT NULL DEFAULT 1 COMMENT '是否允许供应商报价',

    city_sale_flag TINYINT NOT NULL DEFAULT 1 COMMENT '是否允许城市销售',

    description TEXT COMMENT '商品描述',

    main_image_url VARCHAR(255) COMMENT '主图URL',

    audit_status TINYINT NOT NULL DEFAULT 0 COMMENT '审核状态:0待审 1通过 2拒绝 3撤回',

    enabled_flag TINYINT NOT NULL DEFAULT 1 COMMENT '启用标记',

    created_by BIGINT COMMENT '创建人ID',

    created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',

    updated_by BIGINT COMMENT '更新人ID',

    updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',

    deleted_flag TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记',

    PRIMARY KEY (id),

    UNIQUE KEY uk_spu_code (spu_code),

    KEY idx_category_id (category_id),

    KEY idx_brand_id (brand_id),

    KEY idx_spu_name (spu_name),

    KEY idx_goods_type (goods_type)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='商品SPU表';

9.6 kl_goods_sku

CREATE TABLE kl_goods_sku (

    id BIGINT NOT NULL AUTO_INCREMENT COMMENT 'SKU ID',

    spu_id BIGINT NOT NULL COMMENT 'SPU ID',

    sku_code VARCHAR(32) NOT NULL COMMENT 'SKU编码',

    sku_name VARCHAR(128) NOT NULL COMMENT 'SKU名称',

    spec_value VARCHAR(128) COMMENT '规格值',

    package_spec VARCHAR(128) COMMENT '包装规格',

    package_material VARCHAR(64) COMMENT '包装材质',

    package_color VARCHAR(64) COMMENT '包装颜色',

    barcode VARCHAR(64) COMMENT '商品条码',

    external_sku_code VARCHAR(64) COMMENT '外部SKU编码',

    net_weight DECIMAL(18,4) COMMENT '净重',

    gross_weight DECIMAL(18,4) COMMENT '毛重',

    length DECIMAL(18,4) COMMENT '长',

    width DECIMAL(18,4) COMMENT '宽',

    height DECIMAL(18,4) COMMENT '高',

    volume DECIMAL(18,6) COMMENT '体积',

    weight_unit_id BIGINT COMMENT '重量单位ID',

    default_sale_unit_id BIGINT COMMENT '默认销售单位ID',

    default_purchase_unit_id BIGINT COMMENT '默认采购单位ID',

    default_inventory_unit_id BIGINT COMMENT '默认库存单位ID',

    label_required_flag TINYINT NOT NULL DEFAULT 1 COMMENT '是否要求打印商品标签',

    low_temp_label_flag TINYINT NOT NULL DEFAULT 0 COMMENT '是否需要低温标签',

    fragile_flag TINYINT COMMENT '是否易碎',

    enabled_flag TINYINT NOT NULL DEFAULT 1 COMMENT '启用标记',

    created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',

    updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',

    deleted_flag TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记',

    PRIMARY KEY (id),

    UNIQUE KEY uk_sku_code (sku_code),

    KEY idx_spu_id (spu_id),

    KEY idx_barcode (barcode),

    KEY idx_default_sale_unit (default_sale_unit_id)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='商品SKU表';

9.7 kl_goods_sku_attribute

CREATE TABLE kl_goods_sku_attribute (

    id BIGINT NOT NULL AUTO_INCREMENT COMMENT 'SKU属性ID',

    spu_id BIGINT COMMENT 'SPU ID',

    sku_id BIGINT COMMENT 'SKU ID',

    attr_id BIGINT COMMENT '属性ID',

    attr_code VARCHAR(32) COMMENT '属性编码',

    attr_name VARCHAR(64) COMMENT '属性名称',

    attr_value_id BIGINT COMMENT '属性值ID',

    attr_value VARCHAR(128) COMMENT '属性值',

    created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',

    deleted_flag TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记',

    PRIMARY KEY (id),

    UNIQUE KEY uk_sku_attr (sku_id, attr_id),

    KEY idx_spu_id (spu_id),

    KEY idx_attr_id (attr_id)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='SKU属性值表';

9.8 kl_goods_unit

CREATE TABLE kl_goods_unit (

    id BIGINT NOT NULL AUTO_INCREMENT COMMENT '单位ID',

    unit_code VARCHAR(32) NOT NULL COMMENT '单位编码',

    unit_name VARCHAR(32) NOT NULL COMMENT '单位名称',

    unit_type TINYINT NOT NULL DEFAULT 1 COMMENT '单位类型:1数量 2重量 3体积 4包装',

    precision_scale INT NOT NULL DEFAULT 2 COMMENT '数量小数位',

    standard_flag TINYINT NOT NULL DEFAULT 0 COMMENT '是否标准单位',

    enabled_flag TINYINT NOT NULL DEFAULT 1 COMMENT '启用标记',

    created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',

    updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',

    deleted_flag TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记',

    PRIMARY KEY (id),

    UNIQUE KEY uk_unit_code (unit_code),

    UNIQUE KEY uk_unit_name (unit_name)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='商品单位表';

9.9 kl_goods_sku_unit

CREATE TABLE kl_goods_sku_unit (

    id BIGINT NOT NULL AUTO_INCREMENT COMMENT 'SKU单位关系ID',

    sku_id BIGINT NOT NULL COMMENT 'SKU ID',

    unit_id BIGINT NOT NULL COMMENT '单位ID',

    base_unit_flag TINYINT NOT NULL DEFAULT 0 COMMENT '是否基础单位',

    sale_unit_flag TINYINT NOT NULL DEFAULT 0 COMMENT '是否销售单位',

    purchase_unit_flag TINYINT NOT NULL DEFAULT 0 COMMENT '是否采购单位',

    inventory_unit_flag TINYINT NOT NULL DEFAULT 0 COMMENT '是否库存单位',

    weigh_unit_flag TINYINT NOT NULL DEFAULT 0 COMMENT '是否称重单位',

    conversion_rate DECIMAL(18,6) NOT NULL DEFAULT 1 COMMENT '相对基础单位换算率',

    reverse_conversion_rate DECIMAL(18,6) COMMENT '反向换算率',

    min_order_qty DECIMAL(18,4) COMMENT '最小起订量',

    max_order_qty DECIMAL(18,4) COMMENT '最大订购量',

    order_step_qty DECIMAL(18,4) COMMENT '订购步长',

    enabled_flag TINYINT NOT NULL DEFAULT 1 COMMENT '启用标记',

    created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',

    updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',

    deleted_flag TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记',

    PRIMARY KEY (id),

    UNIQUE KEY uk_sku_unit (sku_id, unit_id),

    KEY idx_sku_id (sku_id),

    KEY idx_unit_id (unit_id),

    KEY idx_sale_unit (sku_id, sale_unit_flag),

    KEY idx_purchase_unit (sku_id, purchase_unit_flag),

    KEY idx_inventory_unit (sku_id, inventory_unit_flag)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='SKU单位关系表';

9.10 kl_goods_image

CREATE TABLE kl_goods_image (

    id BIGINT NOT NULL AUTO_INCREMENT COMMENT '图片ID',

    spu_id BIGINT COMMENT 'SPU ID',

    sku_id BIGINT COMMENT 'SKU ID',

    image_type TINYINT NOT NULL DEFAULT 1 COMMENT '图片类型:1主图 2轮播图 3详情图 4资质图 5包装图',

    image_url VARCHAR(255) NOT NULL COMMENT '图片地址',

    sort_no INT NOT NULL DEFAULT 0 COMMENT '排序号',

    main_flag TINYINT NOT NULL DEFAULT 0 COMMENT '是否主图',

    enabled_flag TINYINT NOT NULL DEFAULT 1 COMMENT '启用标记',

    created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',

    deleted_flag TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记',

    PRIMARY KEY (id),

    KEY idx_spu_id (spu_id),

    KEY idx_sku_id (sku_id)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='商品图片表';

9.11 kl_goods_cert

CREATE TABLE kl_goods_cert (

    id BIGINT NOT NULL AUTO_INCREMENT COMMENT '资质ID',

    spu_id BIGINT COMMENT 'SPU ID',

    sku_id BIGINT COMMENT 'SKU ID',

    supplier_id BIGINT COMMENT '供应商ID',

    cert_type TINYINT COMMENT '资质类型:1检疫证 2检测报告 3生产许可 4合格证 5其他',

    cert_name VARCHAR(128) COMMENT '资质名称',

    cert_no VARCHAR(128) COMMENT '资质编号',

    file_url VARCHAR(255) COMMENT '文件URL',

    valid_start DATE COMMENT '有效期开始',

    valid_end DATE COMMENT '有效期结束',

    audit_status TINYINT COMMENT '审核状态:0待审 1通过 2拒绝',

    enabled_flag TINYINT NOT NULL DEFAULT 1 COMMENT '启用标记',

    created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',

    updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',

    deleted_flag TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记',

    PRIMARY KEY (id),

    KEY idx_spu_id (spu_id),

    KEY idx_sku_id (sku_id),

    KEY idx_supplier_id (supplier_id),

    KEY idx_valid_end (valid_end)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='商品资质证照表';

9.12 kl_goods_city_sale

CREATE TABLE kl_goods_city_sale (

    id BIGINT NOT NULL AUTO_INCREMENT COMMENT '城市商品ID',

    city_id BIGINT NOT NULL COMMENT '城市ID',

    sku_id BIGINT NOT NULL COMMENT 'SKU ID',

    sale_unit_id BIGINT NOT NULL COMMENT '销售单位ID',

    default_warehouse_id BIGINT COMMENT '默认履约仓库ID',

    sale_enabled TINYINT NOT NULL DEFAULT 1 COMMENT '销售状态:0下架 1上架 2暂停 3售罄 4预售',

    presale_flag TINYINT NOT NULL DEFAULT 0 COMMENT '是否预售',

    stock_display_flag TINYINT NOT NULL DEFAULT 1 COMMENT '是否展示库存',

    stock_deduct_type TINYINT NOT NULL DEFAULT 1 COMMENT '扣库存方式:1下单锁定 2支付锁定 3出库扣减',

    min_order_qty DECIMAL(18,4) COMMENT '最小起订量',

    max_order_qty DECIMAL(18,4) COMMENT '最大限购量',

    order_step_qty DECIMAL(18,4) COMMENT '订购步长',

    sale_start_time DATETIME COMMENT '销售开始时间',

    sale_end_time DATETIME COMMENT '销售结束时间',

    search_keyword VARCHAR(255) COMMENT '搜索关键词',

    sort_no INT NOT NULL DEFAULT 0 COMMENT '排序号',

    created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',

    updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',

    deleted_flag TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记',

    PRIMARY KEY (id),

    UNIQUE KEY uk_city_sku_unit (city_id, sku_id, sale_unit_id),

    KEY idx_city_id (city_id),

    KEY idx_sku_id (sku_id),

    KEY idx_sale_enabled (sale_enabled),

    KEY idx_default_warehouse (default_warehouse_id)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='城市商品销售池表';

9.13 kl_goods_price_city

CREATE TABLE kl_goods_price_city (

    id BIGINT NOT NULL AUTO_INCREMENT COMMENT '价格ID',

    city_goods_id BIGINT NOT NULL COMMENT '城市商品ID',

    city_id BIGINT NOT NULL COMMENT '城市ID',

    sku_id BIGINT NOT NULL COMMENT 'SKU ID',

    sale_unit_id BIGINT NOT NULL COMMENT '销售单位ID',

    cost_price DECIMAL(18,4) NOT NULL DEFAULT 0 COMMENT '成本价',

    sale_price DECIMAL(18,4) NOT NULL COMMENT '销售价',

    market_price DECIMAL(18,4) COMMENT '市场价',

    min_sale_price DECIMAL(18,4) COMMENT '最低售价',

    gross_margin_rate DECIMAL(8,4) COMMENT '毛利率',

    price_type TINYINT NOT NULL DEFAULT 1 COMMENT '价格类型:1基础价 2活动价 3等级价 4协议价',

    effective_start DATETIME NOT NULL COMMENT '生效开始时间',

    effective_end DATETIME COMMENT '生效结束时间',

    approval_status TINYINT NOT NULL DEFAULT 0 COMMENT '审批状态:0待审 1通过 2拒绝',

    enabled_flag TINYINT NOT NULL DEFAULT 1 COMMENT '启用标记',

    created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',

    updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',

    deleted_flag TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记',

    PRIMARY KEY (id),

    KEY idx_city_goods_id (city_goods_id),

    KEY idx_city_sku_unit (city_id, sku_id, sale_unit_id),

    KEY idx_effective_time (effective_start, effective_end)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='城市商品价格表';

9.14 kl_goods_supplier_quote

CREATE TABLE kl_goods_supplier_quote (

    id BIGINT NOT NULL AUTO_INCREMENT COMMENT '供应商报价ID',

    supplier_id BIGINT NOT NULL COMMENT '供应商ID',

    city_id BIGINT NOT NULL COMMENT '服务城市ID',

    warehouse_id BIGINT COMMENT '交货仓库ID',

    sku_id BIGINT NOT NULL COMMENT 'SKU ID',

    supply_unit_id BIGINT NOT NULL COMMENT '供货单位ID',

    quote_price DECIMAL(18,4) NOT NULL COMMENT '供应商报价',

    tax_rate DECIMAL(8,4) COMMENT '税率',

    min_supply_qty DECIMAL(18,4) COMMENT '最小供货量',

    max_supply_qty DECIMAL(18,4) COMMENT '最大供货量',

    daily_capacity_qty DECIMAL(18,4) COMMENT '每日最大供货能力',

    lead_time_hours INT COMMENT '备货提前小时数',

    stockout_rate DECIMAL(8,4) COMMENT '历史缺货率',

    quality_score DECIMAL(8,2) COMMENT '商品质量评分',

    quote_status TINYINT NOT NULL DEFAULT 0 COMMENT '报价状态:0待审 1生效 2拒绝 3失效 4暂停',

    effective_start DATETIME NOT NULL COMMENT '生效开始时间',

    effective_end DATETIME COMMENT '生效结束时间',

    created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',

    updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',

    deleted_flag TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记',

    PRIMARY KEY (id),

    KEY idx_supplier_id (supplier_id),

    KEY idx_city_sku (city_id, sku_id),

    KEY idx_warehouse_id (warehouse_id),

    KEY idx_effective_time (effective_start, effective_end)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='供应商商品报价表';

9.15 kl_goods_supplier_quote_history

CREATE TABLE kl_goods_supplier_quote_history (

    id BIGINT NOT NULL AUTO_INCREMENT COMMENT '历史ID',

    quote_id BIGINT COMMENT '报价ID',

    supplier_id BIGINT COMMENT '供应商ID',

    sku_id BIGINT COMMENT 'SKU ID',

    old_quote_price DECIMAL(18,4) COMMENT '调整前报价',

    new_quote_price DECIMAL(18,4) COMMENT '调整后报价',

    change_reason VARCHAR(255) COMMENT '调整原因',

    operator_id BIGINT COMMENT '操作人ID',

    created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',

    PRIMARY KEY (id),

    KEY idx_quote_id (quote_id),

    KEY idx_supplier_sku (supplier_id, sku_id)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='供应商报价历史表';

9.16 kl_goods_qc_standard

CREATE TABLE kl_goods_qc_standard (

    id BIGINT NOT NULL AUTO_INCREMENT COMMENT '质检标准ID',

    category_id BIGINT COMMENT '分类ID',

    spu_id BIGINT COMMENT 'SPU ID',

    sku_id BIGINT COMMENT 'SKU ID',

    standard_code VARCHAR(32) NOT NULL COMMENT '标准编码',

    standard_name VARCHAR(128) NOT NULL COMMENT '标准名称',

    standard_level TINYINT NOT NULL DEFAULT 1 COMMENT '标准级别:1分类 2SPU 3SKU',

    storage_type TINYINT COMMENT '适用温区:1常温 2冷藏 3冷冻',

    appearance_required VARCHAR(512) COMMENT '外观要求',

    package_required VARCHAR(512) COMMENT '包装要求',

    label_required VARCHAR(512) COMMENT '标签要求',

    temp_min DECIMAL(8,2) COMMENT '最低温度',

    temp_max DECIMAL(8,2) COMMENT '最高温度',

    weight_tolerance_rate DECIMAL(8,4) COMMENT '重量允许误差比例',

    shelf_life_min_days INT COMMENT '入库最低剩余保质期天数',

    reject_rule VARCHAR(512) COMMENT '拒收规则',

    enabled_flag TINYINT NOT NULL DEFAULT 1 COMMENT '启用标记',

    created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',

    updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',

    deleted_flag TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记',

    PRIMARY KEY (id),

    UNIQUE KEY uk_standard_code (standard_code),

    KEY idx_category_id (category_id),

    KEY idx_spu_id (spu_id),

    KEY idx_sku_id (sku_id)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='商品质检标准表';

9.17 kl_goods_label_template

CREATE TABLE kl_goods_label_template (

    id BIGINT NOT NULL AUTO_INCREMENT COMMENT '标签模板ID',

    template_code VARCHAR(32) NOT NULL COMMENT '模板编码',

    template_name VARCHAR(128) NOT NULL COMMENT '模板名称',

    template_type TINYINT COMMENT '模板类型:1商品标签 2箱标签 3分拣标签 4冷冻标签',

    storage_type TINYINT COMMENT '适用温区',

    template_content TEXT NOT NULL COMMENT '模板内容JSON/HTML',

    width_mm DECIMAL(8,2) COMMENT '宽度mm',

    height_mm DECIMAL(8,2) COMMENT '高度mm',

    low_temp_flag TINYINT NOT NULL DEFAULT 0 COMMENT '是否低温标签',

    enabled_flag TINYINT NOT NULL DEFAULT 1 COMMENT '启用标记',

    created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',

    updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',

    deleted_flag TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记',

    PRIMARY KEY (id),

    UNIQUE KEY uk_template_code (template_code)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='商品标签模板表';

9.18 kl_goods_label_print

CREATE TABLE kl_goods_label_print (

    id BIGINT NOT NULL AUTO_INCREMENT COMMENT '标签打印ID',

    print_code VARCHAR(32) NOT NULL COMMENT '打印批次号',

    template_id BIGINT COMMENT '标签模板ID',

    supplier_id BIGINT COMMENT '供应商ID',

    warehouse_id BIGINT COMMENT '仓库ID',

    fulfill_task_id BIGINT COMMENT '履约任务ID',

    order_id BIGINT COMMENT '订单ID',

    order_item_id BIGINT COMMENT '订单明细ID',

    sku_id BIGINT NOT NULL COMMENT 'SKU ID',

    sku_name VARCHAR(128) NOT NULL COMMENT 'SKU名称',

    spec_value VARCHAR(128) COMMENT '规格',

    quantity DECIMAL(18,4) COMMENT '标签对应数量',

    unit_id BIGINT COMMENT '单位ID',

    qr_code VARCHAR(255) COMMENT '二维码内容',

    barcode VARCHAR(128) COMMENT '条码内容',

    print_status TINYINT NOT NULL DEFAULT 0 COMMENT '打印状态:0待打印 1已打印 2失败',

    print_time DATETIME COMMENT '打印时间',

    created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',

    PRIMARY KEY (id),

    UNIQUE KEY uk_print_code (print_code),

    KEY idx_template_id (template_id),

    KEY idx_supplier_id (supplier_id),

    KEY idx_sku_id (sku_id),

    KEY idx_order_item_id (order_item_id)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='商品标签打印记录表';

9.19 kl_goods_substitute

CREATE TABLE kl_goods_substitute (

    id BIGINT NOT NULL AUTO_INCREMENT COMMENT '替代商品ID',

    city_id BIGINT COMMENT '城市ID',

    source_sku_id BIGINT NOT NULL COMMENT '原SKU ID',

    substitute_sku_id BIGINT NOT NULL COMMENT '替代SKU ID',

    substitute_level TINYINT NOT NULL DEFAULT 1 COMMENT '替代优先级',

    substitute_type TINYINT COMMENT '替代类型:1同品 2相似 3升级 4降级',

    price_diff_handle_type TINYINT COMMENT '差价处理:1按新价 2原价 3人工确认',

    enabled_flag TINYINT NOT NULL DEFAULT 1 COMMENT '启用标记',

    created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',

    updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',

    deleted_flag TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记',

    PRIMARY KEY (id),

    UNIQUE KEY uk_source_substitute_city (city_id, source_sku_id, substitute_sku_id),

    KEY idx_source_sku_id (source_sku_id),

    KEY idx_substitute_sku_id (substitute_sku_id)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='商品替代关系表';

9.20 kl_goods_price_approval

CREATE TABLE kl_goods_price_approval (

    id BIGINT NOT NULL AUTO_INCREMENT COMMENT '审批ID',

    approval_code VARCHAR(32) NOT NULL COMMENT '审批单号',

    price_id BIGINT COMMENT '价格ID',

    city_goods_id BIGINT COMMENT '城市商品ID',

    sku_id BIGINT COMMENT 'SKU ID',

    old_sale_price DECIMAL(18,4) COMMENT '原销售价',

    new_sale_price DECIMAL(18,4) COMMENT '新销售价',

    old_cost_price DECIMAL(18,4) COMMENT '原成本价',

    new_cost_price DECIMAL(18,4) COMMENT '新成本价',

    reason VARCHAR(512) COMMENT '调价原因',

    approval_status TINYINT COMMENT '审批状态:0待审 1通过 2拒绝 3撤回',

    applicant_id BIGINT COMMENT '申请人ID',

    approver_id BIGINT COMMENT '审批人ID',

    approval_time DATETIME COMMENT '审批时间',

    created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',

    updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',

    PRIMARY KEY (id),

    UNIQUE KEY uk_approval_code (approval_code),

    KEY idx_price_id (price_id),

    KEY idx_sku_id (sku_id),

    KEY idx_approval_status (approval_status)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='商品调价审批表';

9.21 kl_goods_audit_log

CREATE TABLE kl_goods_audit_log (

    id BIGINT NOT NULL AUTO_INCREMENT COMMENT '审核日志ID',

    biz_type TINYINT NOT NULL COMMENT '业务类型:1SPU 2SKU 3价格 4供应商报价 5城市上架',

    biz_id BIGINT NOT NULL COMMENT '业务ID',

    audit_action TINYINT COMMENT '审核动作:1提交 2通过 3拒绝 4撤回',

    before_status TINYINT COMMENT '审核前状态',

    after_status TINYINT COMMENT '审核后状态',

    audit_remark VARCHAR(512) COMMENT '审核意见',

    auditor_id BIGINT COMMENT '审核人ID',

    audit_time DATETIME COMMENT '审核时间',

    created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',

    PRIMARY KEY (id),

    KEY idx_biz_type_id (biz_type, biz_id),

    KEY idx_auditor_id (auditor_id)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='商品审核日志表';

9.22 kl_goods_status_log

CREATE TABLE kl_goods_status_log (

    id BIGINT NOT NULL AUTO_INCREMENT COMMENT '状态日志ID',

    biz_type TINYINT COMMENT '业务类型:1SPU 2SKU 3城市商品 4报价',

    biz_id BIGINT COMMENT '业务ID',

    before_status TINYINT COMMENT '变更前状态',

    after_status TINYINT COMMENT '变更后状态',

    change_reason VARCHAR(512) COMMENT '变更原因',

    operator_id BIGINT COMMENT '操作人ID',

    created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',

    PRIMARY KEY (id),

    KEY idx_biz_type_id (biz_type, biz_id),

    KEY idx_operator_id (operator_id)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='商品状态变更日志表';

十、字段与字段之间的核心关联矩阵

关系名称

当前字段

关联字段

业务说明

分类自关联

kl_goods_category.parent_id

kl_goods_category.id

形成多级分类树;parent_id=0表示一级分类。

分类到SPU

kl_goods_spu.category_id

kl_goods_category.id

SPU必须属于一个分类;分类默认温区/质检/效期可继承到SPU。

品牌到SPU

kl_goods_spu.brand_id

kl_goods_brand.id

品牌可为空;标品建议维护品牌。

SPU到SKU

kl_goods_sku.spu_id

kl_goods_spu.id

一个SPU下可有多个SKU规格。

属性到SKU

kl_goods_sku_attribute.attr_id

kl_goods_attribute.id

SKU规格属性来源于分类属性定义。

单位到SKU单位

kl_goods_sku_unit.unit_id

kl_goods_unit.id

SKU允许使用的单位必须来自单位表。

SKU到SKU单位

kl_goods_sku_unit.sku_id

kl_goods_sku.id

一个SKU至少配置基础、销售、采购、库存单位。

城市商品销售单位合法性

kl_goods_city_sale.sku_id + sale_unit_id

kl_goods_sku_unit.sku_id + unit_id

必须存在且 sale_unit_flag=1。

供应商供货单位合法性

kl_goods_supplier_quote.sku_id + supply_unit_id

kl_goods_sku_unit.sku_id + unit_id

必须存在且 purchase_unit_flag=1。

库存单位合法性

kl_wms_inventory.sku_id + unit_id

kl_goods_sku_unit.sku_id + unit_id

必须存在且 inventory_unit_flag=1。

城市商品到价格

kl_goods_price_city.city_goods_id

kl_goods_city_sale.id

一个城市商品可有多条价格记录,通过生效时间和价格类型确定当前价。

供应商报价到成本

kl_goods_price_city.cost_price

kl_goods_supplier_quote.quote_price

成本价可由有效供应商报价、采购成本或成本中心计算。

订单商品快照

kl_order_item.sku_id / unit_price

kl_goods_sku.id / kl_goods_price_city.sale_price

下单时冗余商品名称、规格、单位、单价,保证历史订单稳定。

标签追溯

kl_goods_label_print.order_item_id

kl_order_item.id

标签可追溯到订单明细、供应商履约任务和SKU。

质检标准优先级

kl_goods_qc_standard.sku_id/spu_id/category_id

kl_goods_sku.id / kl_goods_spu.id / kl_goods_category.id

查找顺序:SKU级 > SPU级 > 分类级 > 平台默认。

替代商品

kl_goods_substitute.source_sku_id / substitute_sku_id

kl_goods_sku.id

缺货时根据城市和优先级寻找替代SKU。

十一、状态机、唯一约束与数据校验规则

11.1 状态字段建议

字段

状态值

说明

audit_status

0待审 / 1通过 / 2拒绝 / 3撤回

用于SPU、资质、报价、价格审批等审核场景。

enabled_flag

0停用 / 1启用

基础档案启停,不建议物理删除。

sale_enabled

0下架 / 1上架 / 2暂停 / 3售罄 / 4预售

城市商品销售状态。

quote_status

0待审 / 1生效 / 2拒绝 / 3失效 / 4暂停

供应商报价状态。

print_status

0待打印 / 1已打印 / 2失败

标签打印记录状态。

approval_status

0待审 / 1通过 / 2拒绝 / 3撤回

调价审批状态。

11.2 关键唯一约束

业务对象

唯一约束

业务意义

分类

uk_category_code(category_code)

分类编码全局唯一。

品牌

uk_brand_code(brand_code)

品牌编码唯一。

SPU

uk_spu_code(spu_code)

商品主体编码唯一。

SKU

uk_sku_code(sku_code)

SKU编码唯一,是订单、仓库、供应商报价核心引用。

SKU单位

uk_sku_unit(sku_id, unit_id)

同一SKU不能重复配置相同单位。

城市商品

uk_city_sku_unit(city_id, sku_id, sale_unit_id)

同一城市同一SKU同一销售单位只能有一条销售配置。

标签模板

uk_template_code(template_code)

标签模板编码唯一。

替代关系

uk_source_substitute_city(city_id, source_sku_id, substitute_sku_id)

同一城市同一替代关系不能重复。

11.3 核心数据校验规则

  • · 创建SPU时,category_id必须存在且未删除。
  • · 创建SKU时,spu_id必须存在且SPU未停用。
  • · SKU的default_sale_unit_id、default_purchase_unit_id、default_inventory_unit_id必须在kl_goods_sku_unit中存在对应记录。
  • · 一个SKU必须且只能有一个base_unit_flag=1的单位。
  • · 城市商品的sale_unit_id必须是SKU允许的销售单位。
  • · 供应商报价的supply_unit_id必须是SKU允许的采购单位。
  • · 价格生效时间必须满足effective_start < effective_end,effective_end可为空。
  • · 同一城市商品同一价格类型的有效时间段不应重叠,除非通过优先级字段解决。
  • · 上架城市商品前必须存在有效价格,且SKU、SPU、分类均处于启用状态。
  • · 质检标准如果同时配置category_id、spu_id、sku_id,应以standard_level约束其作用范围,避免歧义。
  • · 替代商品不能指向自身,且应防止A替代B、B替代A的循环。
  • · 标签打印记录一旦关联订单明细,不允许物理删除,只能保留作废/重打状态。