create([ 'name' => '被访管理员', 'email' => '648753004@qq.com', ]); // 创建审核管理员 $auditAdmin = Admin::factory()->create([ 'name' => '审核管理员', 'email' => '648753004@qq.com', // 同一个邮箱用于测试 ]); // 创建访客 $visitor = User::factory()->create([ 'nickname' => '测试访客', 'mobile' => '13800138000', 'email' => 'visitor@example.com', ]); echo "\n🚀 开始测试完整的邮件流程...\n"; // 1. 测试预约拜访邮件通知 echo "\n📧 步骤1: 发送预约拜访邮件通知\n"; $visitData = [ 'name' => '测试访客', 'date' => '2024-01-15', 'mobile' => '13800138000', 'reason' => '业务洽谈', ]; try { $acceptAdmin->notify(new VisitEmailNotify($visitData)); echo " ✅ 预约拜访邮件发送成功\n"; } catch (\Exception $e) { echo " ❌ 预约拜访邮件发送失败: " . $e->getMessage() . "\n"; } // 2. 测试审核邮件通知(第一个审核人) echo "\n📧 步骤2: 发送审核邮件通知(第一个审核人)\n"; $auditData = [ 'name' => '测试访客', 'date' => '2024-01-15', 'mobile' => '13800138000', 'reason' => '业务洽谈', ]; try { $auditAdmin->notify(new AuditEmailNotify($auditData, true)); // true表示第一个审核人 echo " ✅ 第一个审核人邮件发送成功\n"; } catch (\Exception $e) { echo " ❌ 第一个审核人邮件发送失败: " . $e->getMessage() . "\n"; } // 3. 测试审核邮件通知(后续审核人) echo "\n📧 步骤3: 发送审核邮件通知(后续审核人)\n"; $auditDataWithPrevious = [ 'name' => '测试访客', 'date' => '2024-01-15', 'mobile' => '13800138000', 'reason' => '业务洽谈', 'previous_admin' => '被访管理员', ]; try { $auditAdmin->notify(new AuditEmailNotify($auditDataWithPrevious, false)); // false表示后续审核人 echo " ✅ 后续审核人邮件发送成功\n"; } catch (\Exception $e) { echo " ❌ 后续审核人邮件发送失败: " . $e->getMessage() . "\n"; } echo "\n📊 邮件发送总结:\n"; echo " 📧 目标邮箱: 648753004@qq.com\n"; echo " 📝 邮件类型: 预约通知 + 审核通知\n"; echo " ✅ 所有邮件发送完成\n"; $this->assertTrue(true, '完整邮件流程测试完成'); } }