升鲜宝 生鲜配送供应链管理系统,订单模块OMS 重构版 MySQL DDL详尽说明文档与重构说明

升鲜宝 OMS 重构版 MySQL DDL

详尽说明文档与重构说明

|----------|-----------------------------|
| 配套脚本 | 升鲜宝_OMS_重构版_MySQL_DDL.sql |
| 文档定位 | DDL 说明书 + 数据模型重构说明 + 分层数据字典 |
| 适用范围 | OMS 新库建设、分阶段迁移、研发评审、实施交付 |
| 版本 | V1.0 |

本说明文档基于《升鲜宝_OMS_重构版_MySQL_DDL.sql》生成,用于解释目标模型、重构思路、分层职责与各表详细数据字典。

1. 文档目标与使用方式

本次 DDL 不是对现有 OMS 表的简单字段堆叠,而是围绕"强 ID 关联 + 单号兼容保留 + 分阶段治理"设计的目标版模型。

文档的阅读顺序建议为:先看重构总说明,再看分层清单,最后按表逐项查看数据字典。研发、DBA、产品和实施人员可以分别关注不同层次。

当前现有库里已经具备订单头、订单行、支付、多退少补、退货、退款等关键链路;本版 DDL 的价值在于把这些能力从"大宽表 + 单号串联"进一步整理为清晰的目标分层。

2. 重构总说明

2.1 现状问题

现有 OMS 虽然主链完整,但订单主表和订单明细表承载了过多阶段字段,支付、履约、差额、退货、退款的来源链也还没有完全统一。

2.2 重构目标

把 OMS 拆分为订单基础层、支付结算层、履约执行层、差额与逆向层、运营协同层和商城支撑层,让每张表更聚焦,后续 Java Service 和 Dao/Xml 也更容易分层治理。

2.3 基本原则

保留业务单号用于对外兼容与人工识别,同时引入 order_id / order_item_id / source_order_id 等强关联字段;默认不创建物理外键,优先通过逻辑关联和索引支持分阶段迁移与高并发。

2.4 对已支付订单多退少补的支撑

本版模型中,支付事实由 oms_order_payment 承接,差额预处理由 oms_order_adjustment 承接,退款由 oms_refund_order 承接,天然适合"仅限已支付订单,在发货时生成多退少补预处理单"的业务规则。

3. 分层表清单总览

|--------|---------|------------------------------------------------------------------------------|-----------------------------------------------------------------------|
| 分层 | 表数量 | 核心职责 | 主要表 |
| 订单基础层 | 6 | 承接订单头、订单行、地址、费用、附件和事件流水,是 OMS 的事实基础层。重点解决现有订单主表、订单明细表过宽的问题,把"订单事实"和"过程行为"拆开。 | oms_order、oms_order_item、oms_order_address 等 |
| 支付结算层 | 3 | 承接支付汇总、支付流水与应收欠款。订单头保留支付汇总态,支付事实和结算事实下沉到独立表,便于多次支付、补差价、退款与对账。 | oms_order_payment、oms_order_payment_record、oms_order_ar |
| 履约执行层 | 4 | 承接分拣、发货、收货、配送的过程事实。它是订单基础层与仓配执行之间的桥梁,避免把所有实发、实收过程持续堆在订单行上。 | oms_order_fulfillment、oms_order_fulfillment_item、oms_order_delivery 等 |
| 差额与逆向层 | 6 | 承接多退少补、退货、退款三条逆向链。差额单用于"预退/预扣"预处理,退货单承接货物流逆向,退款单承接资金流逆向。 | oms_order_adjustment、oms_order_adjustment_item、oms_return_order 等 |
| 运营协同层 | 6 | 承接订货模板、波次、拣货任务等运营协同能力,用于支撑批量订单运营和仓内履约调度。 | oms_order_template、oms_order_template_item、oms_order_wave 等 |
| 商城支撑层 | 3 | 承接前置商城能力,包括自提点、购物车和价格表,为门店/客户下单提供基础支撑。 | oms_pickup_point、oms_shop_cart、oms_shop_product_price |

4. 旧表到目标表映射说明

|----------------------------|------------------------------------------------|
| 目标表 | 现有来源/迁移说明 |
| oms_order | oms_order_bill |
| oms_order_item | oms_order_bill_info |
| oms_order_address | oms_address |
| oms_order_fee | oms_order_bill_fee |
| oms_order_attachment | oms_order_bill_image |
| oms_order_event | oms_order_bill_log |
| oms_order_payment | oms_order_pay |
| oms_order_payment_record | oms_order_pay(流水化扩展) |
| oms_order_ar | oms_order_bill_debt |
| oms_order_fulfillment | oms_order_bill / oms_order_bill_delivery(汇总重构) |
| oms_order_fulfillment_item | oms_order_bill_info(过程态拆分) |
| oms_order_delivery | oms_order_bill_delivery |
| oms_order_delivery_log | oms_order_bill_delivery_log |
| oms_order_adjustment | oms_order_more_less |
| oms_order_adjustment_item | oms_order_more_less_info |
| oms_return_order | oms_returnorder |
| oms_return_order_item | oms_returnorder_info |
| oms_refund_order | oms_refund_order |
| oms_refund_order_item | oms_refund_order_info |
| oms_order_template | oms_order_template |
| oms_order_template_item | oms_order_template_info |
| oms_order_wave | oms_order_wave |
| oms_order_wave_order | oms_order_wave(关系拆分) |
| oms_picking_task | oms_picking_task |
| oms_picking_task_item | oms_picking_task_info |
| oms_pickup_point | oms_pickup_point |
| oms_shop_cart | oms_shop_cart |
| oms_shop_product_price | oms_shop_product_price |

5. 一. 订单基础层

承接订单头、订单行、地址、费用、附件和事件流水,是 OMS 的事实基础层。重点解决现有订单主表、订单明细表过宽的问题,把"订单事实"和"过程行为"拆开。

oms_order(订单主表)

替代现有 oms_order_bill 的目标主表。它只保留订单头事实、金额汇总、状态汇总和来源链信息。原本散落在订单头中的发货、收货、配送过程字段,后续逐步下沉到履约执行层。

|----------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 表注释 | OMS订单主表 |
| 主键 | `id` |
| 唯一约束 | UNIQUE KEY `uk_order_code` (`order_code`) |
| 关键索引 | KEY `idx_root_order_id` (`root_order_id`);KEY `idx_parent_order_id` (`parent_order_id`);KEY `idx_source_order_id` (`source_order_id`);KEY `idx_shop_delivery` (`shop_id`,`delivery_date_time`);KEY `idx_workhouse_bill_state` (`workhouse_id`,`bill_state`,`delivery_date_time`);KEY `idx_payment_state` (`payment_state`,`bill_state`) |
| 重构说明 | 替代现有 oms_order_bill 的目标主表。它只保留订单头事实、金额汇总、状态汇总和来源链信息。原本散落在订单头中的发货、收货、配送过程字段,后续逐步下沉到履约执行层。 |

字段字典

