【竞品与研究】悦厚 SCP 多系统 / 总分公司模式详细开发说明文档及数据库表结构数据字典(一)---升鲜宝生鲜配送供应链管理系统源代码服务
|--------------------------------------------------------------------------------------------------------|
| **说明:**本文档根据《悦厚SCP系统帮助中心》多系统/总分公司相关资料整理,并结合生鲜仓配、门店分仓、跨租户开放平台的业务逻辑进行开发级反推。数据库结构为参考版数据字典,不代表悦厚官方内部真实DDL。 |
目录
-
资料来源与产品边界
-
业务总览与产品线定位
-
各端口关系与相互影响
-
核心业务流程
-
核心E-R图
-
模块开发说明
-
数据库表结构总览
-
数据库表结构数据字典
-
核心状态枚举与接口清单
-
开发落地风险与升鲜宝参考建议
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 总公司商品同步分公司
- 总公司维护单位、分类、商品、报价。
- 总公司选择一个或多个商品,点击同步并选择目标分公司。
- 系统判断目标分公司是否已有映射:已有映射则更新,未映射则新建。
- 若勾选同步销售价,则覆盖或新增分公司销售价。
- 若分公司有商品编辑权限,总公司再次同步时仍可能强制覆盖分公司商品信息。
- 所有同步结果写入同步任务、同步明细和同步日志。
4.2 A租户采购单推送成B租户订单
- A租户与B租户均开通开放平台。
- 两套系统商品规格条码一致,且同条码的上架规格不能重复或为空。
- A租户供应商手机号与B租户客户手机号一致,或通过映射表明确绑定。
- A租户为供应商配置主动推送订单API,填写B租户ID。
- B租户为A租户配置授权订单推送API,设置客户和支付方式。
- A租户创建该供应商采购单后自动推送;失败时可手动重推。
- B租户接收后按自身客户报价单生成订单。
- B租户订单出库、取消、退款后回调A租户采购单状态。
4.3 总仓订单转分仓采购单
- 门店客户在客户详情中开启替仓库采购功能。
- 配置生成采购单的仓库和采购单供应商。
- 门店作为客户在商城向总仓下单。
- 总仓订单出库后,系统在指定分仓生成待入库采购单。
- 订单发货单价、发货数量、发货金额分别对应采购单价、采购数量、采购金额。
- 分仓按采购单入库,库存增加。
- 若采购单商品发生退货,则订单侧自动生成退货单。
4.4 分仓采购单推送成总仓客户订单
- 客户设置中勾选采购单推送成订单。
- 分仓在所选仓库下创建供应商为总仓的采购单。
- 系统自动推送生成总仓下的客户订单,此时采购单为待采购状态。
- 总仓订单出库发货后,发货数量同步给采购单。
- 采购单实际采购数量和入库数量按订单发货数量回写。
- 采购单可直接变为已入库状态,忽略普通采购入库流程。
- 若采购单商品发生退款,则订单侧自动生成待审核退款单。
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打通的关键链路。
- 商品同步必须设计字段级覆盖策略和同步预览,避免总公司同步时误覆盖分公司本地改价、条码、图片等资料。
- 跨系统订单推送必须建立商品条码映射、供应商客户映射、租户白名单、幂等键和失败重试机制。
- 退款、退货、反审核不能只改单据状态,必须同步处理关联单据、库存流水、财务流水和审计日志。