【竞品与研究】悦厚 SCP 多系统 / 总分公司模式详细开发说明文档及数据库表结构数据字典(一)---升鲜宝生鲜配送供应链管理系统源代码服务

【竞品与研究】悦厚 SCP 多系统 / 总分公司模式详细开发说明文档及数据库表结构数据字典(一)---升鲜宝生鲜配送供应链管理系统源代码服务

|--------------------------------------------------------------------------------------------------------|
| **说明:**本文档根据《悦厚SCP系统帮助中心》多系统/总分公司相关资料整理,并结合生鲜仓配、门店分仓、跨租户开放平台的业务逻辑进行开发级反推。数据库结构为参考版数据字典,不代表悦厚官方内部真实DDL。 |

目录

  1. 资料来源与产品边界

  2. 业务总览与产品线定位

  3. 各端口关系与相互影响

  4. 核心业务流程

  5. 核心E-R图

  6. 模块开发说明

  7. 数据库表结构总览

  8. 数据库表结构数据字典

  9. 核心状态枚举与接口清单

  10. 开发落地风险与升鲜宝参考建议

1. 资料来源与产品边界

|----------------|---------------------------------------------------------------------------------|------------------------------------------|
| 资料主题 | 帮助中心体现的功能 | 开发解读 |
| 总/分公司模式 | 总公司创建分公司、设置分公司权限、查看分公司报表;总公司可维护商品单位、分类、商品和报价,并选择商品同步到分公司;分公司订单、商品、采购、库存、财务独立运营。 | 只支持仓配版;商品资料非实时同步;分公司有编辑权限时,总公司再次同步会强制覆盖。 |
| 多系统采购单推送订单 | A租户的采购单可推送成B供应商租户中的客户订单;两套系统均需开通开放平台;商品规格条码一致;A租户供应商手机号与B租户客户手机号一致;B租户对白名单授权。 | 用于供应商也购买悦厚系统的场景,实现采购方和供应商双方系统互通。 |
| 客户替仓库采购/总仓分仓互转 | 门店既是客户也是分仓;总仓订单出库后可自动生成分仓待入库采购单;分仓采购单也可推送成总仓客户订单,订单发货数量同步为采购实际数量和入库数量。 | 适合总部仓配到门店、门店补货入库、分仓向总仓采购的连锁仓配模式。 |
| 仓配和商超共存版 | 同一系统同时存在商超零售和仓配业务,但商超和仓配独立运营;商城注册区分店铺/个人。 | 该版本不支持再升级总分公司模式,属于版本边界约束。 |
| **边界约束:**总/分公司模式只支持仓配版;仓配和商超共存版用于商超与仓配独立运营,帮助中心明确其不支持再升级总分公司模式。因此开发时应把版本类型作为租户级不可随意变更的系统约束。 |||

2. 业务总览与产品线定位

悦厚多系统/总分公司不是一个单独业务模块,而是多个悦厚系统实例之间的组织管理、商品同步、单据推送、订单采购联动和报表汇总能力。它解决的是集团化、多仓多分公司、供应商也使用悦厚系统、门店既是客户也是分仓等复杂协同场景。

|------------|----------------|------------------------------------------|------------------------------|
| 产品线/端口 | 服务对象 | 核心功能 | 与其他端口关系 |
| 总公司管理端 | 集团/总部/运营公司 | 分公司创建、分公司权限、分公司报表、商品资料库、商品报价、同步商品到分公司 | 总部只做管控和报表汇总,分公司业务独立。 |
| 分公司仓配端 | 分公司、区域仓、独立仓配公司 | 客户、订单、采购、库存、分拣、配送、财务、报表 | 分公司是独立经营主体,日常业务不依赖总公司人工处理。 |
| 跨租户开放平台端 | A采购方租户、B供应商租户 | 开放平台应用、主动推送订单API、授权订单推送API、白名单、条码映射、推送日志 | 把A系统采购单变成B系统客户订单,支持双方独立系统协作。 |
| 总仓/分仓协同端 | 门店客户、分仓、总仓 | 总仓订单转分仓采购单、分仓采购单转总仓订单、订单采购关联、退货退款联动 | 门店下单、总部配送、门店入库形成闭环。 |
| 仓配+商超共存端 | 仓配B2B客户、商超个人会员 | 注册类型选择、仓配订单、商超收银/商城、客户与个人会员区分 | 同一套系统支撑两类经营,但不再升级总分公司。 |

图1 多系统/总分公司总体 E-R 与业务架构图

3. 各端口关系与相互影响

|-----------|--------------------------------------|--------------------------------------------------------|
| 端口 | 主要功能 | 相互影响情况 |
| 总公司PC后台 | 创建分公司、分公司授权、查看报表、维护总商品库、同步商品、商品报价 | 总公司同步商品会影响分公司商品基础资料;同步销售价会覆盖分公司价格;分公司报表汇总受权限和数据采集周期影响。 |
| 分公司PC后台 | 独立管理订单、商品、采购、库存、财务、客户、配送 | 分公司编辑商品后,总公司再次同步可能强制覆盖;分公司经营数据回流到总公司报表。 |
| A租户采购后台 | 创建供应商采购单、自动/手动推送成B租户订单、查看推送结果 | 采购单生成后触发Outbox;推送成功产生外部订单关系;推送失败需重试或人工处理。 |
| B租户订单后台 | 接收A租户采购单生成的客户订单,按B系统报价单定价并履约 | B系统订单价格按B租户中客户报价单,不一定等于A采购价;订单状态回调影响A采购单状态。 |
| 开放平台 | 白名单、授权订单推送API、主动推送订单API、租户ID、接口日志、幂等 | 商品条码、手机号、租户ID不匹配会导致推送失败。 |
| 门店/分仓客户商城 | 门店作为客户向总仓下单 | 订单出库后可自动生成分仓采购单,门店库存增加。 |
| 分仓采购端 | 向总仓供应商下采购单,推送成总仓客户订单 | 总仓发货数量同步为采购实际数量和入库数量;跳过普通采购入库流程。 |
| 仓管端 | 分仓入库、总仓出库、采购退货、订单退货联动 | 入库、退货和库存变动必须依赖订单采购关联关系保持一致。 |
| 商城注册入口 | 仓配+商超共存时注册选择店铺/个人 | 店铺走仓配客户体系,个人走商超会员/零售体系,二者业务隔离。 |

端口之间不是简单数据查看关系,而是会互相改变业务状态:总公司商品同步会影响分公司商品;分公司订单、采购、库存和财务会影响总公司报表;A租户采购单会生成B租户订单;总仓订单出库会生成分仓采购单;分仓采购单推送总仓订单后,总仓发货数量又会回写为分仓采购实际数量和入库数量。

4. 核心业务流程

|------------|--------------------------------------------------------------------------------------------|
| 流程 | 详细步骤 |
| 总公司创建分公司 | 总公司后台创建分公司 → 绑定分公司租户/仓配版系统 → 设置分公司权限 → 分公司独立登录运营 → 总公司查看经营报表。 |
| 总公司商品同步分公司 | 总公司维护单位、分类、商品、报价 → 选择商品点击同步 → 选择目标分公司 → 选择是否同步销售价 → 系统对已关联商品更新、未关联商品新建 → 写同步日志。 |
| A采购单推送B订单 | A租户和B租户开通开放平台 → 双方配置白名单和授权 → 条码一致、手机号一致 → A租户创建B供应商采购单 → Outbox主动推送 → B租户生成客户订单 → B按报价单履约。 |
| 总仓订单转分仓采购单 | 门店客户开启替仓库采购 → 设置生成采购单仓库和供应商 → 门店向总仓下单 → 总仓订单出库 → 分仓自动生成待入库采购单 → 分仓按采购单入库。 |
| 分仓采购单转总仓订单 | 客户设置勾选采购单推送订单 → 分仓对总仓供应商创建采购单 → 自动推送生成总仓客户订单 → 总仓出库发货 → 发货数量回写采购实际数/入库数 → 采购单变为已入库。 |
| 退货退款联动 | 采购单商品发生退货 → 根据订单采购关联关系自动生成订单退货/退款单;分仓采购退款也会在总仓订单侧生成待审核退款单。 |
| 仓配商超共存注册 | 客户进入商城 → 点击注册 → 输入手机号和验证码 → 选择店铺或个人 → 店铺进入仓配客户资料填写,个人直接注册为商超会员。 |

4.1 总公司商品同步分公司

  1. 总公司维护单位、分类、商品、报价。
  2. 总公司选择一个或多个商品,点击同步并选择目标分公司。
  3. 系统判断目标分公司是否已有映射:已有映射则更新,未映射则新建。
  4. 若勾选同步销售价,则覆盖或新增分公司销售价。
  5. 若分公司有商品编辑权限,总公司再次同步时仍可能强制覆盖分公司商品信息。
  6. 所有同步结果写入同步任务、同步明细和同步日志。

