getModel()::with('coach')->findOrFail($id); $coach = $record->coach; // 检查技师信息和认证状态 abort_if(!$coach, 400, '技师信息不存在'); abort_if( (int)$record->state !== TechnicianAuthStatus::AUDITING->value, 400, '该申请已审核' ); // 更新认证记录 $record->state = $state; $record->audit_remark = $remark; $record->auditor = $adminId; $record->audit_time = now(); $record->save(); // 审核通过时的处理 if ($state === TechnicianAuthStatus::PASSED->value) { $updateData = ['info_record_id' => $record->id]; // 首次申请通过时,激活技师状态 if (!$coach->info_record_id) { $updateData['state'] = TechnicianStatus::ACTIVE->value; } // 更新技师信息 $coach->update($updateData); } return true; }); } }