# 数据模型:闪送配送服务 ## `flash_delivery_order` 核心字段:`id`、唯一 `order_no`、与用户联合唯一的 `client_request_id`、`user_id`、`rider_id`、`service_type`、`status`;`package_type`、`package_size`;`delivery_mode`、预约开始/结束时间;`pin_required`、四位交付 PIN;取件/收件联系人、电话、市/区、交付方式、地址、详细地址和经纬度快照;`distance_meters`、`distance_source`、`estimated_duration_seconds`;`amount`、`currency`、`pricing_version`、完整计价配置与费用明细快照;`user_note`、`version`、关键状态时间、取消审计及创建/更新时间。 索引:订单号唯一、用户幂等号唯一、待抢排序、用户列表、骑手列表、自动完成扫描。 ## `flash_delivery_pricing` 按 `service_type` 唯一,保存 `start_price`、`minimum_price`、`start_distance_meters`、`per_km_price`、`per_minute_price`、`peak_multiplier`、`enabled`、`config_version`、`updated_by` 和时间。有效修改后版本加一,历史订单不回写。 ## `flash_delivery_order_image` 保存 `order_id`、`proof_type`(SENDER/PICKUP/DELIVERY)、`image_url`、`sort_order`、`operator_type`、`operator_id`、`create_time`。 ## `flash_delivery_order_log` 保存 `order_id`、`from_status`、`to_status`、`operator_type`(USER/RIDER/ADMIN/SYSTEM)、`operator_id`、`reason`、`create_time`。 ## `info_address` 增量 新增 `is_top tinyint(1) not null default 0` 和 `top_time datetime null`。列表按 `is_top desc, top_time desc, id desc`。 ## 状态转换 | 当前 | 操作/角色 | 下一状态 | |---|---|---| | WAITING_ACCEPTANCE | 抢单/RIDER | ACCEPTED | | WAITING_ACCEPTANCE | 取消/USER、ADMIN | CANCELLED | | ACCEPTED | 取件且含图片/指定 RIDER | PICKED_UP | | ACCEPTED | 取消/USER、ADMIN | CANCELLED | | PICKED_UP | 送达且含图片/指定 RIDER | DELIVERED | | PICKED_UP | 异常取消/ADMIN | CANCELLED | | DELIVERED | 签收或自动/USER、SYSTEM、ADMIN | COMPLETED | | DELIVERED | 异常取消/ADMIN | CANCELLED | `COMPLETED`、`CANCELLED` 是终态。