4.2 A租户采购单推送成B租户订单

  1. A租户与B租户均开通开放平台。
  2. 两套系统商品规格条码一致,且同条码的上架规格不能重复或为空。
  3. A租户供应商手机号与B租户客户手机号一致,或通过映射表明确绑定。
  4. A租户为供应商配置主动推送订单API,填写B租户ID。
  5. B租户为A租户配置授权订单推送API,设置客户和支付方式。
  6. A租户创建该供应商采购单后自动推送;失败时可手动重推。
  7. B租户接收后按自身客户报价单生成订单。
  8. B租户订单出库、取消、退款后回调A租户采购单状态。

4.3 总仓订单转分仓采购单

  1. 门店客户在客户详情中开启替仓库采购功能。
  2. 配置生成采购单的仓库和采购单供应商。
  3. 门店作为客户在商城向总仓下单。
  4. 总仓订单出库后,系统在指定分仓生成待入库采购单。
  5. 订单发货单价、发货数量、发货金额分别对应采购单价、采购数量、采购金额。
  6. 分仓按采购单入库,库存增加。
  7. 若采购单商品发生退货,则订单侧自动生成退货单。

4.4 分仓采购单推送成总仓客户订单

  1. 客户设置中勾选采购单推送成订单。
  2. 分仓在所选仓库下创建供应商为总仓的采购单。
  3. 系统自动推送生成总仓下的客户订单,此时采购单为待采购状态。
  4. 总仓订单出库发货后,发货数量同步给采购单。
  5. 采购单实际采购数量和入库数量按订单发货数量回写。
  6. 采购单可直接变为已入库状态,忽略普通采购入库流程。
  7. 若采购单商品发生退款,则订单侧自动生成待审核退款单。

5. 核心 E-R 图

图2 总公司、分公司、权限与报表 E-R 图

图3 总公司商品同步分公司 E-R 图

图4 A租户采购单推送成B租户订单 E-R 图

图5 总仓订单转分仓采购单 E-R 图

图6 分仓采购单推送总仓订单 E-R 图

图7 仓配与商超共存版注册与业务隔离 E-R 图

图8 多系统推送与状态联动流程图

6. 模块开发说明

|-----------|-----------------------------------|---------------------------------------------|-------------------------------|
| 模块 | 功能定位 | 核心对象 | 开发控制点 |
| 总分公司组织模块 | 管理集团、总公司、分公司、分公司租户、权限、用户和报表授权。 | 集团/总公司、分公司、租户、权限、用户、报表授权。 | 分公司必须独立运营,不能让总公司直接改分公司日常订单。 |
| 商品同步模块 | 总公司商品单位、分类、商品、SKU、SKU单位、价格同步到分公司。 | 同步任务、同步明细、映射表、同步日志、覆盖策略。 | 必须支持非实时手动同步、强制覆盖、字段级策略、失败可重试。 |
| 跨租户开放平台模块 | A采购方与B供应商系统互推订单。 | 开放平台应用、白名单、租户伙伴关系、商品条码映射、手机号映射、Outbox、回调日志。 | 必须做幂等、验签、白名单、租户ID去空格校验、异常重试。 |
| 总仓/分仓协同模块 | 门店客户下单后生成分仓采购;分仓采购单推送成总仓订单。 | 客户替仓库采购配置、订单采购关联、采购自动入库、退货联动。 | 必须保证订单发货数、采购入库数、库存流水、退款联动一致。 |
| 仓配商超共存模块 | 同一系统内仓配和商超独立运营。 | 共存配置、注册类型、B2B客户、个人会员、POS订单。 | 该版本不应再允许升级总分公司,注册入口必须明确店铺/个人。 |
| 报表汇总模块 | 总公司查看分公司经营数据。 | 分公司报表快照、集团报表汇总、采集任务。 | 报表应以快照方式采集,避免跨库实时JOIN。 |
| 审计与消息模块 | 记录同步、推送、退货、配置变更,推送失败告警。 | 审计日志、消息任务、失败告警、幂等记录。 | 跨系统联动必须可追溯。 |

7. 数据库表结构总览

|--------|--------|---------------------------------------|----------------|------------------------------------|
| 序号 | 模块 | 表名 | 中文名 | 说明 |
| 1 | 总分公司基础 | yh_group_company | 集团/总公司表 | 记录总公司或集团主体,是分公司管理和报表汇总的上级主体。 |
| 2 | 总分公司基础 | yh_company_tenant | 租户/系统实例表 | 抽象一套悦厚系统实例,可为总公司、分公司、供应商租户或商超共存系统。 |
| 3 | 总分公司基础 | yh_branch_company | 分公司表 | 总公司创建的分公司实体,绑定具体租户系统。 |
| 4 | 总分公司权限 | yh_branch_permission | 分公司权限表 | 总公司给分公司配置菜单、按钮、数据范围、报表范围。 |
| 5 | 总分公司权限 | yh_branch_user | 分公司用户关系表 | 记录分公司下用户及其角色。 |
| 6 | 总分公司报表 | yh_group_report_auth | 集团报表授权表 | 控制总公司可查看哪些分公司、哪些报表。 |
| 7 | 总分公司基础 | yh_branch_config | 分公司配置表 | 保存分公司业务配置、同步策略、报表回传策略。 |
| 8 | 商品同步 | yh_master_category | 总公司商品分类表 | 总公司商品分类基础资料。 |
| 9 | 商品同步 | yh_master_unit | 总公司商品单位表 | 总公司商品单位基础资料。 |
| 10 | 商品同步 | yh_master_goods | 总公司商品SPU表 | 总公司商品主资料。 |
| 11 | 商品同步 | yh_master_goods_sku | 总公司商品SKU表 | 总公司商品规格资料。 |
| 12 | 商品同步 | yh_master_sku_unit | 总公司SKU单位表 | 总公司商品销售/采购单位、条码、销售价。 |
| 13 | 商品同步 | yh_master_price | 总公司商品报价表 | 总公司商品基础报价,可同步到分公司。 |
| 14 | 商品同步 | yh_goods_sync_task | 商品同步任务主表 | 总公司向分公司同步商品资料的任务。 |
| 15 | 商品同步 | yh_goods_sync_item | 商品同步任务明细表 | 每个同步商品或规格的执行结果。 |
| 16 | 商品同步 | yh_goods_mapping | 总分商品映射表 | 保存总公司商品规格与分公司商品规格的映射。 |
| 17 | 商品同步 | yh_goods_sync_log | 商品同步日志表 | 记录商品同步前后字段、覆盖情况和错误。 |
| 18 | 商品同步 | yh_branch_goods_override | 分公司商品覆盖策略表 | 控制分公司是否允许编辑商品及总公司同步覆盖策略。 |
| 19 | 开放平台 | yh_openapi_app | 开放平台应用表 | 多系统互通的应用和密钥。 |
| 20 | 开放平台 | yh_tenant_partner | 跨租户伙伴关系表 | 记录A租户与B租户之间的供应商/客户伙伴关系。 |
| 21 | 开放平台 | yh_tenant_api_whitelist | 跨租户API白名单表 | B租户允许A租户推送订单的白名单授权。 |
| 22 | 开放平台 | yh_supplier_customer_mapping | 供应商客户映射表 | A租户供应商与B租户客户的映射,手机号一致是基础校验。 |
| 23 | 开放平台 | yh_cross_tenant_goods_mapping | 跨租户商品映射表 | 按条码/规格编码映射A租户采购商品与B租户销售商品。 |
| 24 | 开放平台 | yh_purchase_push_order_rule | 采购单推送订单规则表 | A租户针对某供应商配置主动推送订单API和目标租户。 |
| 25 | 开放平台 | yh_order_push_auth_rule | 订单推送授权规则表 | B租户授权A租户推送订单,并绑定接收客户和支付方式。 |
| 26 | 开放平台 | yh_cross_tenant_order_outbox | 跨租户订单推送Outbox表 | 采购单推送成订单的消息外盒,保证可靠投递。 |
| 27 | 开放平台 | yh_cross_tenant_order_log | 跨租户订单推送日志表 | 记录每次推送请求、响应、异常。 |
| 28 | 开放平台 | yh_cross_tenant_callback_log | 跨租户订单回调日志表 | B租户订单状态回调A租户采购单。 |
| 29 | 开放平台 | yh_openapi_idempotent | 开放平台幂等记录表 | 接收推送、状态回调、商品映射时的幂等控制。 |
| 30 | 总仓分仓协同 | yh_customer_warehouse_purchase_config | 客户替仓库采购配置表 | 客户详情中开启替仓库采购、设置生成采购单仓库和供应商。 |
| 31 | 总仓分仓协同 | yh_order_purchase_relation | 订单采购关联表 | 总仓客户订单与分仓采购单的关联关系。 |
| 32 | 总仓分仓协同 | yh_order_purchase_item_relation | 订单采购明细关联表 | 订单明细和采购明细的数量、价格、退货联动关系。 |
| 33 | 总仓分仓协同 | yh_purchase_push_order_outbox | 采购推订单Outbox表 | 分仓采购单推送成总仓客户订单的消息记录。 |
| 34 | 总仓分仓协同 | yh_purchase_auto_receipt_log | 采购自动入库日志表 | 分仓采购推总仓订单后,总仓发货数量自动回写采购实际数和入库数。 |
| 35 | 总仓分仓协同 | yh_purchase_return_order_relation | 采购退货订单退货关联表 | 采购退货单与订单退货/退款单的联动关系。 |
| 36 | 业务单据 | yh_order | 订单主表 | 仓配订单、跨租户接收订单、总仓客户订单统一主表。 |
| 37 | 业务单据 | yh_order_item | 订单明细表 | 订单商品明细,支持与采购明细映射。 |
| 38 | 业务单据 | yh_order_ship | 订单发货表 | 订单出库发货记录。 |
| 39 | 业务单据 | yh_order_return | 订单退货/退款表 | 由客户退货或采购退货联动生成。 |
| 40 | 业务单据 | yh_purchase_order | 采购单主表 | 采购单,可来源于手工采购、订单转采购、跨租户推送。 |
| 41 | 业务单据 | yh_purchase_item | 采购单明细表 | 采购商品明细。 |
| 42 | 业务单据 | yh_purchase_receipt | 采购入库单表 | 采购入库记录,支持自动入库。 |
| 43 | 业务单据 | yh_purchase_return | 采购退货单表 | 采购退货单,可联动订单退货/退款。 |
| 44 | 库存财务 | yh_inventory | 库存汇总表 | 分仓/仓库库存汇总。 |
| 45 | 库存财务 | yh_inventory_flow | 库存流水表 | 订单出库、采购入库、退货等库存流水。 |
| 46 | 基础资料 | yh_customer | 客户表 | B2B客户、门店客户、跨租户目标客户。 |
| 47 | 基础资料 | yh_supplier | 供应商表 | 供应商、总仓供应商、跨租户供应商。 |
| 48 | 基础资料 | yh_warehouse | 仓库表 | 总仓、分仓、门店仓。 |
| 49 | 报表中心 | yh_branch_report_snapshot | 分公司报表快照表 | 定时采集分公司经营数据供总公司查看。 |
| 50 | 报表中心 | yh_group_report_summary | 集团报表汇总表 | 按集团维度汇总分公司经营数据。 |
| 51 | 报表中心 | yh_report_collect_task | 报表采集任务表 | 从分公司采集报表的任务。 |
| 52 | 共存版 | yh_coexist_version_config | 仓配商超共存配置表 | 记录仓配和商超共存版能力开关和限制。 |
| 53 | 共存版 | yh_customer_register_type | 客户注册类型表 | 仓配商超共存版商城注册时选择店铺/个人。 |
| 54 | 共存版 | yh_retail_member | 商超个人会员表 | 商超个人会员基础信息。 |
| 55 | 共存版 | yh_pos_order | 商超收银订单表 | 共存版中的商超收银订单。 |
| 56 | 审计日志 | yh_multisys_audit_log | 多系统操作审计日志表 | 总分公司、同步、推送、退货联动的操作审计。 |
| 57 | 消息通知 | yh_multisys_message_task | 多系统消息任务表 | 同步失败、推送失败、待审核退款等消息。 |