|-----------------------|---------------|----------------|-------------------------------------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | BIGINT | 必填;自增 | 主键ID |
| order_code | VARCHAR(64) | 必填 | 订单单号 |
| root_order_id | BIGINT | 可空;默认 NULL | 根订单ID |
| parent_order_id | BIGINT | 可空;默认 NULL | 父订单ID |
| source_order_id | BIGINT | 可空;默认 NULL | 来源订单ID |
| source_type | TINYINT | 必填;默认 1 | 来源类型:1手工下单 2模板下单 3购物车下单 4复制订单 5系统补单 |
| trade_type_id | TINYINT | 必填;默认 0 | 交易主体类型:0门店 1客户 |
| shop_id | BIGINT | 必填 | 客户/门店ID |
| shop_account_id | BIGINT | 可空;默认 NULL | 下单账号ID |
| workhouse_id | BIGINT | 必填 | 仓库ID |
| supplier_id | BIGINT | 可空;默认 NULL | 主供应商ID |
| dept_id | BIGINT | 必填 | 机构ID |
| distribution_id | BIGINT | 可空;默认 NULL | 配送线路/配送方案ID |
| distribution_category | TINYINT | 必填;默认 1 | 配送类型:1代配送 2自有配送 3委托配送 |
| pickup_type | TINYINT | 必填;默认 1 | 提货方式:1配送 2自提 |
| pickup_point_id | BIGINT | 可空;默认 NULL | 自提点ID |
| order_type | TINYINT | 必填;默认 1 | 订单类型 |
| order_attr | TINYINT | 必填;默认 0 | 订单属性:0普通 1预售 2临时补单 3赠品单等 |
| bill_state | TINYINT | 必填;默认 0 | 订单总状态 |
| payment_state | TINYINT | 必填;默认 0 | 支付状态:0未付 1已付 2部分支付 |
| fulfillment_state | TINYINT | 必填;默认 0 | 履约状态:0待发货 1部分发货 2已发货 3部分收货 4已收货 |
| settlement_state | TINYINT | 必填;默认 0 | 结算状态:0未结 1部分结 2已结 |
| reconciler_state | TINYINT | 必填;默认 0 | 对账状态:0未对账 1已对账 |
| sort_state | TINYINT | 必填;默认 0 | 分拣状态:0待分拣 1部分分拣 2已分拣 |
| order_date | BIGINT | 必填 | 下单时间 |
| delivery_date_time | BIGINT | 可空;默认 NULL | 期望送达时间 |
| payment_date | BIGINT | 可空;默认 NULL | 支付时间 |
| sendout_date | BIGINT | 可空;默认 NULL | 发货完成时间 |
| affire_date | BIGINT | 可空;默认 NULL | 收货完成时间 |
| payment_id | BIGINT | 可空;默认 NULL | 支付方式ID |
| payment_type | TINYINT | 可空;默认 NULL | 支付类型:0线下 1线上 |
| payer_id | BIGINT | 可空;默认 NULL | 付款人ID |
| creator | BIGINT | 必填 | 创建人ID |
| updater | BIGINT | 可空;默认 NULL | 更新人ID |
| audit_id | BIGINT | 可空;默认 NULL | 审核人ID |
| audit_date | BIGINT | 可空;默认 NULL | 审核时间 |
| sendout_id | BIGINT | 可空;默认 NULL | 发货人ID |
| affire_id | BIGINT | 可空;默认 NULL | 收货人ID |
| order_amount | DECIMAL(18,6) | 必填;默认 0.000000 | 订单总金额 |
| discount_amount | DECIMAL(18,6) | 必填;默认 0.000000 | 优惠金额 |
| delivery_fee | DECIMAL(18,6) | 必填;默认 0.000000 | 配送费 |
| payment_amount | DECIMAL(18,6) | 必填;默认 0.000000 | 已付金额 |
| sendout_amount | DECIMAL(18,6) | 必填;默认 0.000000 | 实发金额汇总 |
| affire_amount | DECIMAL(18,6) | 必填;默认 0.000000 | 实收金额汇总 |
| adjustment_amount | DECIMAL(18,6) | 必填;默认 0.000000 | 多退少补差额汇总 |
| currency_id | BIGINT | 可空;默认 NULL | 币种ID |
| remark | VARCHAR(500) | 可空;默认 NULL | 备注 |
| version | INT | 必填;默认 0 | 版本号 |
| enabled | TINYINT | 必填;默认 1 | 启用状态:0禁用 1启用 |
| del_flag | TINYINT | 必填;默认 0 | 删除标记:0未删 1已删 |
| create_date | BIGINT | 必填 | 创建时间 |
| update_date | BIGINT | 可空;默认 NULL | 更新时间 |

oms_order_item(订单明细表)

替代现有 oms_order_bill_info 的目标订单行表。它保留商品、单位、订货数量、订货金额、批次等业务基线,不再让一张订单行长期承担所有实发、实收和差异过程。

|----------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 表注释 | OMS订单明细表 |
| 主键 | `id` |
| 唯一约束 | UNIQUE KEY `uk_order_item_line` (`order_id`,`line_no`) |
| 关键索引 | KEY `idx_order_code` (`order_code`);KEY `idx_source_order_item_id` (`source_order_item_id`);KEY `idx_sku_unit` (`sku_unit_id`,`unit_id`);KEY `idx_supplier_assign` (`supplier_id`,`assignment_state`);KEY `idx_difference_state` (`difference_state`);KEY `idx_lot_exp` (`lot`,`exp_date`) |
| 重构说明 | 替代现有 oms_order_bill_info 的目标订单行表。它保留商品、单位、订货数量、订货金额、批次等业务基线,不再让一张订单行长期承担所有实发、实收和差异过程。 |

字段字典

|----------------------|---------------|----------------|--------------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | BIGINT | 必填;自增 | 主键ID |
| order_id | BIGINT | 必填 | 订单ID |
| order_code | VARCHAR(64) | 必填 | 订单单号 |
| line_no | INT | 必填;默认 1 | 行号 |
| source_order_item_id | BIGINT | 可空;默认 NULL | 来源订单行ID |
| sku_unit_id | BIGINT | 可空;默认 NULL | 规格单位ID |
| product_sku_id | BIGINT | 必填 | 商品规格ID |
| goods_id | BIGINT | 可空;默认 NULL | 商品ID |
| unit_id | BIGINT | 必填 | 主单位ID |
| pre_auxiliaryunit_id | BIGINT | 可空;默认 NULL | 预订辅助单位ID |
| supplier_id | BIGINT | 可空;默认 NULL | 供应商ID |
| box_id | BIGINT | 可空;默认 NULL | 周转箱ID |
| lot | VARCHAR(128) | 可空;默认 NULL | 批次号 |
| production_date | BIGINT | 可空;默认 NULL | 生产日期 |
| exp_date | BIGINT | 可空;默认 NULL | 过期日期 |
| cost_price | DECIMAL(18,6) | 必填;默认 0.000000 | 成本价快照 |
| unit_price | DECIMAL(18,6) | 必填;默认 0.000000 | 订货单价 |
| pre_num | DECIMAL(18,6) | 必填;默认 0.000000 | 订货数量 |
| pre_auxiliary_num | DECIMAL(18,6) | 必填;默认 0.000000 | 订货辅助数量 |
| pre_amount | DECIMAL(18,6) | 必填;默认 0.000000 | 订货金额 |
| gross_weight | DECIMAL(18,6) | 可空;默认 NULL | 毛重 |
| peel_weight | DECIMAL(18,6) | 可空;默认 NULL | 去皮重量 |
| difference_state | TINYINT | 必填;默认 0 | 差异状态:0无 1已处理 |
| assignment_state | TINYINT | 必填;默认 0 | 指派状态 |
| biz_status | TINYINT | 必填;默认 0 | 明细业务状态 |
| language_code | VARCHAR(32) | 可空;默认 NULL | 展示语言 |
| currency_id | BIGINT | 可空;默认 NULL | 币种ID |
| product_snapshot | LONGTEXT | 可空;默认 NULL | 商品快照JSON |
| remark | VARCHAR(500) | 可空;默认 NULL | 备注 |
| version | INT | 必填;默认 0 | 版本号 |
| enabled | TINYINT | 必填;默认 1 | 启用状态 |
| del_flag | TINYINT | 必填;默认 0 | 删除标记 |
| creator | BIGINT | 必填 | 创建人 |
| create_date | BIGINT | 必填 | 创建时间 |
| updater | BIGINT | 可空;默认 NULL | 更新人 |
| update_date | BIGINT | 可空;默认 NULL | 更新时间 |

oms_order_address(订单地址表)

由现有 oms_address 抽象而来,统一承接配送地址和自提点信息,通过 order_id 与订单主表强关联。

|----------|-------------------------------------------------------------------------------------------------------------------------------|
| 表注释 | OMS订单地址表 |
| 主键 | `id` |
| 唯一约束 | 无(可根据业务补充) |
| 关键索引 | KEY `idx_order_id` (`order_id`);KEY `idx_order_code` (`order_code`);KEY `idx_pickup_point_id` (`pickup_point_id`) |
| 重构说明 | 由现有 oms_address 抽象而来,统一承接配送地址和自提点信息,通过 order_id 与订单主表强关联。 |

