diff --git a/app/Http/Controllers/Admin/GateController.php b/app/Http/Controllers/Admin/GateController.php index e71516b..85ca655 100644 --- a/app/Http/Controllers/Admin/GateController.php +++ b/app/Http/Controllers/Admin/GateController.php @@ -128,9 +128,15 @@ class GateController extends CommonController if ($all['type'] == 2) { $remark = '离厂'; } - $gateLog = GateLog::add($all['admin_id'], $all['code'], $all['person_no']??[], $all['car_no']??[], $remark); + $gateLog = GateLog::add($all['admin_id'], $all['code'], $all['person_no'] ?? [], $all['car_no'] ?? [], $remark); if ($all['type'] == 1) { - Visit::where('code', $all['code'])->update(['audit_status' => 3, 'person_no' => $all['person_no']??'', 'car_no' => $all['car_no']??'']); + // 入场 + Visit::where('code', $all['code'])->update(['audit_status' => 3, 'person_no' => $all['person_no'] ?? '', 'car_no' => $all['car_no'] ?? '']); + // 通知被访人 + $vars = ['date' => $check->date, 'name' => $check->name, 'phone_number' => $check->mobile]; + $template_id = 'zPtka4'; + $acceptAdmin = Admin::find($check->accept_admin_id); + sms($acceptAdmin->mobile, $vars, $template_id); } if ($all['type'] == 2) { Visit::where('code', $all['code'])->update(['audit_status' => 4]); diff --git a/app/Http/Controllers/Admin/VisitAuditController.php b/app/Http/Controllers/Admin/VisitAuditController.php index 6051646..500d4ce 100644 --- a/app/Http/Controllers/Admin/VisitAuditController.php +++ b/app/Http/Controllers/Admin/VisitAuditController.php @@ -140,6 +140,10 @@ class VisitAuditController extends CommonController $model->save(); // 获取必要数据 $visit = Visit::find($all['visit_id']); + // 短信通知下一个审核人,如果当前通过的话 + if ($all['status'] == 1) { + VisitAudit::smsNextAudit($visit, $model->level); + } $user = User::find($visit->user_id); $visitTime = VisitTime::find($visit->visit_time_id); $acceptAdmin = Admin::find($visit->accept_admin_id); @@ -165,25 +169,31 @@ class VisitAuditController extends CommonController sms($acceptAdmin->mobile, $vars, $template_id); } } - // 发通知 - $templateData = [ - 'date1' => [ - 'value' => $visit->date - ], - 'name3' => [ - 'value' => $acceptAdmin->name, - ], - 'thing4' => [ - 'value' => $visit->name - ], - 'thing13' => [ - 'value' => $auditResult, - ], - 'thing9' => [ - 'value' => $visit->company_name - ], - ]; - Visit::subMsg('IczaKkCmwf55tAAzCcxb_fbbf5L25SWrSKvaBrkIyk4', $user->openid, $templateData,$all['visit_id']); + if ($auditResult) { + // 发通知订阅消息 + $templateData = [ + 'date1' => [ + 'value' => $visit->date + ], + 'name3' => [ + 'value' => $acceptAdmin->name, + ], + 'thing4' => [ + 'value' => $visit->name + ], + 'thing13' => [ + 'value' => $auditResult, + ], + 'thing9' => [ + 'value' => $visit->company_name + ], + ]; + Visit::subMsg('IczaKkCmwf55tAAzCcxb_fbbf5L25SWrSKvaBrkIyk4', $user->openid, $templateData, $all['visit_id']); + // 发通知短信消息 + $vars = ['result' => $auditResult]; + $template_id = 'G5W6Y3'; + sms($visit->mobile, $vars, $template_id); + } } // 审核记录 $auditAdmin = Admin::find($model->audit_admin_id); diff --git a/app/Http/Controllers/Mobile/VisitController.php b/app/Http/Controllers/Mobile/VisitController.php index a28efbd..7cce3da 100644 --- a/app/Http/Controllers/Mobile/VisitController.php +++ b/app/Http/Controllers/Mobile/VisitController.php @@ -125,8 +125,9 @@ class VisitController extends CommonController } } VisitLog::add('', $this->getUser(), $model->id, isset($all['id']) ? '更新拜访记录' : '新增拜访记录'); - // 通知 + // 通知,发订阅消息给当前用户 $visitTime = VisitTime::find($all['visit_time_id']); + // 被访人信息 $acceptAdmin = Admin::find($all['accept_admin_id']); $accpetDepartment = Department::find($all['accpet_department_id']); $templateData = [ @@ -146,7 +147,13 @@ class VisitController extends CommonController 'value' => $accpetDepartment->name ?? '' ], ]; - $res = Visit::subMsg('DmzNRREPFdZrMWconNDdbj_ebtVPRWufq27kRQ25eNg', $this->getUser()->openid, $templateData, $model->id); + Visit::subMsg('DmzNRREPFdZrMWconNDdbj_ebtVPRWufq27kRQ25eNg', $this->getUser()->openid, $templateData, $model->id); + // 短信通知被访人 + $vars = ['date' => $all['date'], 'name' => $all['name'], 'phone_number' => $all['mobile']]; + $template_id = '5wReg1'; + sms($acceptAdmin->mobile, $vars, $template_id); + // 短信通知第一个审核人 + VisitAudit::smsNextAudit($model); DB::commit(); return $this->success('更新成功'); } catch (\Exception $exception) { diff --git a/app/Models/VisitAudit.php b/app/Models/VisitAudit.php index bd4890d..98b3d51 100644 --- a/app/Models/VisitAudit.php +++ b/app/Models/VisitAudit.php @@ -1,17 +1,46 @@ hasOne(Visit::class,'id','visit_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; + } + }