技师端

接单

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

涉及表和关键列:

后台逻辑:

  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: 开启
撤离

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

后台逻辑:

  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. 创建订单历史数据
- 订单编号
- 角色为用户
- 角色编号为用户编号
- 历史状态为支付
- 指定技师

结束

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

退款

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

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

技师端

用户端