字段字典

|-----------------|--------------|------------|-----------------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | BIGINT | 必填;自增 | 主键ID |
| order_id | BIGINT | 必填 | 订单ID |
| order_code | VARCHAR(64) | 必填 | 订单单号 |
| addr_type | TINYINT | 必填;默认 1 | 地址类型:1配送地址 2自提点 |
| contacts | VARCHAR(64) | 必填 | 联系人 |
| phone | VARCHAR(32) | 必填 | 联系电话 |
| province | VARCHAR(64) | 可空;默认 NULL | 省 |
| city | VARCHAR(64) | 可空;默认 NULL | 市 |
| district | VARCHAR(64) | 可空;默认 NULL | 区/县 |
| addr_detail | VARCHAR(500) | 可空;默认 NULL | 详细地址 |
| longitude | VARCHAR(64) | 可空;默认 NULL | 经度 |
| latitude | VARCHAR(64) | 可空;默认 NULL | 纬度 |
| pickup_point_id | BIGINT | 可空;默认 NULL | 自提点ID |
| point_code | VARCHAR(64) | 可空;默认 NULL | 自提点编号 |
| point_name | VARCHAR(128) | 可空;默认 NULL | 自提点名称 |
| point_addr | VARCHAR(500) | 可空;默认 NULL | 自提点地址 |
| remark | VARCHAR(255) | 可空;默认 NULL | 备注 |

oms_order_fee(订单费用表)

由现有 oms_order_bill_fee 升级而来,用于承接订单费用明细,区分费用类型与费用来源。

|----------|-----------------------------------------------------------------------------------------------------------------|
| 表注释 | OMS订单费用表 |
| 主键 | `id` |
| 唯一约束 | 无(可根据业务补充) |
| 关键索引 | KEY `idx_order_id` (`order_id`);KEY `idx_order_code` (`order_code`);KEY `idx_fee_type` (`fee_type`) |
| 重构说明 | 由现有 oms_order_bill_fee 升级而来,用于承接订单费用明细,区分费用类型与费用来源。 |

字段字典

|--------------|---------------|----------------|--------------------------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | BIGINT | 必填;自增 | 主键ID |
| order_id | BIGINT | 必填 | 订单ID |
| order_code | VARCHAR(64) | 必填 | 订单单号 |
| fee_type | TINYINT | 必填;默认 1 | 费用类型:1配送费 2包装费 3服务费 4附加费 |
| fee_source | TINYINT | 必填;默认 1 | 来源:1系统 2人工 3活动 4规则 |
| fee_amount | DECIMAL(18,6) | 必填;默认 0.000000 | 费用金额 |
| tax_included | TINYINT | 必填;默认 1 | 是否含税:0否 1是 |
| currency_id | BIGINT | 可空;默认 NULL | 币种ID |
| remark | VARCHAR(255) | 可空;默认 NULL | 备注 |

oms_order_attachment(订单附件表)

由现有 oms_order_bill_image 升级而来,统一承接下单、发货、收货、异常等阶段的附件和图片。

|----------|----------------------------------------------------------------------------------------------------------------------------------|
| 表注释 | OMS订单附件表 |
| 主键 | `id` |
| 唯一约束 | 无(可根据业务补充) |
| 关键索引 | KEY `idx_order_id` (`order_id`);KEY `idx_order_code` (`order_code`);KEY `idx_biz_stage` (`biz_stage`,`image_type`) |
| 重构说明 | 由现有 oms_order_bill_image 升级而来,统一承接下单、发货、收货、异常等阶段的附件和图片。 |

字段字典

|-------------|--------------|------------|------------------------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | BIGINT | 必填;自增 | 主键ID |
| order_id | BIGINT | 必填 | 订单ID |
| order_code | VARCHAR(64) | 必填 | 订单单号 |
| biz_stage | TINYINT | 必填;默认 1 | 阶段:1下单 2发货 3收货 4异常 |
| image_type | TINYINT | 必填;默认 1 | 附件类型:1图片 2文件 3签收图 4异常图 |
| file_url | VARCHAR(500) | 必填 | 文件地址 |
| file_name | VARCHAR(255) | 可空;默认 NULL | 文件名称 |
| file_size | BIGINT | 可空;默认 NULL | 文件大小 |
| creator | BIGINT | 可空;默认 NULL | 上传人ID |
| create_date | BIGINT | 可空;默认 NULL | 上传时间 |
| remark | VARCHAR(255) | 可空;默认 NULL | 备注 |

oms_order_event(订单事件表)

由现有 oms_order_bill_log 升级而来,强化为事件流水模型,记录订单在创建、审核、履约、逆向、结算各阶段的动作。

|----------|-----------------------------------------------------------------------------------------------------------------------------------------------------|
| 表注释 | OMS订单事件表 |
| 主键 | `id` |
| 唯一约束 | 无(可根据业务补充) |
| 关键索引 | KEY `idx_order_id` (`order_id`);KEY `idx_order_code` (`order_code`);KEY `idx_event_type` (`event_type`,`event_stage`,`create_date`) |
| 重构说明 | 由现有 oms_order_bill_log 升级而来,强化为事件流水模型,记录订单在创建、审核、履约、逆向、结算各阶段的动作。 |

字段字典

|------------------------|--------------|------------|--------------------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | BIGINT | 必填;自增 | 主键ID |
| order_id | BIGINT | 必填 | 订单ID |
| order_code | VARCHAR(64) | 必填 | 订单单号 |
| event_type | VARCHAR(64) | 必填 | 事件类型 |
| event_stage | TINYINT | 必填;默认 1 | 阶段:1下单 2履约 3逆向 4结算 |
| before_json | LONGTEXT | 可空;默认 NULL | 变更前快照 |
| after_json | LONGTEXT | 可空;默认 NULL | 变更后快照 |
| operator_id | BIGINT | 可空;默认 NULL | 操作人ID |
| operator_name_snapshot | VARCHAR(128) | 可空;默认 NULL | 操作人名称快照 |
| create_date | BIGINT | 必填 | 事件时间 |
| remark | VARCHAR(500) | 可空;默认 NULL | 备注 |

5. 二. 支付结算层

承接支付汇总、支付流水与应收欠款。订单头保留支付汇总态,支付事实和结算事实下沉到独立表,便于多次支付、补差价、退款与对账。

oms_order_payment(订单支付汇总表)

统一承接订单支付主事实。订单头仅保留支付汇总态,本表记录支付场景、渠道、状态和金额,是"仅限已支付订单发货时多退少补"的支付依据。

|----------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 表注释 | OMS订单支付汇总表 |
| 主键 | `id` |
| 唯一约束 | UNIQUE KEY `uk_pay_code` (`pay_code`) |
| 关键索引 | KEY `idx_order_id` (`order_id`);KEY `idx_order_code` (`order_code`);KEY `idx_order_pay_status` (`order_id`,`pay_status`);KEY `idx_trade_no` (`source_trade_no`);KEY `idx_pay_scene_status` (`pay_scene`,`pay_status`) |
| 重构说明 | 统一承接订单支付主事实。订单头仅保留支付汇总态,本表记录支付场景、渠道、状态和金额,是"仅限已支付订单发货时多退少补"的支付依据。 |

字段字典

|---------------------|---------------|----------------|-----------------------------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | BIGINT | 必填;自增 | 主键ID |
| order_id | BIGINT | 必填 | 订单ID |
| order_code | VARCHAR(64) | 必填 | 订单单号 |
| pay_code | VARCHAR(64) | 必填 | 支付流水号 |
| pay_scene | TINYINT | 必填;默认 1 | 支付场景:1下单支付 2补差价 3尾款 4补扣 |
| pay_channel | TINYINT | 必填;默认 1 | 支付渠道:1微信 2支付宝 3余额 4现金 5银行转账 |
| payment_type | TINYINT | 必填;默认 1 | 支付类型:0线下 1线上 |
| pay_status | TINYINT | 必填;默认 0 | 支付状态:0待支付 1成功 2失败 3关闭 4部分支付 |
| payment_amount | DECIMAL(18,6) | 必填;默认 0.000000 | 支付金额 |
| currency_id | BIGINT | 可空;默认 NULL | 币种ID |
| source_trade_no | VARCHAR(128) | 可空;默认 NULL | 外部交易号 |
| payer_id | BIGINT | 可空;默认 NULL | 付款人ID |
| payment_date | BIGINT | 可空;默认 NULL | 支付时间 |
| refund_related_flag | TINYINT | 必填;默认 0 | 是否已进入退款链:0否 1是 |
| version | INT | 必填;默认 0 | 版本号 |
| remark | VARCHAR(255) | 可空;默认 NULL | 备注 |

