订单记录.md 8.9 KB


html:

embed_local_images: false
embed_svg: true
offline: false
toc: true

print_background: false export_on_save:

html: true

技师端

接单

参数: - user_id, order_id - user_id 通过 Auth::id() 获取 - order_id 通过路由获取

涉及表和关键列:

  • 订单表:orders

    • 字段:id, user_id, 核销码, status
    • 订单编号字段:id
    • 核销码字段:核销码
    • 用户编号字段:user_id
    • 订单状态字段:status
      • 1: 待接单
      • 2: 待服务
      • 3: 服务中
      • 4: 待评价
      • 5: 已完成
      • 6: 已取消
  • 技师表:coach

    • 字段:id, is_auth,status
    • 技师编号字段:id
    • 技师认证状态字段:is_auth
      • 0: 未认证
      • 1: 已认证
    • 技师状态字段:status
      • 0: 禁用
      • 1: 开启
  • 订单服务日志:order_service_log

    • 字段:id, order_id, role,role_id,IMAGE_PATH,remark,service_status, status
    • 订单编号字段:order_id
    • 技师编号字段:coach_id
    • 图片字段:IMAGE_PATH
    • 服务状态字段:service_status
      • 1: 下单
      • 2: 支付
      • 3: 接单
      • 4: 出发
      • 5: 到达
      • 6: 服务
      • 7: 结束
      • 8: 撤离
    • 日志状态字段:status
      • 0: 禁用
      • 1: 开启

后台逻辑:

  1. 参数校验
    • 查询用户编号的技师角色
    • 查询订单编号
  2. 验证订单
    • 订单状态:待接单
    • 订单技师:当前技师
  3. 验证当前技师角色
    • 认证状态:已认证
    • 状态:开启
  4. 创建订单服务日志
    • 订单编号为当前订单编号
    • 角色为技师角色
    • 角色编号为当前技师编号
    • 经纬度为当前技师经纬度
    • 服务状态为 3: 接单
    • 日志状态为 1: 开启
出发

后台逻辑:

  1. 参数校验
    • 查询用户编号的技师角色
    • 查询订单编号
  2. 验证订单
    • 订单状态:待服务
    • 订单技师:当前技师
  3. 验证当前技师角色
    • 认证状态:已认证
    • 状态:开启
  4. 创建订单服务日志
    • 订单编号为当前订单编号
    • 角色为技师角色
    • 角色编号为当前技师编号
    • 经纬度为当前技师经纬度
    • 服务状态为 3: 出发
    • 日志状态为 1: 开启
到达

后台逻辑:

  1. 参数校验
    • 查询用户编号的技师角色
    • 查询订单编号
  2. 验证订单
    • 订单技师:当前技师
    • 订单状态:待服务
  3. 验证当前技师角色
    • 认证状态:已认证
    • 状态:开启
  4. 创建订单服务日志
    • 订单编号为当前订单编号
    • 角色为技师角色
    • 角色编号为当前技师编号
    • 经纬度为当前技师经纬度
    • JSON 格式记录图片
    • 服务状态为 3: 到达
    • 日志状态为 1: 开启
服务

参数: - 用户编号, 订单编号 - 用户编号 通过 Auth::id() 获取 - 订单编号 通过路由获取 后台逻辑:

  1. 参数校验
    • 查询用户技师数据
    • 查询订单
  2. 验证订单
    • 订单指派技师:当前技师
    • 订单状态:待服务
  3. 验证当前技师角色
    • 认证状态:已认证
    • 状态:开启
  4. 创建订单服务日志
    • 订单编号为当前订单编号
    • 角色为技师角色
    • 角色编号为当前技师编号
    • 经纬度为当前技师经纬度
    • 服务状态为 6: 服务
    • 日志状态为 1: 开启
撤离
  1. 参数:

    • user_id, order_id
    • user_id 通过 Auth::id() 获取
    • order_id 通过路由获取
  2. 后台逻辑:

    1. 参数校验
      • 查询用户编号的技师数据
      • 查询订单
    2. 验证订单
      • 订单技师:当前技师
      • 订单状态:待评价或已完成
    3. 验证当前技师角色
      • 认证状态:已认证
      • 状态:开启
    4. 验证用户是否允许撤离
      • 根据订单编号,查询订单服务日志
        • 订单用户编号
        • 服务状态为 8: 撤离
      • 否则,提示技师无法撤离,需用户同意
    5. 开启事务

      • 创建订单服务日志
        • 订单编号为当前订单编号
        • 角色为技师角色
        • 角色编号为当前技师编号
        • 经纬度为当前技师经纬度
        • 服务状态为 8: 撤离
        • 日志状态为 1: 开启
      • 进行 分帐
    6. 提交事务