8. 数据库表结构数据字典

8.1 yh_group_company(集团/总公司表)

所属模块:总分公司基础。表说明:记录总公司或集团主体,是分公司管理和报表汇总的上级主体。

|-------------------|--------------|-------|--------|--------------|
| 字段名 | 类型 | | 必填 | 说明 |
| group_code | varchar(64) | | 是 | 集团编码 |
| group_name | varchar(128) | | 是 | 集团名称 |
| manager_tenant_id | bigint | | 是 | 总公司租户ID |
| contact_name | varchar(64) | | 否 | 联系人 |
| contact_phone | varchar(32) | | 否 | 联系电话 |
| status | tinyint | | 是 | 状态 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:uk_group_code(group_code);idx_manager_tenant(manager_tenant_id)

8.2 yh_company_tenant(租户/系统实例表)

所属模块:总分公司基础。表说明:抽象一套悦厚系统实例,可为总公司、分公司、供应商租户或商超共存系统。

|--------------|--------------|-------|--------|------------------------|
| 字段名 | 类型 | | 必填 | 说明 |
| tenant_code | varchar(64) | | 是 | 租户编码/商城ID |
| tenant_name | varchar(128) | | 是 | 租户名称 |
| tenant_type | tinyint | | 是 | 类型:1总公司 2分公司 3供应商 4共存版 |
| version_type | tinyint | | 是 | 版本:1仓配 2商超 3仓配商超共存 4央厨 |
| login_domain | varchar(255) | | 否 | 登录域名 |
| status | tinyint | | 是 | 状态 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:uk_tenant_code(tenant_code);idx_tenant_type(tenant_type,version_type)

8.3 yh_branch_company(分公司表)

所属模块:总分公司基础。表说明:总公司创建的分公司实体,绑定具体租户系统。

|------------------|--------------|-------|--------|--------------|
| 字段名 | 类型 | | 必填 | 说明 |
| group_id | bigint | FK | 是 | 集团/总公司ID |
| branch_tenant_id | bigint | FK | 是 | 分公司租户ID |
| branch_code | varchar(64) | | 是 | 分公司编码 |
| branch_name | varchar(128) | | 是 | 分公司名称 |
| branch_area | varchar(128) | | 否 | 经营区域 |
| independent_flag | tinyint | | 是 | 是否独立运营 |
| status | tinyint | | 是 | 状态 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:uk_group_branch(group_id,branch_code);idx_branch_tenant(branch_tenant_id)

8.4 yh_branch_permission(分公司权限表)

所属模块:总分公司权限。表说明:总公司给分公司配置菜单、按钮、数据范围、报表范围。

|-----------------|--------------|-------|--------|----------------------|
| 字段名 | 类型 | | 必填 | 说明 |
| branch_id | bigint | FK | 是 | 分公司ID |
| permission_type | tinyint | | 是 | 权限类型:1菜单 2按钮 3数据 4报表 |
| permission_code | varchar(128) | | 是 | 权限编码 |
| scope_json | json | | 否 | 权限范围JSON |
| enabled_flag | tinyint | | 是 | 是否启用 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:idx_branch_perm(branch_id,permission_type);uk_branch_perm(branch_id,permission_code)

8.5 yh_branch_user(分公司用户关系表)

所属模块:总分公司权限。表说明:记录分公司下用户及其角色。

|--------------|-------------|-------|--------|--------------|
| 字段名 | 类型 | | 必填 | 说明 |
| branch_id | bigint | FK | 是 | 分公司ID |
| user_id | bigint | | 是 | 用户ID |
| role_code | varchar(64) | | 是 | 角色编码 |
| data_scope | varchar(64) | | 否 | 数据权限范围 |
| enabled_flag | tinyint | | 是 | 是否启用 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:idx_branch_user(branch_id,user_id);idx_user(user_id)

8.6 yh_group_report_auth(集团报表授权表)

所属模块:总分公司报表。表说明:控制总公司可查看哪些分公司、哪些报表。

|------------------|--------------|-------|--------|--------------|
| 字段名 | 类型 | | 必填 | 说明 |
| group_id | bigint | FK | 是 | 集团ID |
| branch_id | bigint | FK | 是 | 分公司ID |
| report_code | varchar(128) | | 是 | 报表编码 |
| view_detail_flag | tinyint | | 是 | 是否可看明细 |
| export_flag | tinyint | | 是 | 是否可导出 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:uk_group_branch_report(group_id,branch_id,report_code)

8.7 yh_branch_config(分公司配置表)

所属模块:总分公司基础。表说明:保存分公司业务配置、同步策略、报表回传策略。

|--------------|---------------|-------|--------|--------------|
| 字段名 | 类型 | | 必填 | 说明 |
| branch_id | bigint | FK | 是 | 分公司ID |
| config_key | varchar(128) | | 是 | 配置键 |
| config_value | varchar(1000) | | 否 | 配置值 |
| config_group | varchar(64) | | 是 | 配置分组 |
| enabled_flag | tinyint | | 是 | 是否启用 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:idx_branch_config(branch_id,config_group);uk_branch_key(branch_id,config_key)

8.8 yh_master_category(总公司商品分类表)

所属模块:商品同步。表说明:总公司商品分类基础资料。

|---------------|--------------|-------|--------|--------------|
| 字段名 | 类型 | | 必填 | 说明 |
| category_code | varchar(64) | | 是 | 分类编码 |
| category_name | varchar(128) | | 是 | 分类名称 |
| parent_id | bigint | | 否 | 父分类ID |
| sort_no | int | | 是 | 排序 |
| enabled_flag | tinyint | | 是 | 是否启用 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:uk_master_category_code(tenant_id,category_code);idx_parent(parent_id)

