关键代码示例:
/** @var MemberUser $user */
// 获取当前登录用户
$user = Auth::user(); // 返回 MemberUser 实例
// 获取用户关联的技师信息
$coach = $user->coach; // 返回 CoachUser 实例
// 常见的验证模式
abort_if(!$user->coach, 404, '技师信息不存在');
主要模型关系:
验证流程:
/**
* 技师认证状态验证
*
* @param MemberUser $user 当前登录用户
* @throws BusinessException 认证未通过时抛出异常
*/
private function validateTechnicianAuth(MemberUser $user): void
{
// 验证技师是否存在
abort_if(!$user->coach, 404, '技师信息不存在');
$coach = $user->coach;
// 基础信息认证验证
if (!$coach->isBaseInfoVerified()) {
throw new BusinessException('请先完成基础信息认证');
}
// 实名认证验证
if (!$coach->isRealNameVerified()) {
throw new BusinessException('请先完成实名认证');
}
// 资质认证验证
if (!$coach->isQualificationVerified()) {
throw new BusinessException('请先完成资质认证');
}
// 其他必要认证验证...
}
验证规则:
TechnicianStatus: 技师状态
TechnicianAuthStatus: 认证状态
TechnicianWorkStatus: 工作状态
TechnicianLocationType: 位置类型
OrderStatus: 订单状态
OrderType: 订单类型
OrderRecordStatus: 订单记录状态