You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.4 KiB
47 lines
1.4 KiB
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
class VisitAudit extends SoftDeletesModel
|
|
{
|
|
protected $guarded = ['id'];
|
|
|
|
public function visit()
|
|
{
|
|
return $this->hasOne(Visit::class, 'id', 'visit_id');
|
|
}
|
|
|
|
public function auditAdmin()
|
|
{
|
|
return $this->hasOne(Admin::class, 'id', 'audit_admin_id');
|
|
}
|
|
|
|
/**
|
|
* 短信通知下一个审核人
|
|
*/
|
|
public static function smsNextAudit($visit, $nowVisitAuditLevel = 0)
|
|
{
|
|
// 通知下一个审核人
|
|
$mobile = Admin::where(function ($query) use ($visit, $nowVisitAuditLevel) {
|
|
if ($nowVisitAuditLevel == 0) {
|
|
// 通知第一个审核人
|
|
$adminId = VisitAudit::where('visit_id', $visit->id)->orderBy('level', 'asc')->value('audit_admin_id');
|
|
} else {
|
|
$adminId = VisitAudit::where('visit_id', $visit->id)
|
|
->where('level', '>', $nowVisitAuditLevel)
|
|
->orderBy('level', 'asc')
|
|
->value('audit_admin_id');
|
|
}
|
|
$query->where('id', $adminId);
|
|
})->value('mobile');
|
|
if (empty($mobile)) {
|
|
return false;
|
|
}
|
|
$vars = ['date' => $visit->date, 'name' => $visit->name, 'phone_number' => $visit->mobile];
|
|
$template_id = 'uAQaB4';
|
|
sms($mobile, $vars, $template_id);
|
|
return true;
|
|
}
|
|
|
|
}
|