8.9 yh_master_unit(总公司商品单位表)

所属模块:商品同步。表说明:总公司商品单位基础资料。

|----------------|-------------|-------|--------|--------------|
| 字段名 | 类型 | | 必填 | 说明 |
| unit_code | varchar(64) | | 是 | 单位编码 |
| unit_name | varchar(64) | | 是 | 单位名称 |
| decimal_places | int | | 否 | 数量小数位 |
| enabled_flag | tinyint | | 是 | 是否启用 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:uk_master_unit_code(tenant_id,unit_code)

8.10 yh_master_goods(总公司商品SPU表)

所属模块:商品同步。表说明:总公司商品主资料。

|--------------|--------------|-------|--------|--------------|
| 字段名 | 类型 | | 必填 | 说明 |
| goods_code | varchar(64) | | 是 | 商品编码 |
| goods_name | varchar(128) | | 是 | 商品名称 |
| category_id | bigint | FK | 是 | 分类ID |
| brand_name | varchar(128) | | 否 | 品牌 |
| origin_place | varchar(128) | | 否 | 产地 |
| enabled_flag | tinyint | | 是 | 是否启用 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:uk_master_goods_code(tenant_id,goods_code);idx_category(category_id)

8.11 yh_master_goods_sku(总公司商品SKU表)

所属模块:商品同步。表说明:总公司商品规格资料。

|--------------|--------------|-------|--------|--------------|
| 字段名 | 类型 | | 必填 | 说明 |
| goods_id | bigint | FK | 是 | 商品ID |
| sku_code | varchar(64) | | 是 | SKU编码 |
| spec_name | varchar(128) | | 否 | 规格名称 |
| model | varchar(128) | | 否 | 型号 |
| enabled_flag | tinyint | | 是 | 是否启用 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:uk_master_sku_code(tenant_id,sku_code);idx_goods(goods_id)

8.12 yh_master_sku_unit(总公司SKU单位表)

所属模块:商品同步。表说明:总公司商品销售/采购单位、条码、销售价。

|----------------|---------------|-------|--------|--------------|
| 字段名 | 类型 | | 必填 | 说明 |
| sku_id | bigint | FK | 是 | SKU ID |
| unit_id | bigint | FK | 是 | 单位ID |
| barcode | varchar(64) | | 否 | 条码/规格编码 |
| sale_price | decimal(18,4) | | 否 | 销售价 |
| purchase_price | decimal(18,4) | | 否 | 采购参考价 |
| sale_flag | tinyint | | 是 | 是否销售 |
| purchase_flag | tinyint | | 是 | 是否采购 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:uk_master_barcode(tenant_id,barcode);idx_sku_unit(sku_id,unit_id)

8.13 yh_master_price(总公司商品报价表)

所属模块:商品同步。表说明:总公司商品基础报价,可同步到分公司。

|--------------------|---------------|-------|--------|---------------------|
| 字段名 | 类型 | | 必填 | 说明 |
| master_sku_unit_id | bigint | FK | 是 | 总商品规格单位ID |
| price_type | tinyint | | 是 | 价格类型:1销售价 2客户价 3群体价 |
| target_id | bigint | | 否 | 目标客户/群体ID |
| price | decimal(18,4) | | 是 | 价格 |
| effective_start | datetime | | 否 | 生效开始 |
| effective_end | datetime | | 否 | 生效结束 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:idx_master_price(master_sku_unit_id,price_type,target_id)

8.14 yh_goods_sync_task(商品同步任务主表)

所属模块:商品同步。表说明:总公司向分公司同步商品资料的任务。

|------------------|-------------|-------|--------|----------------------|
| 字段名 | 类型 | | 必填 | 说明 |
| task_no | varchar(64) | | 是 | 同步任务号 |
| source_tenant_id | bigint | | 是 | 来源总公司租户ID |
| target_branch_id | bigint | FK | 是 | 目标分公司ID |
| sync_price_flag | tinyint | | 是 | 是否同步销售价 |
| sync_mode | tinyint | | 是 | 同步模式:1手动选择 2批量导入 3全量 |
| task_status | tinyint | | 是 | 任务状态 |
| start_time | datetime | | 否 | 开始时间 |
| finish_time | datetime | | 否 | 完成时间 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:uk_sync_task_no(task_no);idx_target_branch(target_branch_id,task_status)

8.15 yh_goods_sync_item(商品同步任务明细表)

所属模块:商品同步。表说明:每个同步商品或规格的执行结果。

|--------------------|--------------|-------|--------|--------------------|
| 字段名 | 类型 | | 必填 | 说明 |
| task_id | bigint | FK | 是 | 同步任务ID |
| master_sku_unit_id | bigint | FK | 是 | 总商品规格单位ID |
| target_branch_id | bigint | FK | 是 | 目标分公司ID |
| sync_action | tinyint | | 是 | 动作:1新增 2更新 3跳过 4失败 |
| sync_status | tinyint | | 是 | 状态 |
| error_msg | varchar(512) | | 否 | 失败原因 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:idx_task_item(task_id);idx_master_target(master_sku_unit_id,target_branch_id)

8.16 yh_goods_mapping(总分商品映射表)

所属模块:商品同步。表说明:保存总公司商品规格与分公司商品规格的映射。

|--------------------|----------|-------|--------|--------------|
| 字段名 | 类型 | | 必填 | 说明 |
| group_id | bigint | FK | 是 | 集团ID |
| target_branch_id | bigint | FK | 是 | 目标分公司ID |
| master_goods_id | bigint | | 是 | 总商品ID |
| master_sku_unit_id | bigint | | 是 | 总商品规格单位ID |
| branch_goods_id | bigint | | 是 | 分公司商品ID |
| branch_sku_unit_id | bigint | | 是 | 分公司规格单位ID |
| mapping_status | tinyint | | 是 | 映射状态 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:uk_goods_mapping(target_branch_id,master_sku_unit_id);idx_branch_sku(target_branch_id,branch_sku_unit_id)

8.17 yh_goods_sync_log(商品同步日志表)

所属模块:商品同步。表说明:记录商品同步前后字段、覆盖情况和错误。

|--------------|--------------|-------|--------|--------------|
| 字段名 | 类型 | | 必填 | 说明 |
| task_id | bigint | FK | 是 | 任务ID |
| item_id | bigint | FK | 否 | 任务明细ID |
| biz_type | varchar(64) | | 是 | 业务类型 |
| biz_id | bigint | | 是 | 业务ID |
| before_json | json | | 否 | 同步前 |
| after_json | json | | 否 | 同步后 |
| result_msg | varchar(512) | | 否 | 结果说明 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:idx_task_log(task_id);idx_biz(biz_type,biz_id)

8.18 yh_branch_goods_override(分公司商品覆盖策略表)

所属模块:商品同步。表说明:控制分公司是否允许编辑商品及总公司同步覆盖策略。

|--------------------|----------|-------|--------|--------------|
| 字段名 | 类型 | | 必填 | 说明 |
| branch_id | bigint | FK | 是 | 分公司ID |
| master_sku_unit_id | bigint | FK | 是 | 总商品规格单位ID |
| allow_edit_flag | tinyint | | 是 | 是否允许分公司编辑 |
| force_sync_flag | tinyint | | 是 | 总公司同步是否强制覆盖 |
| field_policy_json | json | | 否 | 字段级策略 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:uk_branch_master_override(branch_id,master_sku_unit_id)

8.19 yh_openapi_app(开放平台应用表)

所属模块:开放平台。表说明:多系统互通的应用和密钥。

|-----------------|--------------|-------|--------|------------------|
| 字段名 | 类型 | | 必填 | 说明 |
| app_key | varchar(128) | | 是 | AppKey |
| app_secret_hash | varchar(256) | | 是 | 密钥哈希 |
| app_name | varchar(128) | | 是 | 应用名称 |
| owner_tenant_id | bigint | | 是 | 所属租户ID |
| app_type | tinyint | | 是 | 应用类型:1主动推送 2授权接收 |
| enabled_flag | tinyint | | 是 | 是否启用 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:uk_app_key(app_key);idx_owner_tenant(owner_tenant_id)

8.20 yh_tenant_partner(跨租户伙伴关系表)

所属模块:开放平台。表说明:记录A租户与B租户之间的供应商/客户伙伴关系。

|--------------------|----------|-------|--------|-----------------------------|
| 字段名 | 类型 | | 必填 | 说明 |
| source_tenant_id | bigint | | 是 | 来源租户ID |
| target_tenant_id | bigint | | 是 | 目标租户ID |
| partner_type | tinyint | | 是 | 关系类型:1采购方-供应商 2总仓-分仓 3门店-总部 |
| source_supplier_id | bigint | | 否 | 来源供应商ID |
| target_customer_id | bigint | | 否 | 目标客户ID |
| partner_status | tinyint | | 是 | 关系状态 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:uk_partner(source_tenant_id,target_tenant_id,partner_type);idx_source_supplier(source_supplier_id)

