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

237 lines
7.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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_status``verification_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`(商品分类)
- **职责**:商品分类树,支持 SEO`cid/slug`)与层级路径。
- **关键字段**
- `parent_id`:自关联
- `path TEXT[]`:分类路径(便于面包屑、筛选等)
- `cid`:对外友好 ID
- `slug`SEO slug
- **主要关联**
- `ml_categories.parent_id -> ml_categories.id`
### 2.2 `ml_brands`(品牌)
- **职责**:品牌维度,支持 SEO`cid`)。
- **关键字段**`name/logo_url/is_active/cid`
### 2.3 `ml_products`(商品 SPU
- **职责**商品主表SPU包含定价、库存汇总、SEO、属性、统计。
- **关键字段**
- `merchant_id`:商家(关联 `ak_users`
- `category_id``brand_id`
- `base_price/market_price/cost_price`
- `total_stock/available_stock`(由 SKU 触发器汇总维护)
- `status`(上架/下架/草稿/删除)
- `image_urls/video_urls/attributes`JSONB
- `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_hours`JSONB
- `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`
- `quantity``selected`
- `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_categories`JSONB
- `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_address`JSONB 快照)
- `status``assigned_at/picked_at/delivered_at`
---
## 8. 评价域Review
### `ml_product_reviews`
- **职责**:商品评价;通过 `order_id + order_item_id` 强绑定订单来源。
- **关键字段**
- `order_id``order_item_id`
- `rating/content/images`
- `merchant_reply/merchant_replied_at`
---
## 9. 用户行为域Behavior
### 9.1 `ml_user_favorites`(收藏)
- **职责**:收藏(多态目标:商品/店铺)。
- **关键字段**
- `target_type`1 商品 / 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_period``features JSONB`
### 11.2 `ml_user_subscriptions`(用户订阅)
- **职责**:用户订阅实例(状态机、自动续费、下次扣费时间等)。
- **关键字段**`status`trial/active/past_due/canceled/expired`auto_renew``metadata JSONB`