oms_order_payment_record(订单支付流水表)

每次支付、撤销、冲正等动作一条流水,支持多次支付、补差价和渠道回溯。

|----------|---------------------------------------------------------------------------------------------------------------------------------------------------------|
| 表注释 | OMS订单支付流水表 |
| 主键 | `id` |
| 唯一约束 | 无(可根据业务补充) |
| 关键索引 | KEY `idx_payment_id` (`payment_id`);KEY `idx_order_id` (`order_id`);KEY `idx_order_code` (`order_code`);KEY `idx_trade_no` (`trade_no`) |
| 重构说明 | 每次支付、撤销、冲正等动作一条流水,支持多次支付、补差价和渠道回溯。 |

字段字典

|---------------|---------------|----------------|------------------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | BIGINT | 必填;自增 | 主键ID |
| payment_id | BIGINT | 必填 | 支付汇总ID |
| order_id | BIGINT | 必填 | 订单ID |
| order_code | VARCHAR(64) | 必填 | 订单单号 |
| record_type | TINYINT | 必填;默认 1 | 记录类型:1支付 2撤销 3冲正 |
| pay_channel | TINYINT | 必填;默认 1 | 支付渠道 |
| trade_no | VARCHAR(128) | 可空;默认 NULL | 外部交易流水号 |
| amount | DECIMAL(18,6) | 必填;默认 0.000000 | 金额 |
| record_status | TINYINT | 必填;默认 0 | 记录状态 |
| create_date | BIGINT | 必填 | 创建时间 |
| remark | VARCHAR(255) | 可空;默认 NULL | 备注 |

oms_order_ar(订单应收表)

由现有 oms_order_bill_debt 升级而来,承接应收、已付、剩余欠款和结算批次信息。

|----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 表注释 | OMS订单应收表 |
| 主键 | `id` |
| 唯一约束 | 无(可根据业务补充) |
| 关键索引 | KEY `idx_order_id` (`order_id`);KEY `idx_order_code` (`order_code`);KEY `idx_trade_id` (`trade_id`);KEY `idx_settlement_batch_no` (`settlement_batch_no`) |
| 重构说明 | 由现有 oms_order_bill_debt 升级而来,承接应收、已付、剩余欠款和结算批次信息。 |

字段字典

|---------------------|---------------|----------------|--------------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | BIGINT | 必填;自增 | 主键ID |
| order_id | BIGINT | 必填 | 订单ID |
| order_code | VARCHAR(64) | 必填 | 订单单号 |
| debt_type | TINYINT | 必填;默认 1 | 欠款类型 |
| order_amount | DECIMAL(18,6) | 必填;默认 0.000000 | 应收金额 |
| paid_amount | DECIMAL(18,6) | 必填;默认 0.000000 | 已付金额 |
| still_debt_amount | DECIMAL(18,6) | 必填;默认 0.000000 | 剩余欠款 |
| trade_id | BIGINT | 可空;默认 NULL | 客户/交易对象ID |
| settlement_batch_no | VARCHAR(64) | 可空;默认 NULL | 结算批次号 |
| record_type | TINYINT | 必填;默认 1 | 记录类型:1快照 2流水 |
| remark | VARCHAR(255) | 可空;默认 NULL | 备注 |

5. 三. 履约执行层

承接分拣、发货、收货、配送的过程事实。它是订单基础层与仓配执行之间的桥梁,避免把所有实发、实收过程持续堆在订单行上。

oms_order_fulfillment(订单履约主表)

承接订单的履约汇总态,包括分拣、发货、收货的总状态和总金额。

|----------|--------------------------------------------------------------------------------------------------------------------------------------------|
| 表注释 | OMS履约主表 |
| 主键 | `id` |
| 唯一约束 | UNIQUE KEY `uk_fulfillment_code` (`fulfillment_code`) |
| 关键索引 | KEY `idx_order_id` (`order_id`);KEY `idx_order_code` (`order_code`);KEY `idx_sendout_state` (`sendout_state`,`affire_state`) |
| 重构说明 | 承接订单的履约汇总态,包括分拣、发货、收货的总状态和总金额。 |

字段字典

|-------------------|---------------|----------------|--------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | BIGINT | 必填;自增 | 主键ID |
| order_id | BIGINT | 必填 | 订单ID |
| order_code | VARCHAR(64) | 必填 | 订单单号 |
| fulfillment_code | VARCHAR(64) | 必填 | 履约单号 |
| fulfillment_state | TINYINT | 必填;默认 0 | 履约状态 |
| sort_state | TINYINT | 必填;默认 0 | 分拣状态 |
| sendout_state | TINYINT | 必填;默认 0 | 发货状态 |
| affire_state | TINYINT | 必填;默认 0 | 收货状态 |
| sendout_amount | DECIMAL(18,6) | 必填;默认 0.000000 | 实发金额汇总 |
| affire_amount | DECIMAL(18,6) | 必填;默认 0.000000 | 实收金额汇总 |
| sendout_id | BIGINT | 可空;默认 NULL | 发货人ID |
| sendout_date | BIGINT | 可空;默认 NULL | 发货时间 |
| affire_id | BIGINT | 可空;默认 NULL | 收货人ID |
| affire_date | BIGINT | 可空;默认 NULL | 收货时间 |
| workhouse_id | BIGINT | 可空;默认 NULL | 仓库ID |
| remark | VARCHAR(255) | 可空;默认 NULL | 备注 |

oms_order_fulfillment_item(订单履约明细表)

承接订单行的实发、实收过程数据,是从现有 oms_order_bill_info 中剥离过程态的关键落点。

|----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 表注释 | OMS履约明细表 |
| 主键 | `id` |
| 唯一约束 | UNIQUE KEY `uk_fulfillment_item` (`fulfillment_id`,`order_item_id`) |
| 关键索引 | KEY `idx_order_id` (`order_id`);KEY `idx_order_code` (`order_code`);KEY `idx_sendout_user_date` (`sendout_id`,`sendout_date`);KEY `idx_affire_user_date` (`affire_id`,`affire_date`) |
| 重构说明 | 承接订单行的实发、实收过程数据,是从现有 oms_order_bill_info 中剥离过程态的关键落点。 |

字段字典

|--------------------------|---------------|----------------|----------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | BIGINT | 必填;自增 | 主键ID |
| fulfillment_id | BIGINT | 必填 | 履约主表ID |
| order_id | BIGINT | 必填 | 订单ID |
| order_item_id | BIGINT | 必填 | 订单行ID |
| order_code | VARCHAR(64) | 必填 | 订单单号 |
| sendout_num | DECIMAL(18,6) | 必填;默认 0.000000 | 实发数量 |
| sendout_price | DECIMAL(18,6) | 必填;默认 0.000000 | 实发单价 |
| sendout_amount | DECIMAL(18,6) | 必填;默认 0.000000 | 实发金额 |
| sendout_auxiliaryunit_id | BIGINT | 可空;默认 NULL | 实发辅助单位ID |
| sendout_auxiliary_num | DECIMAL(18,6) | 必填;默认 0.000000 | 实发辅助数量 |
| sendout_id | BIGINT | 可空;默认 NULL | 发货人ID |
| sendout_date | BIGINT | 可空;默认 NULL | 发货时间 |
| affire_num | DECIMAL(18,6) | 必填;默认 0.000000 | 实收数量 |
| affire_price | DECIMAL(18,6) | 必填;默认 0.000000 | 实收单价 |
| affire_amount | DECIMAL(18,6) | 必填;默认 0.000000 | 实收金额 |
| affire_auxiliaryunit_id | BIGINT | 可空;默认 NULL | 实收辅助单位ID |
| affire_auxiliary_num | DECIMAL(18,6) | 必填;默认 0.000000 | 实收辅助数量 |
| affire_id | BIGINT | 可空;默认 NULL | 收货人ID |
| affire_date | BIGINT | 可空;默认 NULL | 收货时间 |
| sort_state | TINYINT | 必填;默认 0 | 分拣状态 |
| stockout_type | TINYINT | 必填;默认 0 | 缺货标记 |
| remark | VARCHAR(255) | 可空;默认 NULL | 备注 |

