Skip to main content

数据库设计

David LiuAbout 6 min

数据库设计

用户相关

user, 用户

  • id, ID
  • username, 用户名
  • password, 密码
  • name, 姓名
  • id_card, 身份证号
  • employer, 工作单位名称
  • phone, 移动电话
  • ware_id, 仓库id(0代表普通用户,配送员为具体分站id)
  • email, 电子邮箱地址
  • create_time, 创建时间
  • update_time, 更新时间
  • Is_deleted, 删除标记(0:不可用,1:可用)

role 角色

  • id, ID
  • role_name, 角色名称
  • role_code, 角色名称
  • description, 角色描述
  • create_time, 创建时间
  • update_time, 更新时间
  • Is_deleted, 删除标记(0:不可用,1:可用)

perimission 权限

  • id, ID
  • pid, 所属上级
  • name, 权限名称
  • description, 权限描述
  • create_time, 创建时间
  • update_time, 更新时间
  • Is_deleted, 删除标记(0:不可用,1:可用)

user_role 用户-角色

  • id, ID
  • user_id, 用户ID
  • role_id, 角色ID
  • create_time, 创建时间
  • update_time, 更新时间
  • Is_deleted, 删除标记(0:不可用,1:可用)

role_permission 角色-权限

  • id, ID
  • role_id, 角色ID
  • perimission_id, 权限ID
  • create_time, 创建时间
  • update_time, 更新时间
  • Is_deleted, 删除标记(0:不可用,1:可用)

address 收货地址

  • id, ID
  • user_id, 用户ID
  • name, 姓名
  • phone, 手机号
  • address, 地址
  • province, 省份
  • city, 城市
  • district, 区域
  • detailAddress, 详细地址
  • postcode, 邮编
  • longitude, 经度
  • latitude, 纬度
  • is_default, 是否为默认地址
  • create_date, 创建日期
  • update_date, 修改日期

库房相关

ware 分区中心库房

(regional_center_warehouse)

  • id, ID
  • name, 名称
  • description, 描述
  • address, 地址
  • max_capacity, 最大容量
  • capacity, 当前容量

substation 分站库房

  • id, ID
  • description, 描述
  • name, 名称
  • address, 地址

分站库房-配送员

  • 分站ID
  • 用户ID
  • 日期

分区中心库房-商品

  • 分区中心库房ID
  • 商品ID
  • 库存数量
  • 补货阈值

商品相关

commodity 商品

  • id, ID
  • supplier_id, 供货商ID
  • name, 名称
  • description, 详情
  • unit, 单位
  • price, 价格/单位

supplier 供货商

  • name, 名称、
  • address, 地址、
  • liaison, 联系人、
  • phone, 联系电话、
  • bank, 开户行、
  • account, 银行帐号、
  • fax, 传真、
  • postcode, 邮编、
  • legal_person, 法人、
  • notes, 备注

信息流相关

  • order 订单
  • Invoice 发票
  • receipt 签收单
  • check order 分发/验货单(仓库->物流公司、分站)
  • storage order 出/入库单
  • Purchase order 购货单(供应商->仓库)
  • transfer order 调拨单(仓库->分站)
  • delivery order 配送任务单(配送->用户)

订单

  • ID,订单号
  • 订购人ID,外键用户ID
  • 收货人姓名
  • 收货人地址
  • 收货人手机号
  • 商品ID
  • 商品数量
  • 计量单位
  • 订单类型
  • 订单状态
  • 发票ID
  • 日期

发票

  • ID,发票号、
  • 批次、
  • 订单ID、
  • 金额(一个订单、一张发票)、
  • 使用人姓名(即投递员)、
  • 日期(录入日期)

验货单(与分发单内容相同,需要改名)DistributionBill改名为checkOrder

  • ID
  • 分站库房ID
  • 出库时间
  • 商品ID
  • 商品数量
  • 计量单位
  • 。。。

配送任务单

  • ID
  • 分站ID
  • 配送员ID
  • 收货人姓名
  • 收货人地址
  • 收货人手机号
  • 任务类型(送货收款、送货、收款、换货、退货)
  • 商品ID
  • 商品数量
  • 计量单位

调拨单 Transfer Order

  • ID,调拨单号、
  • 出库中心库房ID、
  • 入库分站库房ID、
  • 商品ID、
  • 商品数量、
  • 状态(1未出库、2已出库、3已入库)
  • 计划出库时间、
  • 实际出库时间
  • 计划入库时间、
  • 实际入库时间
  • 订单ID、
  • 任务单ID
  • 等信息

购货单

  • ID,购货单号、
  • ware_id, 区域中心库房ID
  • sku_id, 商品代码、
  • 商品名称、
  • 计量单位、
  • 入库数量、
  • 日期

入/出库单 storage order

  • ID、单号
  • 区域中心库房ID、
  • 关联单号(购货单/调拨单)
  • 商品ID、
  • 商品名称、
  • 数量、
  • 计量单位、
  • 时间、
  • 类型(出/入)
  • 备注

