数据库课程设计-快递业务系统数据库架构

快递系统数据库架构

这个本项目的后端地址

客户表customer

用户是在本系统注册的用户。

  • id用户唯一标识
  • username用户名,唯一
  • phone电话号码,唯一
  • email邮箱,唯一
  • password_hash密码哈希
  • salt盐值
  • address地址簿,用来记录用户常用地址,json格式

员工表employee

员工表记录了所有参与揽收、运输、派送过程的所有人员。

  • id员工唯一标识
  • name员工姓名
  • phone电话号码,唯一
  • email邮箱,唯一
  • password_hash密码哈希
  • salt盐值
  • serve_at工作网点

网点表logistic

记录各级网点信息。SQL脚本参照logistics.sql

  • id 转运中心或网点的唯一标识。
  • name名称。
  • parent_id 父级转运中心或网点的id。用于建立层级关系,顶级转运中心此字段为NULL。
  • level 转运中心或网点的级别(例如,国家级、省级、市级、区/县级等)。
  • district区/县
  • city 城市
  • province省份
  • contact_info 联系方式(电话或邮箱)

运单表 shipment

运单是用户支付的唯一单位,它会包含一个或多个包裹(考虑到可能会有如搬家的情况)。

  • id运单唯一标识
  • origin出发地,外键参照logistic.id
  • destination目的地,外键参照logistic.id
  • price运单价格
  • status运单状态 :enum{'pending', 'cod_pending', 'paid', 'cancelled'}分别代表待支付(默认)、到付待支付、已支付、取消。
  • customer_id外键参照customer.id 1:1

包裹表 package

包裹是现实世界中的一个包裹,是用户会装箱的最小单位。

  • id包裹唯一标识
  • create_date创建时间
  • status包裹状态 :enum{'pending', 'processing', 'in_transit','delivering','signed', 'cancelled'}分别代表待支付(默认)、处理中、运输中、派送中、已签收、已取消。
  • shipment_id对应运单id,外键参照shipment.id 1:N
  • batch_id对应转运批次id,外键参照batch.id 1:N
  • weight重量
  • size尺寸

转运批次表 batch

转运批次是指快递网点之间的运送最小单位。出于对包裹大小区别、目的地区别的考虑,会对1个或多个包裹建立一个转运批次。

  • id转运批次唯一标识
  • create_date创建时间
  • origin出发地,外键参照logistic.id
  • destination目的地,外键参照logistic.id
  • responsible责任人,外键参照employee.id
  • status转运状态 : enum{in_trans, arrive}
  • vehicle_id外键参照vehicles.id(该转运批次所在载具id,如果已经到达目的地记录最后所在载具id)1:1

载具表vehicle

载具可能包含车辆、船舶、列车、航班,记录其对应车牌号/班次号

  • id: 载具唯一标识
  • type: 载具类型,例如车辆、船舶、列车、航班等
  • shift: 车牌号/班次号
  • coordinate: 载具经纬度信息,GIS的POINT格式,用于记录载具当前位置,为此列建立空间索引
  • current_batch_id: 当前批次ID,外键参照batch.id,表示当前载具所承载的转运批次,1:1关系
  • current_location_id: 当前位置ID,外键参照logistic.id,表示当前载具所在位置,1:N关系(一个载具只能在一个位置,但一个位置可能有多个载具)

核心业务流程

  1. 运单创建
    功能描述: 用户通过物流管理系统创建运单,每个运单可以包含一个或多个包裹。此过程涉及录入包裹的细节,如重量、尺寸等信息,并生成唯一的运单号以跟踪运输过程。
  2. 包裹揽收
    功能描述: 快递员在用户指定地点揽收包裹,并使用移动设备更新运单状态为“已揽收”,同时包裹被运输至就近的区域网点。
  3. 区域网点处理
    功能描述: 区域网点接收到来自不同用户的多个包裹,根据包裹的大小进行分装处理:
    大包裹:每个大包裹单独建立一个转运批次。
    小包裹:多个小包裹合并打包成一个转运批次。
    装车后,这些批次被发往上级分拣中心。
  4. 分拣中心处理
    功能描述: 分拣中心对收到的包裹进行拆包,并根据包裹的目的地重新建立转运批次。这一过程利用自动化分拣技术,确保每个包裹准确地被分配到正确的转运批次,然后发往对应的转运中心。
  5. 转运中心处理
    功能描述: 目的地转运中心接收到来自分拣中心的转运批次后,再次进行拆包和处理,根据具体的目的地地址重新建立转运批次,以便将包裹运输到更接近最终目的地的网点。
  6. 末端网点派送
    功能描述: 对应网点接收到包裹后,进行最后一次拆包,并根据最终目的地地址分配派送任务。快递员根据派送任务进行最后一公里的配送。
  7. 用户签收与支付
    功能描述:
    用户签收:快递员完成包裹派送后,用户对包裹进行签收确认,运单状态更新为“已签收”。
    支付处理:如果运单是到付,用户在签收时完成支付操作,系统记录支付状态。
  • 26
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值