8.21 yh_tenant_api_whitelist(跨租户API白名单表)

所属模块:开放平台。表说明:B租户允许A租户推送订单的白名单授权。

|----------------------|----------|-------|--------|------------------------|
| 字段名 | 类型 | | 必填 | 说明 |
| authorized_tenant_id | bigint | | 是 | 授权方租户ID |
| allowed_tenant_id | bigint | | 是 | 被允许推送方租户ID |
| auth_type | tinyint | | 是 | 授权类型:1订单推送 2状态回调 3商品同步 |
| pay_type | tinyint | | 否 | 接收订单默认支付方式 |
| expire_time | datetime | | 否 | 过期时间 |
| auth_status | tinyint | | 是 | 授权状态 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:uk_api_whitelist(authorized_tenant_id,allowed_tenant_id,auth_type)

8.22 yh_supplier_customer_mapping(供应商客户映射表)

所属模块:开放平台。表说明:A租户供应商与B租户客户的映射,手机号一致是基础校验。

|--------------------|-------------|-------|--------|--------------|
| 字段名 | 类型 | | 必填 | 说明 |
| source_tenant_id | bigint | | 是 | A租户ID |
| target_tenant_id | bigint | | 是 | B租户ID |
| source_supplier_id | bigint | | 是 | A租户供应商ID |
| target_customer_id | bigint | | 是 | B租户客户ID |
| mobile | varchar(32) | | 是 | 匹配手机号 |
| mapping_status | tinyint | | 是 | 映射状态 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:uk_supplier_customer(source_tenant_id,source_supplier_id,target_tenant_id);idx_mobile(mobile)

8.23 yh_cross_tenant_goods_mapping(跨租户商品映射表)

所属模块:开放平台。表说明:按条码/规格编码映射A租户采购商品与B租户销售商品。

|--------------------|-------------|-------|--------|--------------|
| 字段名 | 类型 | | 必填 | 说明 |
| source_tenant_id | bigint | | 是 | A租户ID |
| target_tenant_id | bigint | | 是 | B租户ID |
| source_sku_unit_id | bigint | | 是 | A商品规格单位ID |
| target_sku_unit_id | bigint | | 是 | B商品规格单位ID |
| source_barcode | varchar(64) | | 是 | A条码/规格编码 |
| target_barcode | varchar(64) | | 是 | B条码/规格编码 |
| mapping_status | tinyint | | 是 | 映射状态 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:uk_cross_goods(source_tenant_id,target_tenant_id,source_sku_unit_id);idx_barcode(source_barcode,target_barcode)

8.24 yh_purchase_push_order_rule(采购单推送订单规则表)

所属模块:开放平台。表说明:A租户针对某供应商配置主动推送订单API和目标租户。

|--------------------|-------------|-------|--------|--------------|
| 字段名 | 类型 | | 必填 | 说明 |
| source_tenant_id | bigint | | 是 | A租户ID |
| supplier_id | bigint | | 是 | A租户供应商ID |
| target_tenant_id | bigint | | 是 | B供应商租户ID |
| push_api_app_id | bigint | FK | 是 | 主动推送API应用ID |
| target_tenant_code | varchar(64) | | 是 | 目标租户ID/商城ID |
| auto_push_flag | tinyint | | 是 | 是否自动推送 |
| enabled_flag | tinyint | | 是 | 是否启用 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:uk_push_rule(source_tenant_id,supplier_id);idx_target_tenant(target_tenant_id)

8.25 yh_order_push_auth_rule(订单推送授权规则表)

所属模块:开放平台。表说明:B租户授权A租户推送订单,并绑定接收客户和支付方式。

|--------------------|----------|-------|--------|--------------|
| 字段名 | 类型 | | 必填 | 说明 |
| target_tenant_id | bigint | | 是 | B租户ID |
| allowed_tenant_id | bigint | | 是 | A租户ID |
| customer_id | bigint | | 是 | B租户客户ID |
| receive_api_app_id | bigint | FK | 是 | 授权接收API应用ID |
| default_pay_type | tinyint | | 是 | 默认支付方式 |
| enabled_flag | tinyint | | 是 | 是否启用 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:uk_auth_rule(target_tenant_id,allowed_tenant_id,customer_id)

8.26 yh_cross_tenant_order_outbox(跨租户订单推送Outbox表)

所属模块:开放平台。表说明:采购单推送成订单的消息外盒,保证可靠投递。

|------------------|--------------|-------|--------|--------------|
| 字段名 | 类型 | | 必填 | 说明 |
| outbox_no | varchar(64) | | 是 | Outbox编号 |
| source_tenant_id | bigint | | 是 | 来源租户 |
| target_tenant_id | bigint | | 是 | 目标租户 |
| source_biz_type | varchar(64) | | 是 | 来源业务类型 |
| source_biz_id | bigint | | 是 | 来源业务ID |
| payload_json | json | | 是 | 推送内容 |
| idempotent_key | varchar(128) | | 是 | 幂等键 |
| push_status | tinyint | | 是 | 推送状态 |
| retry_count | int | | 是 | 重试次数 |
| last_error | varchar(512) | | 否 | 最后错误 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:uk_outbox_no(outbox_no);uk_idempotent(idempotent_key);idx_push_status(push_status,retry_count)

8.27 yh_cross_tenant_order_log(跨租户订单推送日志表)

所属模块:开放平台。表说明:记录每次推送请求、响应、异常。

|---------------|--------------|-------|--------|--------------|
| 字段名 | 类型 | | 必填 | 说明 |
| outbox_id | bigint | FK | 是 | Outbox ID |
| request_url | varchar(512) | | 否 | 请求地址 |
| request_json | json | | 否 | 请求内容 |
| response_json | json | | 否 | 响应内容 |
| http_status | int | | 否 | HTTP状态 |
| success_flag | tinyint | | 是 | 是否成功 |
| error_msg | varchar(512) | | 否 | 错误信息 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:idx_outbox_log(outbox_id)

8.28 yh_cross_tenant_callback_log(跨租户订单回调日志表)

所属模块:开放平台。表说明:B租户订单状态回调A租户采购单。

|--------------------|----------|-------|--------|----------------------|
| 字段名 | 类型 | | 必填 | 说明 |
| source_tenant_id | bigint | | 是 | 回调来源租户 |
| target_tenant_id | bigint | | 是 | 回调目标租户 |
| target_order_id | bigint | | 是 | B租户订单ID |
| source_purchase_id | bigint | | 是 | A租户采购单ID |
| callback_type | tinyint | | 是 | 回调类型:1接收 2出库 3取消 4退款 |
| callback_json | json | | 是 | 回调内容 |
| callback_status | tinyint | | 是 | 回调状态 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:idx_callback_order(target_order_id);idx_purchase(source_purchase_id)

8.29 yh_openapi_idempotent(开放平台幂等记录表)

所属模块:开放平台。表说明:接收推送、状态回调、商品映射时的幂等控制。

|----------------|--------------|-------|--------|--------------|
| 字段名 | 类型 | | 必填 | 说明 |
| idempotent_key | varchar(128) | | 是 | 幂等键 |
| biz_type | varchar(64) | | 是 | 业务类型 |
| biz_id | bigint | | 否 | 业务ID |
| request_hash | varchar(128) | | 否 | 请求hash |
| process_status | tinyint | | 是 | 处理状态 |
| result_json | json | | 否 | 处理结果 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:uk_idempotent_key(idempotent_key);idx_biz(biz_type,biz_id)

8.30 yh_customer_warehouse_purchase_config(客户替仓库采购配置表)

所属模块:总仓分仓协同。表说明:客户详情中开启替仓库采购、设置生成采购单仓库和供应商。

|--------------------------|----------|-------|--------|--------------|
| 字段名 | 类型 | | 必填 | 说明 |
| customer_id | bigint | | 是 | 客户ID/门店客户 |
| generate_warehouse_id | bigint | | 是 | 生成采购单的仓库/分仓 |
| purchase_supplier_id | bigint | | 是 | 采购单供应商 |
| purchase_push_order_flag | tinyint | | 是 | 是否采购单推送成订单 |
| target_customer_id | bigint | | 否 | 推送订单时目标客户ID |
| target_tenant_id | bigint | | 否 | 目标总仓租户ID |
| enabled_flag | tinyint | | 是 | 是否启用 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:uk_customer_wh_config(customer_id);idx_generate_wh(generate_warehouse_id)

8.31 yh_order_purchase_relation(订单采购关联表)

所属模块:总仓分仓协同。表说明:总仓客户订单与分仓采购单的关联关系。

