master
lion 2 weeks ago
parent 8849ea65e6
commit 281d576650

@ -14,9 +14,11 @@ use App\Models\VisitArea;
use App\Models\VisitAudit;
use App\Models\VisitLog;
use App\Models\VisitTime;
use App\Mail\VisitReservationSubmittedToHost;
use Illuminate\Support\Carbon;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Mail;
use Illuminate\Support\Facades\Validator;
class VisitController extends CommonController
@ -121,6 +123,7 @@ class VisitController extends CommonController
}
DB::beginTransaction();
try {
$isNewVisit = !isset($all['id']);
if (isset($all['id'])) {
$model = Visit::find($all['id']);
} else {
@ -195,6 +198,24 @@ class VisitController extends CommonController
$vars = ['date' => $all['date'], 'name' => $all['name'], 'uname' => ($acceptAdmin->name ?? '')];
$template_id = 'QXPs33';
sms($acceptAdmin->mobile, $vars, $template_id);
if ($isNewVisit) {
$hostEmail = trim((string)($acceptAdmin->email ?? ''));
if ($hostEmail !== '') {
try {
Mail::to($hostEmail)->send(new VisitReservationSubmittedToHost(
(string)$all['date'],
(string)$all['name'],
(string)($acceptAdmin->name ?? '')
));
} catch (\Throwable $e) {
Log::warning('visit reservation email to host failed', [
'visit_id' => $model->id,
'email' => $hostEmail,
'message' => $e->getMessage(),
]);
}
}
}
// 短信通知第一个审核人
VisitAudit::smsNextAudit($model, -1);
DB::commit();

@ -0,0 +1,36 @@
<?php
namespace App\Mail;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
/**
* 访客提交预约时通知被访人,字段与 Submail 模板 QXPs33 的 vars 一致date、name访客、uname被访人.
*/
class VisitReservationSubmittedToHost extends Mailable
{
use SerializesModels;
/** @var string 到访日期,对应短信 vars.date */
public $visitDate;
/** @var string 访客姓名,对应短信 vars.name */
public $visitorName;
/** @var string 被访人姓名,对应短信 vars.uname */
public $hostName;
public function __construct(string $visitDate, string $visitorName, string $hostName)
{
$this->visitDate = $visitDate;
$this->visitorName = $visitorName;
$this->hostName = $hostName;
}
public function build()
{
return $this->subject('访客预约通知')
->view('mail.visit-reservation-submitted-to-host');
}
}

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
</head>
<body style="font-family: sans-serif; line-height: 1.6; color: #333;">
<p>{{ $hostName }} 您好,</p>
<p>访客 <strong>{{ $visitorName }}</strong> 已提交预约,到访日期:<strong>{{ $visitDate }}</strong></p>
</body>
</html>
Loading…
Cancel
Save