shop_address ─ shop_supplier ─ dealer 实体关系图

接口 GET /dealers/{sourceId} 涉及的三张数据库表关联关系

门店地址层 (shop_address)
供应层·桥接表 (shop_supplier)
经销商层 (dealer)

ER 模型图

erDiagram shop_address ||--o{ shop_supplier : "source_id = address_id" shop_supplier }o--|| dealer : "supplier_erp_code = acct_code" shop_address { bigint id PK varchar source_id UK "主数据ID" varchar shop_id "门店ID" varchar channel "渠道类型" varchar shop_level "门店等级" varchar shop_status "门店状态" varchar area_level "区域等级" varchar rsp_id "业代ID" varchar big_region_id "大区ID" varchar city_group_id "城市群ID" varchar business_unit_code "事业部" varchar l1_sale_area_code "销售一段" varchar l2_sale_area_code "销售二段" varchar l3_sale_area_code "销售三段" varchar l4_sale_area_code "销售四段" varchar l5_sale_area_code "销售五段" varchar status_code "主数据状态" varchar status "启用状态" } shop_supplier { bigint id PK varchar row_id "主数据行ID" varchar address_id FK "地址ID" varchar supplier "供货商编码" varchar supplier_name "供货商名称" varchar supplier_erp_code FK "ERP编码" varchar status_code "主数据状态" varchar status "启用状态" } dealer { bigint id PK varchar source_id "来源ID" varchar ou_id "OU层ID" varchar name "名称" varchar code "编码" varchar acct_code UK "ERP编码" varchar dler_type_name "经销商类型" varchar dler_lv_name "经销商分级" varchar dler_delivery_name "经销商渠道" varchar dir_type_name "直营类型" varchar business_unit_code "事业部" varchar regis_province_code "注册省份" varchar regis_city_code "注册城市" varchar regis_adres "注册地址" varchar std_soc_secu_code "统一征信码" varchar customer_type "客户类型" varchar status_code "主数据状态" varchar status "启用状态" }

关联 ①:shop_address → shop_supplier(1 对 N)

左表字段shop_address.source_id(主数据 source ID)
右表字段shop_supplier.address_id
语义一个门店地址记录下可关联多条供货商记录

关联 ②:shop_supplier → dealer(N 对 1)

左表字段shop_supplier.supplier_erp_code(供货商 ERP 编码)
右表字段dealer.acct_code(经销商 ERP 编码)
语义多个门店的供货商可能指向同一个经销商

查询链路

Step 1SELECT source_id FROM shop_address WHERE shop_id={sourceId} AND status_code='VALID' AND status='ENABLE'
Step 2SELECT supplier_erp_code FROM shop_supplier WHERE address_id IN (...) AND status_code='VALID' AND status='ENABLE'
Step 3SELECT * FROM dealer WHERE acct_code IN (...) → MyBatis Plus 分页