Merge branch 'master' of ssh://47.101.48.251:/data/git/visitor

master
lion 7 months ago
commit e4783b6177

@ -67,13 +67,18 @@ class VisitController extends CommonController
$messages = [ $messages = [
'name.required' => '名称必填', 'name.required' => '名称必填',
'visit_area_id.required' => '区域id必填', 'visit_area_id.required' => '区域id必填',
'accept_admin_id.required' => '接待人必填' 'accept_admin_id.required' => '接待人必填',
'accompany_id.required' => '陪同人必填',
'date.required' => '到访日期必填',
'mobile.required' => '电话必填',
]; ];
$validator = Validator::make($all, [ $validator = Validator::make($all, [
'name' => 'required', 'name' => 'required',
'visit_area_id' => 'required', 'visit_area_id' => 'required',
'accept_admin_id' => 'required', 'accept_admin_id' => 'required',
'accompany_id' => 'required' 'accompany_id' => 'required',
'date' => 'required',
'mobile' => 'required',
], $messages); ], $messages);
if ($validator->fails()) { if ($validator->fails()) {
return $this->fail([ResponseCode::ERROR_PARAMETER, implode('', $validator->errors()->all())]); return $this->fail([ResponseCode::ERROR_PARAMETER, implode('', $validator->errors()->all())]);
@ -136,6 +141,12 @@ class VisitController extends CommonController
} }
VisitLog::add('', $this->getUser(), $model->id, isset($all['id']) ? '更新拜访记录' : '新增拜访记录'); VisitLog::add('', $this->getUser(), $model->id, isset($all['id']) ? '更新拜访记录' : '新增拜访记录');
DB::commit(); DB::commit();
// 短信通知被访人
$vars = ['date' => $all['date'], 'name' => $all['name']];
$template_id = 'Sjwgv1';
// 被访人信息
$acceptAdmin = Admin::find($all['accept_admin_id']);
sms($acceptAdmin->mobile, $vars, $template_id);
// 邮件通知第一个审核人 // 邮件通知第一个审核人
VisitAudit::emailNextAudit($model, -1); VisitAudit::emailNextAudit($model, -1);
} }

@ -50,21 +50,29 @@ class AuditEmailNotify extends Notification
if ($this->isFirstAudit) { if ($this->isFirstAudit) {
// 第一个审核人的邮件 // 第一个审核人的邮件
return (new MailMessage) return (new MailMessage)
->from(config('mail.from.address'), 'Getinge Suzhou HR')
->subject('新的拜访审核通知 - ' . $visitData['name']) ->subject('新的拜访审核通知 - ' . $visitData['name'])
->greeting('您好 ' . $notifiable->name . '') ->greeting('您好 ' . $notifiable->name . '')
->line('您有一个新的拜访申请需要审核,访客 ' . $visitData['name'] . ' 预约于 ' . $visitData['date'] . ' 到访。') ->line('您有一个新的拜访申请需要审核,访客 ' . $visitData['name'] . ' 预约于 ' . $visitData['date'] . ' 到访。')
->line('访客联系电话:' . $visitData['mobile']) ->line('访客联系电话:' . $visitData['mobile'])
->line('拜访事由:' . ($visitData['reason'] ?? '无')) ->line('拜访事由:' . ($visitData['reason'] ?? '无'))
->line('请及时审核此拜访申请。'); ->line('请及时审核此拜访申请。')
->salutation('')
->line('Regards')
->line('Getinge Suzhou HR');
} else { } else {
// 后续审核人的邮件 // 后续审核人的邮件
return (new MailMessage) return (new MailMessage)
->from(config('mail.from.address'), 'Getinge Suzhou HR')
->subject('拜访审核流转通知 - ' . $visitData['name']) ->subject('拜访审核流转通知 - ' . $visitData['name'])
->greeting('您好 ' . $notifiable->name . '') ->greeting('您好 ' . $notifiable->name . '')
->line('拜访申请 ' . $visitData['name'] . ' 预约于 ' . $visitData['date'] . ' 的审核已流转到您这里,上一级审核人:' . ($visitData['previous_admin'] ?? '') . '。') ->line('拜访申请 ' . $visitData['name'] . ' 预约于 ' . $visitData['date'] . ' 的审核已流转到您这里,上一级审核人:' . ($visitData['previous_admin'] ?? '') . '。')
->line('访客联系电话:' . $visitData['mobile']) ->line('访客联系电话:' . $visitData['mobile'])
->line('拜访事由:' . ($visitData['reason'] ?? '无')) ->line('拜访事由:' . ($visitData['reason'] ?? '无'))
->line('请及时处理此审核流转。'); ->line('请及时处理此审核流转。')
->salutation('')
->line('Regards')
->line('Getinge Suzhou HR');
} }
} }
} }