|-------------------|-------------|-------|--------|------------------|
| 字段名 | 类型 | | 必填 | 说明 |
| order_id | bigint | | 是 | 订单ID |
| order_no | varchar(64) | | 是 | 订单号 |
| purchase_order_id | bigint | | 是 | 采购单ID |
| purchase_no | varchar(64) | | 是 | 采购单号 |
| relation_type | tinyint | | 是 | 类型:1订单转采购 2采购推订单 |
| relation_status | tinyint | | 是 | 关联状态 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:uk_order_purchase(order_id,purchase_order_id);idx_purchase(purchase_order_id)

8.32 yh_order_purchase_item_relation(订单采购明细关联表)

所属模块:总仓分仓协同。表说明:订单明细和采购明细的数量、价格、退货联动关系。

|------------------|---------------|-------|--------|--------------|
| 字段名 | 类型 | | 必填 | 说明 |
| relation_id | bigint | FK | 是 | 主关联ID |
| order_item_id | bigint | | 是 | 订单明细ID |
| purchase_item_id | bigint | | 是 | 采购明细ID |
| goods_unit_id | bigint | | 是 | 商品规格单位ID |
| order_ship_qty | decimal(18,4) | | 否 | 订单发货数量 |
| purchase_in_qty | decimal(18,4) | | 否 | 采购入库数量 |
| sync_status | tinyint | | 是 | 同步状态 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:uk_item_relation(order_item_id,purchase_item_id);idx_relation(relation_id)

8.33 yh_purchase_push_order_outbox(采购推订单Outbox表)

所属模块:总仓分仓协同。表说明:分仓采购单推送成总仓客户订单的消息记录。

|--------------------|--------------|-------|--------|--------------|
| 字段名 | 类型 | | 必填 | 说明 |
| purchase_order_id | bigint | | 是 | 采购单ID |
| target_tenant_id | bigint | | 是 | 目标总仓租户ID |
| target_customer_id | bigint | | 是 | 目标客户ID |
| payload_json | json | | 是 | 订单内容 |
| idempotent_key | varchar(128) | | 是 | 幂等键 |
| push_status | tinyint | | 是 | 推送状态 |
| retry_count | int | | 是 | 重试次数 |
| last_error | varchar(512) | | 否 | 最后错误 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:uk_purchase_push(purchase_order_id);uk_idempotent(idempotent_key)

8.34 yh_purchase_auto_receipt_log(采购自动入库日志表)

所属模块:总仓分仓协同。表说明:分仓采购推总仓订单后,总仓发货数量自动回写采购实际数和入库数。

|-------------------|---------------|-------|--------|--------------|
| 字段名 | 类型 | | 必填 | 说明 |
| purchase_order_id | bigint | | 是 | 采购单ID |
| target_order_id | bigint | | 是 | 总仓订单ID |
| ship_id | bigint | | 否 | 发货单ID |
| auto_in_qty | decimal(18,4) | | 是 | 自动入库数量 |
| auto_in_amount | decimal(18,2) | | 是 | 自动入库金额 |
| receipt_status | tinyint | | 是 | 入库状态 |
| remark | varchar(512) | | 否 | 备注 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:idx_purchase_auto_receipt(purchase_order_id);idx_order(target_order_id)

8.35 yh_purchase_return_order_relation(采购退货订单退货关联表)

所属模块:总仓分仓协同。表说明:采购退货单与订单退货/退款单的联动关系。

|--------------------|---------------|-------|--------|----------------------------|
| 字段名 | 类型 | | 必填 | 说明 |
| purchase_return_id | bigint | | 是 | 采购退货单ID |
| order_return_id | bigint | | 是 | 订单退货/退款单ID |
| relation_type | tinyint | | 是 | 类型:1采购退货生成订单退货 2订单退货生成采购退货 |
| return_qty | decimal(18,4) | | 是 | 退货数量 |
| return_amount | decimal(18,2) | | 是 | 退货金额 |
| sync_status | tinyint | | 是 | 同步状态 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:uk_return_relation(purchase_return_id,order_return_id)

8.36 yh_order(订单主表)

所属模块:业务单据。表说明:仓配订单、跨租户接收订单、总仓客户订单统一主表。

|--------------|---------------|-------|--------|-------------------------|
| 字段名 | 类型 | | 必填 | 说明 |
| order_no | varchar(64) | | 是 | 订单号 |
| customer_id | bigint | | 是 | 客户ID |
| order_source | tinyint | | 是 | 来源:1商城 2后台 3跨租户推送 4采购推送 |
| order_status | tinyint | | 是 | 订单状态 |
| pay_type | tinyint | | 否 | 支付方式 |
| order_amount | decimal(18,2) | | 是 | 下单金额 |
| ship_amount | decimal(18,2) | | 否 | 发货金额 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:uk_order_no(order_no);idx_customer_order(customer_id,order_status)

8.37 yh_order_item(订单明细表)

所属模块:业务单据。表说明:订单商品明细,支持与采购明细映射。

|---------------|---------------|-------|--------|--------------|
| 字段名 | 类型 | | 必填 | 说明 |
| order_id | bigint | | 是 | 订单ID |
| goods_unit_id | bigint | | 是 | 商品规格单位ID |
| order_qty | decimal(18,4) | | 是 | 下单数量 |
| order_price | decimal(18,4) | | 是 | 下单单价 |
| ship_qty | decimal(18,4) | | 否 | 发货数量 |
| ship_price | decimal(18,4) | | 否 | 发货单价 |
| item_status | tinyint | | 是 | 明细状态 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:idx_order_item(order_id);idx_goods(goods_unit_id)

8.38 yh_order_ship(订单发货表)

所属模块:业务单据。表说明:订单出库发货记录。

|--------------|---------------|-------|--------|--------------|
| 字段名 | 类型 | | 必填 | 说明 |
| order_id | bigint | | 是 | 订单ID |
| ship_no | varchar(64) | | 是 | 发货单号 |
| warehouse_id | bigint | | 是 | 发货仓库 |
| ship_status | tinyint | | 是 | 发货状态 |
| ship_time | datetime | | 否 | 发货时间 |
| total_qty | decimal(18,4) | | 是 | 发货总数 |
| total_amount | decimal(18,2) | | 是 | 发货金额 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:uk_ship_no(ship_no);idx_order_ship(order_id)

8.39 yh_order_return(订单退货/退款表)

所属模块:业务单据。表说明:由客户退货或采购退货联动生成。

|---------------|---------------|-------|--------|------------------|
| 字段名 | 类型 | | 必填 | 说明 |
| return_no | varchar(64) | | 是 | 退货/退款单号 |
| order_id | bigint | | 是 | 订单ID |
| source_type | tinyint | | 是 | 来源:1客户申请 2采购退货联动 |
| return_qty | decimal(18,4) | | 是 | 退货数量 |
| return_amount | decimal(18,2) | | 是 | 退款金额 |
| audit_status | tinyint | | 是 | 审核状态 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:uk_order_return_no(return_no);idx_order_return(order_id)

8.40 yh_purchase_order(采购单主表)

所属模块:业务单据。表说明:采购单,可来源于手工采购、订单转采购、跨租户推送。

|-----------------|---------------|-------|--------|--------------------|
| 字段名 | 类型 | | 必填 | 说明 |
| purchase_no | varchar(64) | | 是 | 采购单号 |
| supplier_id | bigint | | 是 | 供应商ID |
| warehouse_id | bigint | | 是 | 采购入库仓库 |
| source_type | tinyint | | 是 | 来源:1手工 2订单转采购 3跨租户 |
| purchase_status | tinyint | | 是 | 采购状态 |
| purchase_amount | decimal(18,2) | | 是 | 采购金额 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:uk_purchase_no(purchase_no);idx_supplier_purchase(supplier_id,purchase_status)

8.41 yh_purchase_item(采购单明细表)

所属模块:业务单据。表说明:采购商品明细。

|-------------------|---------------|-------|--------|--------------|
| 字段名 | 类型 | | 必填 | 说明 |
| purchase_order_id | bigint | | 是 | 采购单ID |
| goods_unit_id | bigint | | 是 | 商品规格单位ID |
| plan_qty | decimal(18,4) | | 是 | 计划采购数量 |
| plan_price | decimal(18,4) | | 是 | 计划采购单价 |
| actual_qty | decimal(18,4) | | 否 | 实际采购数量 |
| in_qty | decimal(18,4) | | 否 | 入库数量 |
| item_status | tinyint | | 是 | 明细状态 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:idx_purchase_item(purchase_order_id);idx_goods(goods_unit_id)

8.42 yh_purchase_receipt(采购入库单表)

所属模块:业务单据。表说明:采购入库记录,支持自动入库。

|-------------------|---------------|-------|--------|------------------|
| 字段名 | 类型 | | 必填 | 说明 |
| purchase_order_id | bigint | | 是 | 采购单ID |
| receipt_no | varchar(64) | | 是 | 入库单号 |
| warehouse_id | bigint | | 是 | 入库仓库 |
| receipt_type | tinyint | | 是 | 入库类型:1手工 2订单发货自动 |
| receipt_qty | decimal(18,4) | | 是 | 入库数量 |
| receipt_amount | decimal(18,2) | | 是 | 入库金额 |
| receipt_status | tinyint | | 是 | 入库状态 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:uk_receipt_no(receipt_no);idx_purchase_receipt(purchase_order_id)