签收单 receipt

  • ID,签收单号、
  • 任务号、
  • 客户姓名、
  • 联系电话、
  • 邮编、
  • 送货地址、
  • 送货日期、
  • 送货要求、
  • 送货分站、
  • 分站地址、
  • 分站电话、
  • 是否要发票、
  • 商品名称、
  • 单价、
  • 商品数量、
  • 商品总价、
  • 任务类型、
  • 备注、
  • 客户反馈、
  • 客户签名

缺货单(暂时取消)

  • id, ID
  • regional_id, 区域中心库房ID
  • commodity_id, 商品代码、
  • amount, 商品数量、
  • unit, 计量单位、
  • create_date, 生成日期

任务单(取消,其实就是配送任务单)

  • 任务号、
  • 客户姓名、
  • 投递地址、
  • 商品名称、
  • 商品数量、
  • 要求完成日期、
  • 任务类型、
  • 任务状态。

说明:

任务类型:收款、送货收款、送货、退货、换货
任务状态:可调度、可分配、已分配、已领货、完成、失败等(详细的请参见任务状态转化表)
失败状态,做“退货”处理
任务号:可通过链接查询任务信息

根据“要求完成日期”、“任务类型”、“任务状态”、“选择分站”查询符合条件的任务单。结果包含以下内容:

订单号、任务单、客户姓名、投递地址、商品名称、商品数量、要求完成日期、任务类型、任务状态。

说明:

  • 任务类型:收款、送货收款、送货、退货、换货
  • 任务状态:已调度、可分配、已分配、已领货、完成、失败(参见任务状态转化表)
  • 任务单:可通过链接查询任务信息
  • 订单号:可通过链接查询订单信息

回执任务单

若任务为送货收款,回执内容包含如下:

任务单号、姓名、联系电话、任务分站、任务类型、送货地址、配送员、商品名称、单价、商品数量、总额、任务状态、发票号、客户满意度、备注

说明:

任务状态:任务实际的完成状态,包括:完成、部分完成、失败。

若任务是换货、送货,回执内容包含如下:

任务单号、姓名、联系电话、任务分站、任务类型、送货地址、商品名称、商品数量、任务状态、客户满意度、备注

若任务是退货、退款,回执内容包含如下:

任务单号、姓名、联系电话、任务分站、任务类型、退货地址、退货商品名称、退货数量、原销售价、任务状态、退货金额、客户满意度、备注

分库设计

acl

admin(id, username, password, name, phone, ware_id, create_time, update_time, is_deleted)

role(id, role_name, role_code, remark, create_time, update_time, is_deleted)

permission(id, pid, name, name, to_code, type, status, create_time, update_time, is_deleted)

admin_role(id, role_id, admin_id, remark, create_time, update_time, is_deleted)

role_permission(id, role_id, permission_id, create_time, update_time, is_deleted)

admin_login_log(id, admin_id, ip, address, user_agent, create_time, update_time, is_deleted)

user

user(id, username, password, user_type, photo_url, nick_name, id_no, gender, phone, remark, open_id, union_id, is_new, create_time, update_time, is_deleted)

address(id, user_id, is_default, receiver_name, receiver_phone, receiver_post_code, receiver_province, receiver_city, receiver_district, receiver_adress, create_time, update_time, is_deleted)

courier_info(id, user_id, station_id, name, phone, id_no, id_no_url1, id_no_url2, create_time, update_time, is_deleted)

logistics(id, ware_id, name, phone, create_time, update_time, is_deleted)

user_login_log(id, user_id, ip, address, user_agent, create_time, update_time, is_deleted)

invoice(id, user_id, courier_id, order_id, total_amount, create_time, update_time, is_deleted)

  1. admin(id, username, password, name, phone, ware_id, create_time, update_time, is_deleted)
  2. role(id, role_name, role_code, remark, create_time, update_time, is_deleted)
  3. permission(id, pid, name, name, to_code, type, status, create_time, update_time, is_deleted)
  4. admin_role(id, role_id, admin_id, remark, create_time, update_time, is_deleted)
  5. role_permission(id, role_id, permission_id, create_time, update_time, is_deleted)
  6. admin_login_log(id, admin_id, ip, address, user_agent, create_time, update_time, is_deleted)
  7. user(id, username, password, user_type, photo_url, nick_name, id_no, gender, phone, remark, open_id, union_id, is_new, create_time, update_time, is_deleted)
  8. address(id, user_id, is_default, receiver_name, receiver_phone, receiver_post_code, receiver_province, receiver_city, receiver_district, receiver_adress, create_time, update_time, is_deleted)
  9. courier_info(id, user_id, station_id, name, phone, id_no, id_no_url1, id_no_url2, create_time, update_time, is_deleted)
  10. logistics(id, ware_id, name, phone, create_time, update_time, is_deleted)
  11. user_login_log(id, user_id, ip, address, user_agent, create_time, update_time, is_deleted)