hasOne(Visit::class, 'id', 'visit_id'); } public function auditAdmin() { return $this->hasOne(Admin::class, 'id', 'audit_admin_id'); } /** * 短信通知下一个审核人 */ public static function smsNextAudit($visit, $nowVisitAuditLevel = -1) { // 通知下一个审核人 $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'); } $query->where('id', $adminId); })->value('mobile'); if (empty($mobile)) { return false; } $vars = ['date' => $visit->date, 'name' => $visit->name, 'phone_number' => $visit->mobile]; if ($nowVisitAuditLevel == -1) { $template_id = 'uAQaB4'; } else { $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'; } sms($mobile, $vars, $template_id); return true; } }