8.43 yh_purchase_return(采购退货单表)

所属模块:业务单据。表说明:采购退货单,可联动订单退货/退款。

|-------------------|---------------|-------|--------|--------------|
| 字段名 | 类型 | | 必填 | 说明 |
| return_no | varchar(64) | | 是 | 采购退货单号 |
| purchase_order_id | bigint | | 是 | 采购单ID |
| supplier_id | bigint | | 是 | 供应商ID |
| return_qty | decimal(18,4) | | 是 | 退货数量 |
| return_amount | decimal(18,2) | | 是 | 退货金额 |
| return_status | tinyint | | 是 | 退货状态 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:uk_purchase_return_no(return_no);idx_purchase_return(purchase_order_id)

8.44 yh_inventory(库存汇总表)

所属模块:库存财务。表说明:分仓/仓库库存汇总。

|---------------|---------------|-------|--------|--------------|
| 字段名 | 类型 | | 必填 | 说明 |
| warehouse_id | bigint | | 是 | 仓库ID |
| goods_unit_id | bigint | | 是 | 商品规格单位ID |
| stock_qty | decimal(18,4) | | 是 | 库存数量 |
| cost_price | decimal(18,4) | | 是 | 成本价 |
| stock_amount | decimal(18,2) | | 是 | 库存金额 |
| last_biz_time | datetime | | 否 | 最后业务时间 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:uk_inventory(warehouse_id,goods_unit_id)

8.45 yh_inventory_flow(库存流水表)

所属模块:库存财务。表说明:订单出库、采购入库、退货等库存流水。

|---------------|---------------|-------|--------|--------------|
| 字段名 | 类型 | | 必填 | 说明 |
| warehouse_id | bigint | | 是 | 仓库ID |
| goods_unit_id | bigint | | 是 | 商品规格单位ID |
| source_type | tinyint | | 是 | 来源类型 |
| source_id | bigint | | 是 | 来源单据ID |
| change_qty | decimal(18,4) | | 是 | 变动数量 |
| before_qty | decimal(18,4) | | 是 | 变动前数量 |
| after_qty | decimal(18,4) | | 是 | 变动后数量 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:idx_inv_flow(warehouse_id,goods_unit_id,created_time);idx_source(source_type,source_id)

8.46 yh_customer(客户表)

所属模块:基础资料。表说明:B2B客户、门店客户、跨租户目标客户。

|-------------------|--------------|-------|--------|-----------------------|
| 字段名 | 类型 | | 必填 | 说明 |
| customer_code | varchar(64) | | 是 | 客户编码 |
| customer_name | varchar(128) | | 是 | 客户名称 |
| mobile | varchar(32) | | 否 | 手机号 |
| customer_type | tinyint | | 是 | 类型:1普通客户 2门店客户 3跨租户客户 |
| bind_warehouse_id | bigint | | 否 | 绑定分仓/门店仓 |
| status | tinyint | | 是 | 状态 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:uk_customer_code(tenant_id,customer_code);idx_customer_mobile(mobile)

8.47 yh_supplier(供应商表)

所属模块:基础资料。表说明:供应商、总仓供应商、跨租户供应商。

|------------------|--------------|-------|--------|--------------|
| 字段名 | 类型 | | 必填 | 说明 |
| supplier_code | varchar(64) | | 是 | 供应商编码 |
| supplier_name | varchar(128) | | 是 | 供应商名称 |
| mobile | varchar(32) | | 否 | 手机号 |
| supplier_type | tinyint | | 是 | 供应商类型 |
| target_tenant_id | bigint | | 否 | 关联对方租户ID |
| status | tinyint | | 是 | 状态 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:uk_supplier_code(tenant_id,supplier_code);idx_supplier_mobile(mobile)

8.48 yh_warehouse(仓库表)

所属模块:基础资料。表说明:总仓、分仓、门店仓。

|----------------|--------------|-------|--------|-----------------|
| 字段名 | 类型 | | 必填 | 说明 |
| warehouse_code | varchar(64) | | 是 | 仓库编码 |
| warehouse_name | varchar(128) | | 是 | 仓库名称 |
| warehouse_type | tinyint | | 是 | 类型:1总仓 2分仓 3门店仓 |
| branch_id | bigint | | 否 | 所属分公司 |
| status | tinyint | | 是 | 状态 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:uk_wh_code(tenant_id,warehouse_code);idx_branch_wh(branch_id)

8.49 yh_branch_report_snapshot(分公司报表快照表)

所属模块:报表中心。表说明:定时采集分公司经营数据供总公司查看。

|-------------------|---------------|-------|--------|--------------|
| 字段名 | 类型 | | 必填 | 说明 |
| branch_id | bigint | | 是 | 分公司ID |
| report_date | date | | 是 | 报表日期 |
| order_amount | decimal(18,2) | | 是 | 销售金额 |
| purchase_amount | decimal(18,2) | | 是 | 采购金额 |
| inventory_amount | decimal(18,2) | | 是 | 库存金额 |
| receivable_amount | decimal(18,2) | | 是 | 应收金额 |
| payable_amount | decimal(18,2) | | 是 | 应付金额 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:uk_branch_report(branch_id,report_date)

8.50 yh_group_report_summary(集团报表汇总表)

所属模块:报表中心。表说明:按集团维度汇总分公司经营数据。

|---------------------|---------------|-------|--------|--------------|
| 字段名 | 类型 | | 必填 | 说明 |
| group_id | bigint | | 是 | 集团ID |
| report_date | date | | 是 | 报表日期 |
| branch_count | int | | 是 | 分公司数 |
| order_amount | decimal(18,2) | | 是 | 销售金额 |
| purchase_amount | decimal(18,2) | | 是 | 采购金额 |
| gross_profit_amount | decimal(18,2) | | 是 | 毛利金额 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:uk_group_report(group_id,report_date)

8.51 yh_report_collect_task(报表采集任务表)

所属模块:报表中心。表说明:从分公司采集报表的任务。

|----------------|--------------|-------|--------|--------------|
| 字段名 | 类型 | | 必填 | 说明 |
| task_no | varchar(64) | | 是 | 任务号 |
| group_id | bigint | | 是 | 集团ID |
| branch_id | bigint | | 是 | 分公司ID |
| report_date | date | | 是 | 报表日期 |
| collect_status | tinyint | | 是 | 采集状态 |
| error_msg | varchar(512) | | 否 | 错误信息 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:uk_collect_task(task_no);idx_branch_date(branch_id,report_date)

8.52 yh_coexist_version_config(仓配商超共存配置表)

所属模块:共存版。表说明:记录仓配和商超共存版能力开关和限制。

|---------------------------|--------------|-------|--------|--------------|
| 字段名 | 类型 | | 必填 | 说明 |
| warehouse_enabled | tinyint | | 是 | 仓配是否启用 |
| retail_enabled | tinyint | | 是 | 商超是否启用 |
| total_branch_disabled | tinyint | | 是 | 是否禁止升级总分公司 |
| register_choose_type_flag | tinyint | | 是 | 注册是否选择店铺/个人 |
| remark | varchar(512) | | 否 | 备注 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:uk_coexist_tenant(tenant_id)

8.53 yh_customer_register_type(客户注册类型表)

所属模块:共存版。表说明:仓配商超共存版商城注册时选择店铺/个人。

|-----------------|-------------|-------|--------|--------------|
| 字段名 | 类型 | | 必填 | 说明 |
| mobile | varchar(32) | | 是 | 手机号 |
| register_type | tinyint | | 是 | 注册类型:1店铺 2个人 |
| customer_id | bigint | | 否 | 仓配客户ID |
| member_id | bigint | | 否 | 商超会员ID |
| register_status | tinyint | | 是 | 注册状态 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:uk_register_mobile(tenant_id,mobile,register_type)

8.54 yh_retail_member(商超个人会员表)

所属模块:共存版。表说明:商超个人会员基础信息。

|----------------|---------------|-------|--------|--------------|
| 字段名 | 类型 | | 必填 | 说明 |
| member_no | varchar(64) | | 是 | 会员编号 |
| mobile | varchar(32) | | 是 | 手机号 |
| member_name | varchar(128) | | 否 | 会员名称 |
| balance_amount | decimal(18,2) | | 是 | 储值余额 |
| points | decimal(18,2) | | 是 | 积分 |
| status | tinyint | | 是 | 状态 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:uk_member_no(member_no);idx_member_mobile(mobile)

8.55 yh_pos_order(商超收银订单表)

所属模块:共存版。表说明:共存版中的商超收银订单。