oms_order_delivery(订单配送交接表)

由现有 oms_order_bill_delivery 升级而来,承接物流公司、司机、车辆、出发、到达、签收等配送事实。

|----------|-------------------------------------------------------------------------------------------------------------------------------------------|
| 表注释 | OMS订单配送表 |
| 主键 | `id` |
| 唯一约束 | UNIQUE KEY `uk_delivery_code` (`delivery_code`) |
| 关键索引 | KEY `idx_order_id` (`order_id`);KEY `idx_order_code` (`order_code`);KEY `idx_driver_status` (`driver_id`,`delivery_status`) |
| 重构说明 | 由现有 oms_order_bill_delivery 升级而来,承接物流公司、司机、车辆、出发、到达、签收等配送事实。 |

字段字典

|------------------|--------------|------------|--------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | BIGINT | 必填;自增 | 主键ID |
| order_id | BIGINT | 必填 | 订单ID |
| order_code | VARCHAR(64) | 必填 | 订单单号 |
| delivery_code | VARCHAR(64) | 必填 | 配送单号 |
| delivery_company | VARCHAR(128) | 可空;默认 NULL | 物流公司 |
| driver_id | BIGINT | 可空;默认 NULL | 配送员ID |
| vehicle_id | BIGINT | 可空;默认 NULL | 车辆ID |
| depart_time | BIGINT | 可空;默认 NULL | 出发时间 |
| arrive_time | BIGINT | 可空;默认 NULL | 到达时间 |
| sign_time | BIGINT | 可空;默认 NULL | 签收时间 |
| sign_type | TINYINT | 可空;默认 NULL | 签收类型 |
| delivery_status | TINYINT | 必填;默认 0 | 配送状态 |
| remark | VARCHAR(255) | 可空;默认 NULL | 备注 |

oms_order_delivery_log(订单配送日志表)

记录配送/交接链的事件流水,便于履约追踪。

|----------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 表注释 | OMS订单配送日志表 |
| 主键 | `id` |
| 唯一约束 | 无(可根据业务补充) |
| 关键索引 | KEY `idx_delivery_id` (`delivery_id`);KEY `idx_order_id` (`order_id`);KEY `idx_order_code` (`order_code`);KEY `idx_event_type` (`event_type`,`create_date`) |
| 重构说明 | 记录配送/交接链的事件流水,便于履约追踪。 |

字段字典

|-------------|--------------|------------|--------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | BIGINT | 必填;自增 | 主键ID |
| delivery_id | BIGINT | 必填 | 配送表ID |
| order_id | BIGINT | 必填 | 订单ID |
| order_code | VARCHAR(64) | 必填 | 订单单号 |
| event_type | VARCHAR(64) | 必填 | 事件类型 |
| operator_id | BIGINT | 可空;默认 NULL | 操作人ID |
| create_date | BIGINT | 必填 | 操作时间 |
| remark | VARCHAR(255) | 可空;默认 NULL | 备注 |

5. 四. 差额与逆向层

承接多退少补、退货、退款三条逆向链。差额单用于"预退/预扣"预处理,退货单承接货物流逆向,退款单承接资金流逆向。

oms_order_adjustment(订单差额调整主表)

由现有 oms_order_more_less 标准化而来。用于承接发货或收货阶段形成的预退/预扣差额,先形成待处理事实,再进入财务执行。

|----------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 表注释 | OMS多退少补主表 |
| 主键 | `id` |
| 唯一约束 | UNIQUE KEY `uk_adjustment_code` (`adjustment_code`) |
| 关键索引 | KEY `idx_order_id` (`order_id`);KEY `idx_order_code` (`order_code`);KEY `idx_audit_dispose` (`audit_state`,`dispose_state`);KEY `idx_shop_stage` (`shop_id`,`source_stage`) |
| 重构说明 | 由现有 oms_order_more_less 标准化而来。用于承接发货或收货阶段形成的预退/预扣差额,先形成待处理事实,再进入财务执行。 |

字段字典

|------------------------|---------------|----------------|--------------------------------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | BIGINT | 必填;自增 | 主键ID |
| adjustment_code | VARCHAR(64) | 必填 | 多退少补单号 |
| order_id | BIGINT | 必填 | 订单ID |
| order_code | VARCHAR(64) | 必填 | 订单单号 |
| shop_id | BIGINT | 必填 | 客户ID |
| shop_account_id | BIGINT | 可空;默认 NULL | 客户账号ID |
| source_stage | TINYINT | 必填;默认 1 | 来源阶段:1发货预处理 2收货确认 3客服复核 4财务已处理 |
| payment_state_snapshot | TINYINT | 必填;默认 0 | 支付状态快照 |
| payment_type_snapshot | TINYINT | 可空;默认 NULL | 支付类型快照 |
| total_amount | DECIMAL(18,6) | 必填;默认 0.000000 | 预退/预扣总金额 |
| audit_state | TINYINT | 必填;默认 0 | 审核状态 |
| dispose_state | TINYINT | 必填;默认 0 | 执行状态 |
| dispose_user_id | BIGINT | 可空;默认 NULL | 处理人ID |
| dispose_date | BIGINT | 可空;默认 NULL | 处理时间 |
| dept_id | BIGINT | 可空;默认 NULL | 机构ID |
| audit_id | BIGINT | 可空;默认 NULL | 审核人ID |
| audit_date | BIGINT | 可空;默认 NULL | 审核时间 |
| remark | VARCHAR(255) | 可空;默认 NULL | 备注 |
| version | INT | 必填;默认 0 | 版本号 |

oms_order_adjustment_item(订单差额调整明细表)

由现有 oms_order_more_less_info 升级而来,按订单行记录差额方向、数量快照、金额快照。

|----------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 表注释 | OMS多退少补明细表 |
| 主键 | `id` |
| 唯一约束 | 无(可根据业务补充) |
| 关键索引 | KEY `idx_adjustment_id` (`adjustment_id`);KEY `idx_order_id` (`order_id`);KEY `idx_order_item_id` (`order_item_id`);KEY `idx_difference_type` (`difference_type`) |
| 重构说明 | 由现有 oms_order_more_less_info 升级而来,按订单行记录差额方向、数量快照、金额快照。 |

字段字典

|----------------------|---------------|----------------|----------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | BIGINT | 必填;自增 | 主键ID |
| adjustment_id | BIGINT | 必填 | 多退少补主表ID |
| order_id | BIGINT | 必填 | 订单ID |
| order_item_id | BIGINT | 必填 | 订单行ID |
| order_code | VARCHAR(64) | 必填 | 订单单号 |
| difference_type | TINYINT | 必填 | 1补扣 2预退 |
| pre_num_snapshot | DECIMAL(18,6) | 必填;默认 0.000000 | 订货数量快照 |
| sendout_num_snapshot | DECIMAL(18,6) | 必填;默认 0.000000 | 实发数量快照 |
| affire_num_snapshot | DECIMAL(18,6) | 必填;默认 0.000000 | 实收数量快照 |
| unit_price_snapshot | DECIMAL(18,6) | 必填;默认 0.000000 | 单价快照 |
| info_amount | DECIMAL(18,6) | 必填;默认 0.000000 | 差额金额 |
| product_sku_id | BIGINT | 必填 | 商品规格ID |
| unit_id | BIGINT | 必填 | 单位ID |
| remark | VARCHAR(255) | 可空;默认 NULL | 备注 |

oms_return_order(退货主表)