拒单

参数: - 用户编号, 订单编号 - 用户编号 通过 Auth::id() 获取 - 订单编号 通过路由获取

后台逻辑: 1. 参数校验 - 查询用户技师数据 2. 查询订单 - 匹配技师编号 - 匹配订单编号 - 订单状态为拒单 3. 创建订单历史数据 - 订单编号 - 角色为技师 - 角色编号为技师编号 - 历史状态为拒单

用户端

下单

参数: - 用户编号, 订单编号 - 用户编号 通过 Auth::id() 获取 - 订单编号 通过路由获取

后台逻辑: 1. 参数校验 2. 查询订单 - 匹配用户编号 - 匹配订单编号 - 订单状态为待支付 3. 创建订单历史数据 - 订单编号 - 角色为用户 - 角色编号为用户编号 - 历史状态为下单 - 如果订单类型为常规订单 - 指定技师

指派

参数: - 用户编号, 订单编号 - 用户编号 通过 Auth::id() 获取 - 订单编号 通过路由获取

后台逻辑: 1. 参数校验 2. 查询订单 - 匹配用户编号 - 匹配订单编号 - 订单状态为待支付 3. 创建订单历史数据 - 订单编号 - 角色为用户 - 角色编号为用户编号 - 历史状态为指派 - 指定技师为订单指派技师

支付

参数: - 用户编号, 订单编号 - 用户编号 通过 Auth::id() 获取 - 订单编号 通过路由获取 后台逻辑: 1. 参数校验 2. 查询订单 - 匹配用户编号 - 匹配订单编号 - 订单状态为待服务 3. 创建订单历史数据 - 订单编号 - 角色为用户 - 角色编号为用户编号 - 历史状态为支付 - 指定技师

结束
  1. 参数:
    • 用户编号, 订单编号
    • 用户编号 通过 Auth::id() 获取
    • 订单编号 通过路由获取
  2. 后台逻辑:
    1. 参数校验
    2. 查询订单
      • 匹配用户编号
      • 匹配订单编号
      • 订单状态为服务中
    3. 创建订单历史数据
      • 订单编号
      • 角色为用户
      • 角色编号为用户编号
      • 历史状态为结束
      • 指定技师
退款

参数: - 用户编号, 订单编号 - 用户编号 通过 Auth::id() 获取 - 订单编号 通过路由获取

后台逻辑: 1. 参数校验 2. 查询订单 - 匹配用户编号 - 匹配订单编号 - 订单状态为待服务或待接单 3. 创建订单历史数据 - 订单编号 - 角色为用户 - 角色编号为用户编号 - 历史状态为退款 - 指定技师

取消
  1. 参数:
    • user_id, order_id
    • user_id 通过 Auth::id() 获取
    • order_id 通过路由获取
  2. 涉及表和关键列:
  • 订单表:orders

    • 字段:id, user_id, 核销码, status
    • 订单编号字段:id
    • 核销码字段:核销码
    • 用户编号字段:user_id
    • 订单状态字段:status
      • 1: 待接单
      • 2: 待服务
      • 3: 服务中
      • 4: 待评价
      • 5: 已完成
      • 6: 已取消
  1. 后台逻辑:
    1. 参数校验
    2. 查询订单
      • 匹配用户编号
      • 匹配订单编号
      • 订单状态为待服务
        • 退还支付金额到用户钱包
          • 记录钱包记录
        • 退还余额支付金额
          • 记录钱包记录
      • 订单状态
        • 已接单,扣除支付金额加余额支付金额减路费的 20%,不扣路费
        • 已出发,扣除支付金额加余额支付金额减路费的 50%,扣路费
        • 其他状态不允许取消
        • 平台收入
        • 记录平台收入记录
        • 记录平台钱包记录
        • 扣除金额小于余额支付金额,则从余额支付金额减掉扣除金额,剩下的退还
          • 记录钱包退款记录
          • 记录钱包交易记录
        • 如果余额支付金额不够扣,剩下的金额从支付金额中扣除,并将支付金额剩余金额退还到用户钱包
          • 记录钱包退款记录
          • 记录钱包交易记录
      • 修改订单状态为已取消
    3. 创建订单取消记录
      • 订单编号为当前订单编号
      • 对象类型为用户
      • 对象编号为当前用户编号
      • 状态为取消
      • 备注为用户取消订单