|--------------|---------------|-------|--------|--------------|
| 字段名 | 类型 | | 必填 | 说明 |
| pos_order_no | varchar(64) | | 是 | 收银订单号 |
| member_id | bigint | | 否 | 会员ID |
| store_id | bigint | | 是 | 门店ID |
| pay_amount | decimal(18,2) | | 是 | 实付金额 |
| order_status | tinyint | | 是 | 订单状态 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:uk_pos_order_no(pos_order_no);idx_store_order(store_id,order_status)

8.56 yh_multisys_audit_log(多系统操作审计日志表)

所属模块:审计日志。表说明:总分公司、同步、推送、退货联动的操作审计。

|---------------|--------------|-------|--------|--------------|
| 字段名 | 类型 | | 必填 | 说明 |
| biz_type | varchar(64) | | 是 | 业务类型 |
| biz_id | bigint | | 是 | 业务ID |
| operate_type | varchar(64) | | 是 | 操作类型 |
| operator_type | tinyint | | 是 | 操作者类型 |
| operator_id | bigint | | 否 | 操作者ID |
| before_json | json | | 否 | 变更前 |
| after_json | json | | 否 | 变更后 |
| remark | varchar(512) | | 否 | 备注 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:idx_biz_log(biz_type,biz_id);idx_operator(operator_type,operator_id)

8.57 yh_multisys_message_task(多系统消息任务表)

所属模块:消息通知。表说明:同步失败、推送失败、待审核退款等消息。

|---------------|-------------|-------|--------|--------------|
| 字段名 | 类型 | | 必填 | 说明 |
| biz_type | varchar(64) | | 是 | 业务类型 |
| biz_id | bigint | | 是 | 业务ID |
| receiver_type | tinyint | | 是 | 接收方类型 |
| receiver_id | bigint | | 是 | 接收方ID |
| channel | varchar(32) | | 是 | 渠道 |
| send_status | tinyint | | 是 | 发送状态 |
| retry_count | int | | 是 | 重试次数 |
| id | bigint | PK | 是 | 主键ID |
| tenant_id | bigint | | 是 | 租户ID/系统ID |
| created_by | bigint | | 否 | 创建人 |
| created_time | datetime | | 是 | 创建时间 |
| updated_by | bigint | | 否 | 更新人 |
| updated_time | datetime | | 否 | 更新时间 |
| deleted_flag | tinyint | | 是 | 删除标记:0正常 1删除 |

建议索引:idx_receiver(receiver_type,receiver_id,send_status)

9. 核心状态枚举与接口清单

9.1 状态枚举

|-----------|------------------------------------|---------------------|
| 枚举 | 建议值 | 业务含义 |
| 分公司状态 | 0草稿、1启用、2停用、3冻结 | 停用后不允许登录和接收同步。 |
| 商品同步任务状态 | 0待执行、1执行中、2成功、3部分成功、4失败、5已取消 | 部分成功时需要逐条查看失败原因。 |
| 跨租户推送状态 | 0待推送、1推送中、2成功、3失败、4重试中、5已取消 | 失败后可按幂等键重推。 |
| 采购单推送订单状态 | 0未推送、1已推送、2对方已接收、3对方已出库、4已回写入库、9异常 | 用于A采购单追踪B订单状态。 |
| 订单采购关联状态 | 0已关联、1已出库生成采购、2已入库、3已退货、4已退款、9已作废 | 控制总仓订单与分仓采购单的数据一致性。 |
| API授权状态 | 0待授权、1已授权、2拒绝、3过期、4停用 | 未授权租户不允许互推订单。 |

9.2 核心接口清单

|-------------|-----------------------------------------------------|------------------------------|
| 接口名称 | 建议路径 | 说明 |
| 总公司创建分公司 | POST /admin/multisys/branch/save | 创建或修改分公司资料、绑定租户、设置仓配版本。 |
| 分公司权限设置 | POST /admin/multisys/branch/permission/save | 保存分公司菜单、按钮、数据、报表权限。 |
| 分公司报表汇总 | GET /admin/multisys/branch/report/summary | 总公司查看分公司订单、采购、库存、财务汇总。 |
| 总公司商品同步 | POST /admin/multisys/goods/sync | 选择总公司商品同步到指定分公司,支持是否同步销售价。 |
| 同步任务详情 | GET /admin/multisys/goods/sync/{taskId} | 查看同步成功、失败、覆盖字段和错误原因。 |
| 主动推送订单API配置 | POST /admin/openapi/push-order-rule/save | A租户为供应商配置主动推送订单API和目标租户ID。 |
| 授权订单推送API配置 | POST /admin/openapi/order-push-auth/save | B租户为A租户配置白名单、客户、支付方式。 |
| 采购单推送成订单 | POST /admin/purchase/{id}/push-order | 将采购单推送成供应商租户中的客户订单,失败时可手动触发。 |
| 订单推送接收 | POST /openapi/order/receive | B租户接收A租户推送订单,按条码映射和客户报价生成订单。 |
| 订单状态回调 | POST /openapi/order/status-callback | B租户订单出库、取消、退款后回调A租户采购单。 |
| 客户替仓库采购配置 | POST /admin/customer/warehouse-purchase-config/save | 客户详情中开启替仓库采购,设置生成采购单仓库和供应商。 |
| 总仓订单生成分仓采购 | POST /admin/order/{id}/generate-branch-purchase | 订单出库后生成分仓待入库采购单。 |
| 分仓采购推送总仓订单 | POST /admin/purchase/{id}/push-hq-order | 分仓采购单推送成总仓客户订单。 |
| 采购退货联动订单退款 | POST /admin/purchase-return/{id}/sync-order-return | 采购退货后生成订单退货/退款单。 |

10. 开发落地风险与升鲜宝参考建议

|---------|-------------------------------------|-----------------------------|
| 风险点 | 悦厚资料体现的问题 | 开发建议 |
| 版本边界 | 总/分公司模式只支持仓配版;仓配和商超共存版不支持再升级总分公司。 | 系统初始化时必须锁定版本策略,不能随意切换。 |
| 商品映射 | 跨租户推送要求商品规格条码一致,且同一条码上架商品规格不能重复或为空。 | 建立条码唯一校验、跨租户商品映射表和推送前校验报告。 |
| 手机号映射 | A租户供应商手机号必须等于B租户客户手机号。 | 建立供应商-客户映射配置,避免只依赖手机号硬匹配。 |
| 价格差异 | B租户订单价格按B租户对应客户报价单,而不是A租户采购单价格。 | 在推送关系中保存A采购价、B销售价、差异说明。 |
| 同步覆盖 | 分公司有商品编辑权限时,总公司再次同步会强制覆盖商品信息。 | 提供预览差异、字段级同步策略和同步审计日志。 |
| 库存一致性 | 分仓采购单转总仓订单时,订单发货数量直接成为采购入库数量。 | 需要幂等、状态校验、库存流水和关联关系防重。 |
| 退款联动 | 采购退货自动生成订单退货/退款,可能造成财务重复冲减。 | 退货联动必须有唯一关联键和反向冲销记录。 |
| 推送重试 | 网络失败或对方系统异常会导致采购单推送失败。 | 采用Outbox、重试、失败告警、手动重推、幂等接收。 |

对升鲜宝的参考建议

  • 升鲜宝如果要做总分公司,应优先支持"总部统一商品资料 + 分公司独立订单/采购/库存/财务 + 总部报表汇总",不要把分公司做成简单部门。
  • 升鲜宝多租户供应商协同时,可参考"采购单推送成供应商订单"的模式,通过开放平台和Outbox实现租户之间单据互通。
  • 门店向总部订货、总部出库后门店自动入库,是升鲜宝门店商城/POS/HWMS与公司WMS打通的关键链路。
  • 商品同步必须设计字段级覆盖策略和同步预览,避免总公司同步时误覆盖分公司本地改价、条码、图片等资料。
  • 跨系统订单推送必须建立商品条码映射、供应商客户映射、租户白名单、幂等键和失败重试机制。
  • 退款、退货、反审核不能只改单据状态,必须同步处理关联单据、库存流水、财务流水和审计日志。
相关推荐
升鲜宝供应链及收银系统源代码服务2 天前
【竞品与研究】森果产品线功能开发文档及数据库表结构数据字典竞品分析推理版 (一)---升鲜宝生鲜配送供应链管理系统源代码服务
生鲜供应链源代码·供应链源代码出售·生鲜配送源代码服务·猪肉生产加工系统源代码·生鲜供应链系统·生鲜配送供应链系统源代码
升鲜宝供应链及收银系统源代码服务2 天前
【竞品与研究】森果零售通功能模块开发方案及数据库结构说明(一)---升鲜宝生鲜配送供应链管理系统源代码服务
生鲜配送源代码·生鲜配送系统·生鲜物流线路规划·生鲜电商订单系统·生鲜供应链系统·生鲜系统架构设计·生鲜配送供应链系统架构设计
weixin_470554452 个月前
万象生鲜配送系统2026年3月20日新版本更新说明
生鲜批发系统·生鲜配送系统·万象生鲜配送系统