Files
medical-mall/docs/sql/01_tables_catalog.md

7.4 KiB
Raw Blame History

01 表清单与职责划分(按业务域)

本节将 ml_ 前缀的商城域表按业务域归类,并给出每张表的核心职责、关键字段与主要关联。

说明:用户主表复用 public.ak_users,商城域通过外键 user_id/merchant_id 关联。


1. 用户域Account Extension

1.1 ml_user_profiles(用户扩展档案)

  • 职责:承载商城侧的用户扩展信息(状态、实名、信用分、认证信息、偏好等)。
  • 关键字段
    • user_id:外键到 ak_users(id)(且 UNIQUE,保证一用户一档案)
    • status:用户状态(正常/冻结/注销/待审核)
    • verification_statusverification_data认证状态及数据JSONB
    • preferences用户偏好JSONB
  • 主要关联
    • ml_user_profiles.user_id -> ak_users.id

1.2 ml_user_addresses(用户地址)

  • 职责:用户收货地址(并支持默认地址)。
  • 关键字段
    • user_id:外键到 ak_users(id)
    • is_default:是否默认地址(由触发器确保单一默认)
    • province/city/district/address_detail:地址结构化字段
  • 主要关联
    • ml_user_addresses.user_id -> ak_users.id

2. 商品域Catalog

2.1 ml_categories(商品分类)

  • 职责:商品分类树,支持 SEOcid/slug)与层级路径。
  • 关键字段
    • parent_id:自关联
    • path TEXT[]:分类路径(便于面包屑、筛选等)
    • cid:对外友好 ID
    • slugSEO slug
  • 主要关联
    • ml_categories.parent_id -> ml_categories.id

2.2 ml_brands(品牌)

  • 职责:品牌维度,支持 SEOcid)。
  • 关键字段name/logo_url/is_active/cid

2.3 ml_products(商品 SPU

  • 职责商品主表SPU包含定价、库存汇总、SEO、属性、统计。
  • 关键字段
    • merchant_id:商家(关联 ak_users
    • category_idbrand_id
    • base_price/market_price/cost_price
    • total_stock/available_stock(由 SKU 触发器汇总维护)
    • status(上架/下架/草稿/删除)
    • image_urls/video_urls/attributesJSONB
    • cid/slug/seo_*
  • 主要关联
    • ml_products.merchant_id -> ak_users.id
    • ml_products.category_id -> ml_categories.id
    • ml_products.brand_id -> ml_brands.id

2.4 ml_product_skus(商品 SKU

  • 职责SKU 明细规格组合、SKU 价格与库存。
  • 关键字段
    • product_id:所属 SPU
    • specifications JSONB:规格组合(例如 {color:"black", size:"M"}
    • price/stock/status
  • 主要关联
    • ml_product_skus.product_id -> ml_products.id

2.5 ml_product_specs(商品规格定义)

  • 职责:描述一个商品有哪些规格项及可选值(用于生成 SKU
  • 关键字段
    • spec_name(如 颜色/尺寸)
    • spec_values JSONB(如 ["black","white"]

3. 店铺域Merchant/Shop

ml_shops(店铺)

  • 职责:店铺信息(当前模型约束“一商家一店”)。
  • 关键字段
    • merchant_id UNIQUE:一对一约束
    • status(正常/暂停/关闭)
    • address/business_hoursJSONB
    • rating_avg/rating_count/product_count/order_count(统计类)

4. 交易域Order/Trade

4.1 ml_orders(订单主表)

  • 职责:订单交易核心,含金额、地址快照、状态机、关键时间点。
  • 关键字段
    • order_no:订单号(可由序列+函数生成)
    • user_id:买家
    • merchant_id:商家(当前单商家订单模型)
    • 金额拆分:product_amount/discount_amount/shipping_fee/total_amount/paid_amount
    • shipping_address JSONB:下单快照地址
    • 状态机:order_status/payment_status/shipping_status
    • 时间点:paid_at/shipped_at/delivered_at/completed_at

4.2 ml_order_items(订单明细)

  • 职责:订单行项目,保存下单快照(防止商品信息后改影响历史订单)。
  • 关键字段
    • order_id 外键
    • product_id/sku_id
    • product_name/sku_name/specifications/image_url/price(快照冗余)
    • quantity/total_amount

5. 购物车域

ml_shopping_cart

  • 职责:购物车行项目。
  • 关键字段
    • user_id/product_id/sku_id
    • quantityselected
    • UNIQUE(user_id, product_id, sku_id):避免重复行

6. 营销域Coupon

6.1 ml_coupon_templates(优惠券模板)

  • 职责:券模板定义;支持平台券(merchant_id 为空)与商家券。
  • 关键字段
    • coupon_type(满减/折扣/免邮)
    • discount_type(固定金额/百分比)
    • discount_value/min_order_amount/max_discount_amount
    • applicable_products/applicable_categoriesJSONB
    • start_time/end_time/status

6.2 ml_user_coupons(用户优惠券)

  • 职责:用户领取的券实例,包含券码与使用归因。
  • 关键字段
    • coupon_code(唯一)
    • status(未用/已用/过期)
    • used_at/order_id

7. 履约域Delivery

7.1 ml_delivery_drivers(配送员)

  • 职责:配送员信息与工作状态。
  • 关键字段
    • user_id UNIQUE:一个用户对应一个配送员档案
    • work_status/status、位置信息、统计与评分

7.2 ml_delivery_tasks(配送任务)

  • 职责:配送任务与订单 1:1 绑定。
  • 关键字段
    • order_id UNIQUE:一个订单最多一个配送任务
    • driver_id
    • pickup_address/delivery_addressJSONB 快照)
    • statusassigned_at/picked_at/delivered_at

8. 评价域Review

ml_product_reviews

  • 职责:商品评价;通过 order_id + order_item_id 强绑定订单来源。
  • 关键字段
    • order_idorder_item_id
    • rating/content/images
    • merchant_reply/merchant_replied_at

9. 用户行为域Behavior

9.1 ml_user_favorites(收藏)

  • 职责:收藏(多态目标:商品/店铺)。
  • 关键字段
    • target_type1 商品 / 2 店铺)
    • target_id
    • UNIQUE(user_id, target_type, target_id)

9.2 ml_browse_history(浏览历史)

  • 职责:浏览记录(当前模型倾向“同商品最后一次浏览覆盖”)。
  • 关键字段UNIQUE(user_id, product_id)

9.3 ml_search_history(搜索记录)

  • 职责:搜索日志(可用于热词/推荐/分析)。
  • 关键字段keyword/result_count/ip_address/user_agent

10. 配置与地区

10.1 ml_system_configs(系统配置)

  • 职责配置中心JSONB如运费、佣金比例、订单自动确认天数等。
  • 关键字段config_key 唯一、config_value JSONB

10.2 ml_regions(地区)

  • 职责:地区树(省/市/区/街道)。

11. 订阅模块Subscription

11.1 ml_subscription_plans(订阅套餐)

  • 职责订阅计划定义计费周期、价格、试用天数、features
  • 关键字段plan_code 唯一、billing_periodfeatures JSONB

11.2 ml_user_subscriptions(用户订阅)

  • 职责:用户订阅实例(状态机、自动续费、下次扣费时间等)。
  • 关键字段statustrial/active/past_due/canceled/expiredauto_renewmetadata JSONB