dispatch_id); //1=派单,2=提前通知,3=超时通知 $ttsCode = null; $dispatch->tts_check_time = date('Y-m-d H:i:s',time()+5*60); if($log->type == 1) { $dispatch->tts_notice = 1; if($dispatch->type == 1){ $ttsCode = self::TTS_DISPATCH1; $dispatch->save(); }else{ $ttsCode = self::TTS_DISPATCH2; } }elseif($log->type == 2) { $dispatch->tts_notice = 2; $ttsCode = self::TTS_GOGOGO; }elseif($log->type == 3){ $dispatch->tts_notice = 3; $ttsCode = self::TTS_OVER_FINISHED; } if(empty($ttsCode)){ $log->status = -1; $log->content = 'TTSID为空'; $log->mobile = $dispatch->worker_tel; $log->save(); return; } $status = config('alibaba_dyvms.status'); if($status){ $reponse = DyvmsService::getInstance()->call($dispatch->worker_tel, $ttsCode, md5(time())); if($reponse->statusCode == 200 && $reponse->body->code == 'OK'){ $log->status = 1; $log->callId = $reponse->body->callId; $log->mobile = $dispatch->worker_tel; $log->save(); }else{ $log->status = -1; $log->mobile = $dispatch->worker_tel; $log->content = $reponse->body->message; $log->save(); } }else{ $log->status = -1; $log->content = 'TTSID为空'; $log->mobile = $dispatch->worker_tel; $log->save(); //throw new Exception('语音通知服务未开启'); } } /** * 派单通知 * @return SingleCallByTtsResponse|array */ public function dispatchNotice($dispatch): array|SingleCallByTtsResponse { if($dispatch->type == 1){ $ttsCode = self::TTS_DISPATCH1; }else{ $ttsCode = self::TTS_DISPATCH2; } try { $reponse = DyvmsService::getInstance()->call($dispatch->worker_tel, $ttsCode, md5(time())); }catch (Exception $exception){ throw $exception; } return $reponse; } /** * 超时通知 * @return void */ public function overTimeNotice(){ } }