@ -51,22 +51,30 @@ class AuditResultEmailNotify extends Notification
if ($auditResult === '通过') { if ($auditResult === '通过') {
// 审核通过的邮件 // 审核通过的邮件
return (new MailMessage) return (new MailMessage)
->from(config('mail.from.address'), 'Getinge Suzhou HR')
->subject('拜访申请审核通过通知 - ' . $visitData['name']) ->subject('拜访申请审核通过通知 - ' . $visitData['name'])
->greeting('您好 ' . $visitData['visitor_name'] . '') ->greeting('您好 ' . $visitData['visitor_name'] . '')
->line('您的拜访申请已审核通过,预约于 ' . $visitData['date'] . ' 到访。') ->line('您的拜访申请已审核通过,预约于 ' . $visitData['date'] . ' 到访。')
->line('被访人:' . $visitData['accept_admin_name']) ->line('被访人:' . $visitData['accept_admin_name'])
->line('公司名称:' . $visitData['company_name']) ->line('公司名称:' . $visitData['company_name'])
->line('请按时到访,如有疑问请联系被访人。'); ->line('请按时到访,如有疑问请联系被访人。')
->salutation('')
->line('Regards')
->line('Getinge Suzhou HR');
} else { } else {
// 审核驳回的邮件 // 审核驳回的邮件
return (new MailMessage) return (new MailMessage)
->from(config('mail.from.address'), 'Getinge Suzhou HR')
->subject('拜访申请审核驳回通知 - ' . $visitData['name']) ->subject('拜访申请审核驳回通知 - ' . $visitData['name'])
->greeting('您好 ' . $visitData['visitor_name'] . '') ->greeting('您好 ' . $visitData['visitor_name'] . '')
->line('很抱歉,您的拜访申请未通过审核。') ->line('很抱歉,您的拜访申请未通过审核。')
->line('预约日期:' . $visitData['date']) ->line('预约日期:' . $visitData['date'])
->line('被访人:' . $visitData['accept_admin_name']) ->line('被访人:' . $visitData['accept_admin_name'])
->line('公司名称:' . $visitData['company_name']) ->line('公司名称:' . $visitData['company_name'])
->line('如有疑问,请联系被访人或重新提交申请。'); ->line('如有疑问,请联系被访人或重新提交申请。')
->salutation('')
->line('Regards')
->line('Getinge Suzhou HR');
} }
} }
} }

@ -45,12 +45,16 @@ class CancelEmailNotify extends Notification
$visitData = $this->visitData; $visitData = $this->visitData;
return (new MailMessage) return (new MailMessage)
->from(config('mail.from.address'), 'Getinge Suzhou HR')
->subject('拜访预约取消通知 - ' . $visitData['name']) ->subject('拜访预约取消通知 - ' . $visitData['name'])
->greeting('您好 ' . $notifiable->name . '') ->greeting('您好 ' . $notifiable->name . '')
->line('访客 ' . $visitData['name'] . ' 原预约于 ' . $visitData['date'] . ' 的拜访已取消。') ->line('访客 ' . $visitData['name'] . ' 原预约于 ' . $visitData['date'] . ' 的拜访已取消。')
->line('访客联系电话:' . $visitData['mobile']) ->line('访客联系电话:' . $visitData['mobile'])
->line('拜访事由:' . ($visitData['reason'] ?? '无')) ->line('拜访事由:' . ($visitData['reason'] ?? '无'))
->line('如有疑问,请联系访客确认。'); ->line('如有疑问,请联系访客确认。')
->salutation('')
->line('Regards')
->line('Getinge Suzhou HR');
} }
} }

@ -44,8 +44,12 @@ class EmailNotify extends Notification
public function toMail($notifiable) public function toMail($notifiable)
{ {
return (new MailMessage) return (new MailMessage)
->from(config('mail.from.address'), 'Getinge Suzhou HR')
->subject($notifiable->title) ->subject($notifiable->title)
->line($notifiable->content); ->line($notifiable->content)
->salutation('')
->line('Regards')
->line('Getinge Suzhou HR');
} }
/** /**

@ -45,11 +45,15 @@ class VisitEmailNotify extends Notification
$visitData = $this->visitData; $visitData = $this->visitData;
return (new MailMessage) return (new MailMessage)
->from(config('mail.from.address'), 'Getinge Suzhou HR')
->subject('新的拜访预约通知 - ' . $visitData['name']) ->subject('新的拜访预约通知 - ' . $visitData['name'])
->greeting('您好 ' . $notifiable->name . '') ->greeting('您好 ' . $notifiable->name . '')
->line('您有一个新的拜访预约,访客 ' . $visitData['name'] . ' 预约于 ' . $visitData['date'] . ' 到访。') ->line('您有一个新的拜访预约,访客 ' . $visitData['name'] . ' 预约于 ' . $visitData['date'] . ' 到访。')
->line('访客联系电话:' . $visitData['mobile']) ->line('访客联系电话:' . $visitData['mobile'])
->line('拜访事由:' . ($visitData['reason'] ?? '无')) ->line('拜访事由:' . ($visitData['reason'] ?? '无'))
->line('请及时处理此拜访预约。'); ->line('请及时处理此拜访预约。')
->salutation('')
->line('Regards')
->line('Getinge Suzhou HR');
} }
} }

@ -0,0 +1,55 @@
<x-mail::message>
{{-- Greeting --}}
@if (! empty($greeting))
# {{ $greeting }}
@else
@if ($level === 'error')
# @lang('Whoops!')
@else
# @lang('Hello!')
@endif
@endif
{{-- Intro Lines --}}
@foreach ($introLines as $line)
{{ $line }}
@endforeach
{{-- Action Button --}}
@isset($actionText)
<?php
$color = match ($level) {
'success', 'error' => $level,
default => 'primary',
};
?>
<x-mail::button :url="$actionUrl" :color="$color">
{{ $actionText }}
</x-mail::button>
@endisset
{{-- Outro Lines --}}
@foreach ($outroLines as $line)
{{ $line }}
@endforeach
{{-- Salutation --}}
@if (! empty($salutation))
{{ $salutation }}
@endif
{{-- Subcopy --}}
@isset($actionText)
<x-slot:subcopy>
@lang(
"If you're having trouble clicking the \":actionText\" button, copy and paste the URL below\n".
'into your web browser:',
[
'actionText' => $actionText,
]
) <span class="break-all">[{{ $displayableActionUrl }}]({{ $actionUrl }})</span>
</x-slot:subcopy>
@endisset
</x-mail::message>
Loading…
Cancel
Save