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.

53 lines
1.7 KiB

11 months ago
<?php
namespace App\Models;
class VisitAudit extends SoftDeletesModel
{
11 months ago
protected $guarded = ['id'];
11 months ago
public function visit()
{
11 months ago
return $this->hasOne(Visit::class, 'id', 'visit_id');
11 months ago
}
public function auditAdmin()
{
11 months ago
return $this->hasOne(Admin::class, 'id', 'audit_admin_id');
11 months ago
}
/**
11 months ago
* 短信通知下一个审核人
11 months ago
*/
11 months ago
public static function smsNextAudit($visit, $nowVisitAuditLevel = -1)
11 months ago
{
11 months ago
// 通知下一个审核人
$mobile = Admin::where(function ($query) use ($visit, $nowVisitAuditLevel) {
if ($nowVisitAuditLevel == -1) {
// 通知第一个审核人
$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');
11 months ago
}
11 months ago
$query->where('id', $adminId);
})->value('mobile');
if (empty($mobile)) {
return false;
11 months ago
}
11 months ago
$vars = ['date' => $visit->date, 'name' => $visit->name, 'phone_number' => $visit->mobile];
11 months ago
if ($nowVisitAuditLevel == -1) {
11 months ago
$template_id = 'uAQaB4';
11 months ago
} else {
11 months ago
$uname = Admin::where('id', $visit->accept_admin_id)->value('name');
$vars = ['date' => $visit->date, 'name' => $visit->name, 'phone_number' => $visit->mobile, 'uname' => $uname];
$template_id = 'QXPs33';
11 months ago
}
11 months ago
sms($mobile, $vars, $template_id);
11 months ago
return true;
}
11 months ago
11 months ago
}