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
- 技师状态字段:status
订单服务日志: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
后台逻辑:
- 参数校验
- 验证订单
- 验证当前技师角色
- 创建订单服务日志
- 订单编号为当前订单编号
- 角色为技师角色
- 角色编号为当前技师编号
- 经纬度为当前技师经纬度
- 服务状态为 3: 接单
- 日志状态为 1: 开启
出发
后台逻辑:
- 参数校验
- 验证订单
- 验证当前技师角色
- 创建订单服务日志
- 订单编号为当前订单编号
- 角色为技师角色
- 角色编号为当前技师编号
- 经纬度为当前技师经纬度
- 服务状态为 3: 出发
- 日志状态为 1: 开启
到达
后台逻辑:
- 参数校验
- 验证订单
- 验证当前技师角色
- 创建订单服务日志
- 订单编号为当前订单编号
- 角色为技师角色
- 角色编号为当前技师编号
- 经纬度为当前技师经纬度
- JSON 格式记录图片
- 服务状态为 3: 到达
- 日志状态为 1: 开启
服务
参数: - 用户编号, 订单编号 - 用户编号 通过 Auth::id() 获取 - 订单编号 通过路由获取
后台逻辑:
- 参数校验
- 验证订单
- 验证当前技师角色
- 创建订单服务日志
- 订单编号为当前订单编号
- 角色为技师角色
- 角色编号为当前技师编号
- 经纬度为当前技师经纬度
- 服务状态为 6: 服务
- 日志状态为 1: 开启
撤离
参数:
- user_id, order_id
- user_id 通过 Auth::id() 获取
- order_id 通过路由获取
后台逻辑:
- 参数校验
- 验证订单
- 验证当前技师角色
- 验证用户是否允许撤离
- 根据订单编号,查询订单服务日志
- 否则,提示技师无法撤离,需用户同意
开启事务
- 创建订单服务日志
- 订单编号为当前订单编号
- 角色为技师角色
- 角色编号为当前技师编号
- 经纬度为当前技师经纬度
- 服务状态为 8: 撤离
- 日志状态为 1: 开启
- 进行 分帐
提交事务
拒单
参数: - 用户编号, 订单编号 - 用户编号 通过 Auth::id() 获取 - 订单编号 通过路由获取
后台逻辑: 1. 参数校验 - 查询用户技师数据 2. 查询订单 - 匹配技师编号 - 匹配订单编号 - 订单状态为拒单 3. 创建订单历史数据 - 订单编号 - 角色为技师 - 角色编号为技师编号 - 历史状态为拒单
用户端
下单
参数: - 用户编号, 订单编号 - 用户编号 通过 Auth::id() 获取 - 订单编号 通过路由获取
后台逻辑: 1. 参数校验 2. 查询订单 - 匹配用户编号 - 匹配订单编号 - 订单状态为待支付 3. 创建订单历史数据 - 订单编号 - 角色为用户 - 角色编号为用户编号 - 历史状态为下单 - 如果订单类型为常规订单 - 指定技师
指派
参数: - 用户编号, 订单编号 - 用户编号 通过 Auth::id() 获取 - 订单编号 通过路由获取
后台逻辑: 1. 参数校验 2. 查询订单 - 匹配用户编号 - 匹配订单编号 - 订单状态为待支付 3. 创建订单历史数据 - 订单编号 - 角色为用户 - 角色编号为用户编号 - 历史状态为指派 - 指定技师为订单指派技师
支付
参数: - 用户编号, 订单编号 - 用户编号 通过 Auth::id() 获取 - 订单编号 通过路由获取
后台逻辑: 1. 参数校验 2. 查询订单 - 匹配用户编号 - 匹配订单编号 - 订单状态为待服务 3. 创建订单历史数据 - 订单编号 - 角色为用户 - 角色编号为用户编号 - 历史状态为支付 - 指定技师
结束
- 参数:
- 用户编号, 订单编号
- 用户编号 通过 Auth::id() 获取
- 订单编号 通过路由获取
- 后台逻辑:
- 参数校验
- 查询订单
- 创建订单历史数据
- 订单编号
- 角色为用户
- 角色编号为用户编号
- 历史状态为结束
- 指定技师
退款
参数: - 用户编号, 订单编号 - 用户编号 通过 Auth::id() 获取 - 订单编号 通过路由获取
后台逻辑: 1. 参数校验 2. 查询订单 - 匹配用户编号 - 匹配订单编号 - 订单状态为待服务或待接单 3. 创建订单历史数据 - 订单编号 - 角色为用户 - 角色编号为用户编号 - 历史状态为退款 - 指定技师
取消
- 参数:
- 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: 已取消
- 后台逻辑:
- 参数校验
- 查询订单
- 匹配用户编号
- 匹配订单编号
- 订单状态为待服务
- 订单状态
- 已接单,扣除支付金额加余额支付金额减路费的 20%,不扣路费
- 已出发,扣除支付金额加余额支付金额减路费的 50%,扣路费
- 其他状态不允许取消
- 平台收入
- 记录平台收入记录
- 记录平台钱包记录
- 扣除金额小于余额支付金额,则从余额支付金额减掉扣除金额,剩下的退还
- 如果余额支付金额不够扣,剩下的金额从支付金额中扣除,并将支付金额剩余金额退还到用户钱包
- 修改订单状态为已取消
- 创建订单取消记录
- 订单编号为当前订单编号
- 对象类型为用户
- 对象编号为当前用户编号
- 状态为取消
- 备注为用户取消订单