由现有 oms_returnorder 升级而来,承接逆向货物流。统一来源订单、来源差额单、退货类型和退货方向。

|----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 表注释 | OMS退货主表 |
| 主键 | `id` |
| 唯一约束 | UNIQUE KEY `uk_return_code` (`return_code`) |
| 关键索引 | KEY `idx_source_order_id` (`source_order_id`);KEY `idx_source_order_code` (`source_order_code`);KEY `idx_source_adjustment_id` (`source_adjustment_id`);KEY `idx_shop_bill_state` (`shop_id`,`bill_state`);KEY `idx_dept_bill_date` (`dept_id`,`bill_state`,`return_date`);KEY `idx_reconciler_state` (`reconciler_state`) |
| 重构说明 | 由现有 oms_returnorder 升级而来,承接逆向货物流。统一来源订单、来源差额单、退货类型和退货方向。 |

字段字典

|-------------------------|---------------|----------------|---------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | BIGINT | 必填;自增 | 主键ID |
| return_code | VARCHAR(64) | 必填 | 退货单号 |
| source_order_id | BIGINT | 可空;默认 NULL | 来源订单ID |
| source_order_code | VARCHAR(64) | 可空;默认 NULL | 来源订单单号 |
| source_adjustment_id | BIGINT | 可空;默认 NULL | 来源差额单ID |
| return_type | TINYINT | 必填;默认 1 | 退货类型 |
| return_direction | TINYINT | 必填;默认 1 | 退货方向 |
| bill_state | TINYINT | 必填;默认 0 | 单据状态 |
| shop_id | BIGINT | 可空;默认 NULL | 客户ID |
| shop_account_id | BIGINT | 可空;默认 NULL | 客户账号ID |
| workhouse_id | BIGINT | 可空;默认 NULL | 仓库ID |
| supplier_id | BIGINT | 可空;默认 NULL | 供应商ID |
| return_amount | DECIMAL(18,6) | 必填;默认 0.000000 | 退货总金额 |
| return_reason | BIGINT | 可空;默认 NULL | 退货原因 |
| warehouse_receipt_state | TINYINT | 必填;默认 0 | 仓库接收状态 |
| quality_state | TINYINT | 必填;默认 0 | 质检状态 |
| reconciler_state | TINYINT | 必填;默认 0 | 对账状态 |
| reconciler | BIGINT | 可空;默认 NULL | 对账人 |
| reconciler_date | BIGINT | 可空;默认 NULL | 对账时间 |
| audit_id | BIGINT | 可空;默认 NULL | 审核人 |
| audit_date | BIGINT | 可空;默认 NULL | 审核时间 |
| return_date | BIGINT | 可空;默认 NULL | 退货时间 |
| dept_id | BIGINT | 可空;默认 NULL | 机构ID |
| remark | VARCHAR(255) | 可空;默认 NULL | 备注 |
| version | INT | 必填;默认 0 | 版本号 |

oms_return_order_item(退货明细表)

按订单行或差额行记录退货数量、金额与批次快照,是逆向货流的行级事实。

|----------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 表注释 | OMS退货明细表 |
| 主键 | `id` |
| 唯一约束 | 无(可根据业务补充) |
| 关键索引 | KEY `idx_return_id` (`return_id`);KEY `idx_source_order_item_id` (`source_order_item_id`);KEY `idx_source_adjustment_item_id` (`source_adjustment_item_id`);KEY `idx_product_unit` (`product_sku_id`,`unit_id`) |
| 重构说明 | 按订单行或差额行记录退货数量、金额与批次快照,是逆向货流的行级事实。 |

字段字典

|---------------------------|---------------|----------------|----------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | BIGINT | 必填;自增 | 主键ID |
| return_id | BIGINT | 必填 | 退货主表ID |
| source_order_item_id | BIGINT | 可空;默认 NULL | 来源订单行ID |
| source_adjustment_item_id | BIGINT | 可空;默认 NULL | 来源差额明细ID |
| product_sku_id | BIGINT | 必填 | 商品规格ID |
| unit_id | BIGINT | 必填 | 单位ID |
| return_num | DECIMAL(18,6) | 必填;默认 0.000000 | 退货数量 |
| return_price | DECIMAL(18,6) | 必填;默认 0.000000 | 退货单价 |
| return_amount | DECIMAL(18,6) | 必填;默认 0.000000 | 退货金额 |
| lot | VARCHAR(128) | 可空;默认 NULL | 批次号 |
| production_date | BIGINT | 可空;默认 NULL | 生产日期 |
| exp_date | BIGINT | 可空;默认 NULL | 过期日期 |
| product_snapshot | LONGTEXT | 可空;默认 NULL | 商品快照JSON |
| remark | VARCHAR(255) | 可空;默认 NULL | 备注 |

oms_refund_order(退款主表)

由现有 oms_refund_order 升级而来,承接逆向资金流。统一来源订单、来源退货单、来源差额单和退款场景。

|----------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 表注释 | OMS退款主表 |
| 主键 | `id` |
| 唯一约束 | UNIQUE KEY `uk_refund_code` (`refund_code`) |
| 关键索引 | KEY `idx_source_order_id` (`source_order_id`);KEY `idx_source_order_code` (`source_order_code`);KEY `idx_source_return_id` (`source_return_id`);KEY `idx_source_adjustment_id` (`source_adjustment_id`);KEY `idx_refund_status` (`refund_status`);KEY `idx_refund_scene_status` (`refund_scene`,`refund_status`) |
| 重构说明 | 由现有 oms_refund_order 升级而来,承接逆向资金流。统一来源订单、来源退货单、来源差额单和退款场景。 |

字段字典

|----------------------|---------------|----------------|------------------------------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | BIGINT | 必填;自增 | 主键ID |
| refund_code | VARCHAR(64) | 必填 | 退款单号 |
| source_order_id | BIGINT | 可空;默认 NULL | 来源订单ID |
| source_order_code | VARCHAR(64) | 可空;默认 NULL | 来源订单单号 |
| source_return_id | BIGINT | 可空;默认 NULL | 来源退货单ID |
| source_adjustment_id | BIGINT | 可空;默认 NULL | 来源多退少补单ID |
| refund_scene | TINYINT | 必填;默认 1 | 退款场景:1售后退款 2退货退款 3差额退款 4人工退款 |
| refund_channel | TINYINT | 必填;默认 1 | 退款渠道:1原路退 2余额退 3现金退 4银行转账 |
| refund_type | TINYINT | 必填;默认 1 | 退款类型 |
| refund_status | TINYINT | 必填;默认 0 | 退款状态 |
| refund_amount | DECIMAL(18,6) | 必填;默认 0.000000 | 退款总金额 |
| transaction_id | VARCHAR(128) | 可空;默认 NULL | 原支付交易号 |
| finance_state | TINYINT | 必填;默认 0 | 财务状态 |
| audit_id | BIGINT | 可空;默认 NULL | 审核人ID |
| audit_date | BIGINT | 可空;默认 NULL | 审核时间 |
| creator | BIGINT | 可空;默认 NULL | 创建人ID |
| create_date | BIGINT | 可空;默认 NULL | 创建时间 |
| remark | VARCHAR(255) | 可空;默认 NULL | 备注 |
| version | INT | 必填;默认 0 | 版本号 |

oms_refund_order_item(退款明细表)

按订单行、退货行或差额行记录退款数量和金额,是资金逆向的行级事实。

|----------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 表注释 | OMS退款明细表 |
| 主键 | `id` |
| 唯一约束 | 无(可根据业务补充) |
| 关键索引 | KEY `idx_refund_id` (`refund_id`);KEY `idx_source_order_item_id` (`source_order_item_id`);KEY `idx_source_return_item_id` (`source_return_item_id`);KEY `idx_source_adjustment_item_id` (`source_adjustment_item_id`);KEY `idx_order_info_id` (`order_info_id`) |
| 重构说明 | 按订单行、退货行或差额行记录退款数量和金额,是资金逆向的行级事实。 |

字段字典

|---------------------------|---------------|----------------|------------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | BIGINT | 必填;自增 | 主键ID |
| refund_id | BIGINT | 必填 | 退款主表ID |
| source_order_item_id | BIGINT | 可空;默认 NULL | 来源订单行ID |
| source_return_item_id | BIGINT | 可空;默认 NULL | 来源退货行ID |
| source_adjustment_item_id | BIGINT | 可空;默认 NULL | 来源差额明细ID |
| order_info_id | BIGINT | 可空;默认 NULL | 兼容旧系统订单行ID |
| product_sku_id | BIGINT | 必填 | 商品规格ID |
| unit_id | BIGINT | 必填 | 单位ID |
| refund_num | DECIMAL(18,6) | 必填;默认 0.000000 | 退款数量 |
| refund_price | DECIMAL(18,6) | 必填;默认 0.000000 | 退款单价 |
| refund_amount | DECIMAL(18,6) | 必填;默认 0.000000 | 退款金额 |
| refund_reason_code | BIGINT | 可空;默认 NULL | 退款原因编码 |
| product_snapshot | LONGTEXT | 可空;默认 NULL | 商品快照JSON |
| remark | VARCHAR(255) | 可空;默认 NULL | 备注 |

5. 五. 运营协同层

承接订货模板、波次、拣货任务等运营协同能力,用于支撑批量订单运营和仓内履约调度。

oms_order_template(订货模板主表)

承接客户/门店订货模板头信息,保留模板范围、归属主体和版本信息。

|----------|-------------------------------------------------------------------------------------|
| 表注释 | OMS订货模板主表 |
| 主键 | `id` |
| 唯一约束 | UNIQUE KEY `uk_template_code` (`template_code`) |
| 关键索引 | KEY `idx_shop_id` (`shop_id`);KEY `idx_template_status` (`template_status`) |
| 重构说明 | 承接客户/门店订货模板头信息,保留模板范围、归属主体和版本信息。 |

字段字典

|---------------------|--------------|------------|---------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | BIGINT | 必填;自增 | 主键ID |
| template_code | VARCHAR(64) | 必填 | 模板编号 |
| template_name | VARCHAR(128) | 必填 | 模板名称 |
| template_scope | TINYINT | 必填;默认 1 | 模板范围 |
| template_owner_type | TINYINT | 必填;默认 1 | 所属主体类型 |
| shop_id | BIGINT | 可空;默认 NULL | 客户/门店ID |
| template_status | TINYINT | 必填;默认 1 | 模板状态 |
| version | INT | 必填;默认 0 | 版本号 |
| remark | VARCHAR(255) | 可空;默认 NULL | 备注 |

oms_order_template_item(订货模板明细表)

承接模板商品行和默认数量。

|----------|---------------------------------------------------------------------------------------------------------------------------------------------------|
| 表注释 | OMS订货模板明细表 |
| 主键 | `id` |
| 唯一约束 | 无(可根据业务补充) |
| 关键索引 | KEY `idx_template_id` (`template_id`);KEY `idx_template_code` (`template_code`);KEY `idx_product_unit` (`product_sku_id`,`unit_id`) |
| 重构说明 | 承接模板商品行和默认数量。 |

字段字典

|----------------|---------------|----------------|--------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | BIGINT | 必填;自增 | 主键ID |
| template_id | BIGINT | 必填 | 模板ID |
| template_code | VARCHAR(64) | 必填 | 模板编号 |
| product_sku_id | BIGINT | 必填 | 商品规格ID |
| unit_id | BIGINT | 必填 | 单位ID |
| pre_num | DECIMAL(18,6) | 必填;默认 0.000000 | 默认数量 |
| remark | VARCHAR(255) | 可空;默认 NULL | 备注 |

oms_order_wave(订单波次主表)

承接波次调度的头信息,用于按配送日期、仓库、区域组织订单波次。

|----------|-----------------------------------------------------------------------------------------------------------------------------------|
| 表注释 | OMS波次主表 |
| 主键 | `id` |
| 唯一约束 | UNIQUE KEY `uk_wave_code` (`wave_code`) |
| 关键索引 | KEY `idx_workhouse_delivery` (`workhouse_id`,`delivery_date_time`);KEY `idx_audit_task` (`audit_state`,`task_status`) |
| 重构说明 | 承接波次调度的头信息,用于按配送日期、仓库、区域组织订单波次。 |

字段字典

|--------------------|---------------|----------------|--------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | BIGINT | 必填;自增 | 主键ID |
| wave_code | VARCHAR(64) | 必填 | 波次编号 |
| workhouse_id | BIGINT | 必填 | 仓库ID |
| region | VARCHAR(128) | 可空;默认 NULL | 区域 |
| delivery_date_time | BIGINT | 可空;默认 NULL | 配送日期 |
| priority | INT | 必填;默认 0 | 优先级 |
| order_count | INT | 必填;默认 0 | 订单数 |
| total_amount | DECIMAL(18,6) | 必填;默认 0.000000 | 总金额 |
| audit_state | TINYINT | 必填;默认 0 | 审核状态 |
| task_status | TINYINT | 必填;默认 0 | 任务状态 |
| wave_status | TINYINT | 必填;默认 0 | 波次状态 |
| picker_id | BIGINT | 可空;默认 NULL | 拣货负责人 |
| pick_start_time | BIGINT | 可空;默认 NULL | 开始拣货时间 |
| pick_finish_time | BIGINT | 可空;默认 NULL | 完成拣货时间 |
| remark | VARCHAR(255) | 可空;默认 NULL | 备注 |

oms_order_wave_order(波次订单关系表)

建立波次与订单的多对多关系,避免把波次编号长期硬塞在订单头中。

|----------|---------------------------------------------------------|
| 表注释 | OMS波次订单关系表 |
| 主键 | `id` |
| 唯一约束 | UNIQUE KEY `uk_wave_order` (`wave_id`,`order_id`) |
| 关键索引 | KEY `idx_order_code` (`order_code`) |
| 重构说明 | 建立波次与订单的多对多关系,避免把波次编号长期硬塞在订单头中。 |

字段字典

|------------|-------------|-----------|--------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | BIGINT | 必填;自增 | 主键ID |
| wave_id | BIGINT | 必填 | 波次ID |
| order_id | BIGINT | 必填 | 订单ID |
| order_code | VARCHAR(64) | 必填 | 订单单号 |
| sort_no | INT | 必填;默认 1 | 排序号 |

oms_picking_task(拣货任务主表)

承接拣货任务头,关联波次与仓库。

|----------|-----------------------------------------------------------------------------------------------------------------------------------|
| 表注释 | OMS拣货任务主表 |
| 主键 | `id` |
| 唯一约束 | UNIQUE KEY `uk_task_code` (`task_code`) |
| 关键索引 | KEY `idx_wave_id` (`wave_id`);KEY `idx_wave_code` (`wave_code`);KEY `idx_picker_status` (`picker_id`,`task_status`) |
| 重构说明 | 承接拣货任务头,关联波次与仓库。 |

字段字典

|--------------|--------------|------------|--------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | BIGINT | 必填;自增 | 主键ID |
| task_code | VARCHAR(64) | 必填 | 任务编号 |
| wave_id | BIGINT | 可空;默认 NULL | 波次ID |
| wave_code | VARCHAR(64) | 可空;默认 NULL | 波次编号 |
| workhouse_id | BIGINT | 必填 | 仓库ID |
| task_status | TINYINT | 必填;默认 0 | 任务状态 |
| picker_id | BIGINT | 可空;默认 NULL | 拣货人ID |
| start_time | BIGINT | 可空;默认 NULL | 开始时间 |
| finish_time | BIGINT | 可空;默认 NULL | 完成时间 |
| remark | VARCHAR(255) | 可空;默认 NULL | 备注 |

oms_picking_task_item(拣货任务明细表)

承接拣货数量、库位和任务行状态。

|----------|-----------------------------------------------------------------------------------------------|
| 表注释 | OMS拣货任务明细表 |
| 主键 | `id` |
| 唯一约束 | UNIQUE KEY `uk_task_item` (`task_id`,`order_item_id`) |
| 关键索引 | KEY `idx_order_id` (`order_id`);KEY `idx_product_unit` (`product_sku_id`,`unit_id`) |
| 重构说明 | 承接拣货数量、库位和任务行状态。 |

字段字典

|----------------|---------------|----------------|--------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | BIGINT | 必填;自增 | 主键ID |
| task_id | BIGINT | 必填 | 任务ID |
| order_id | BIGINT | 必填 | 订单ID |
| order_item_id | BIGINT | 必填 | 订单行ID |
| product_sku_id | BIGINT | 必填 | 商品规格ID |
| unit_id | BIGINT | 必填 | 单位ID |
| pick_num | DECIMAL(18,6) | 必填;默认 0.000000 | 拣货数量 |
| location_id | BIGINT | 可空;默认 NULL | 库位ID |
| bin_id | BIGINT | 可空;默认 NULL | 箱位ID |
| task_state | TINYINT | 必填;默认 0 | 明细状态 |

5. 六. 商城支撑层

承接前置商城能力,包括自提点、购物车和价格表,为门店/客户下单提供基础支撑。

oms_pickup_point(自提点表)

承接自提点基础资料,作为订单地址层和商城支撑层的公共对象。

|----------|-----------------------------------------------|
| 表注释 | OMS自提点表 |
| 主键 | `id` |
| 唯一约束 | UNIQUE KEY `uk_point_code` (`point_code`) |
| 关键索引 | KEY `idx_shop_id` (`shop_id`) |
| 重构说明 | 承接自提点基础资料,作为订单地址层和商城支撑层的公共对象。 |

字段字典

|--------------|--------------|------------|------------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | BIGINT | 必填;自增 | 主键ID |
| point_code | VARCHAR(64) | 必填 | 自提点编号 |
| point_name | VARCHAR(128) | 必填 | 自提点名称 |
| shop_id | BIGINT | 可空;默认 NULL | 所属门店/客户ID |
| contacts | VARCHAR(64) | 可空;默认 NULL | 联系人 |
| phone | VARCHAR(32) | 可空;默认 NULL | 联系电话 |
| point_addr | VARCHAR(500) | 可空;默认 NULL | 地址 |
| longitude | VARCHAR(64) | 可空;默认 NULL | 经度 |
| latitude | VARCHAR(64) | 可空;默认 NULL | 纬度 |
| pickup_time | VARCHAR(255) | 可空;默认 NULL | 营业时间 |
| point_qrcode | VARCHAR(500) | 可空;默认 NULL | 二维码地址 |
| enabled | TINYINT | 必填;默认 1 | 状态:0禁用 1启用 |

oms_shop_cart(购物车表)

承接下单前的商品暂存,服务于门店/客户下单入口。

|----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 表注释 | OMS购物车表 |
| 主键 | `id` |
| 唯一约束 | 无(可根据业务补充) |
| 关键索引 | KEY `idx_shop_account` (`shop_id`,`shop_account_id`);KEY `idx_product_unit` (`product_sku_id`,`unit_id`);KEY `idx_supplier_id` (`supplier_id`) |
| 重构说明 | 承接下单前的商品暂存,服务于门店/客户下单入口。 |

字段字典

|-----------------|---------------|----------------|------------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | BIGINT | 必填;自增 | 主键ID |
| shop_id | BIGINT | 必填 | 客户/门店ID |
| shop_account_id | BIGINT | 可空;默认 NULL | 账号ID |
| sku_unit_id | BIGINT | 可空;默认 NULL | 规格单位ID |
| product_sku_id | BIGINT | 必填 | 商品规格ID |
| unit_id | BIGINT | 必填 | 单位ID |
| pre_num | DECIMAL(18,6) | 必填;默认 0.000000 | 数量 |
| supplier_id | BIGINT | 可空;默认 NULL | 供应商ID |
| presell | TINYINT | 必填;默认 0 | 是否预售:0否 1是 |
| remark | VARCHAR(255) | 可空;默认 NULL | 备注 |
| create_date | BIGINT | 可空;默认 NULL | 创建时间 |

oms_shop_product_price(店铺价格表)

承接店铺-商品规格-单位层级的售价配置,是下单价格口径的支撑表。

|----------|------------------------------------------------------------------------------|
| 表注释 | OMS店铺商品价格表 |
| 主键 | `id` |
| 唯一约束 | UNIQUE KEY `uk_shop_sku_unit` (`shop_id`,`product_sku_id`,`unit_id`) |
| 关键索引 | KEY `idx_enabled_date` (`enabled`,`start_date`,`end_date`) |
| 重构说明 | 承接店铺-商品规格-单位层级的售价配置,是下单价格口径的支撑表。 |

字段字典

|----------------|---------------|----------------|---------|
| 字段名 | 类型 | 约束/默认 | 说明 |
| id | BIGINT | 必填;自增 | 主键ID |
| shop_id | BIGINT | 必填 | 客户/门店ID |
| product_sku_id | BIGINT | 必填 | 商品规格ID |
| unit_id | BIGINT | 必填 | 单位ID |
| sale_price | DECIMAL(18,6) | 必填;默认 0.000000 | 销售价 |
| enabled | TINYINT | 必填;默认 1 | 启用状态 |
| start_date | BIGINT | 可空;默认 NULL | 生效开始时间 |
| end_date | BIGINT | 可空;默认 NULL | 生效结束时间 |
| remark | VARCHAR(255) | 可空;默认 NULL | 备注 |

6. 分阶段重构实施说明

阶段一:结构钩子补齐

先在现有表上补 order_id、source_order_id、source_order_item_id、version、difference_type、refund_scene 等结构钩子,实现"单号兼容 + 强 ID 关联并存"。

阶段二:Service 与 Dao 适配

Java 层优先使用强 ID 链查询与更新,Controller 对外路径和业务单号继续兼容;分页、详情、动作、导出与打印逐步迁移到新的分层模型。

阶段三:过程态拆分

把现有 oms_order_bill_info 中的实发、实收等过程态,逐步迁移到 oms_order_fulfillment_item;把配送交接迁移到 oms_order_delivery。

阶段四:逆向链统一

把多退少补、退货、退款三条链统一来源字段,形成"发货差额预处理 → 退货/退款执行"的标准路径。

阶段五:库存、采购、财务联动

在结构稳定之后,再接库存同步、采购申请、应收对账与财务事件,不建议在宽表未治理前直接重写全部联动。

7. 配套文件说明

本说明文档对应的建表脚本文件为:《升鲜宝_OMS_重构版_MySQL_DDL.sql》。建议将本 DOCX 与 SQL 文件一并归档,作为研发评审、数据库建模和实施交付的统一基线。

------ 文档结束 ------

相关推荐
升鲜宝供应链及收银系统源代码服务1 天前
OMS 订单模块重构正式文档(一)---升鲜宝生鲜配送供应链管理系统
java·开发语言·重构·生鲜配送源代码·生鲜供应链源代码
升鲜宝供应链及收银系统源代码服务2 天前
数据字典国际化完整方案字典类型主表 + 字典类型国际化子表 + 字典明细主表 + 字典明细国际化子表(一)----升鲜宝生鲜配送供应链管理系统源代码
国际化·数据字典·多语言·生鲜配送·供应链源代码
升鲜宝供应链及收银系统源代码服务2 天前
系统菜单与按钮国际化升鲜宝多语言数据库设计演进对比文档(一)
数据库·多语言·生鲜配送·生鲜供应链管理系统·门店收银
升鲜宝供应链及收银系统源代码服务1 个月前
《IntelliJ + Claude Code + Gemini + ChatGPT 实战配置手册升鲜宝》
java·前端·数据库·chatgpt·供应链系统·生鲜配送
升鲜宝供应链及收银系统源代码服务1 个月前
升鲜宝生鲜配送供应链管理系统生产加工子模块的详细表设计说明
java·大数据·前端·数据库·bootstrap·供应链系统·生鲜配送
升鲜宝供应链及收银系统源代码服务5 个月前
升鲜宝生鲜配送供应链管理系统--- 《多语言商品查询优化方案(Redis + 翻译表 + 模糊匹配)》
java·数据库·redis·bootstrap·供应链系统·生鲜配送·生鲜配送源代码