76 lines
2.4 KiB
PHP
76 lines
2.4 KiB
PHP
<?php
|
|
|
|
namespace App\Services;
|
|
|
|
use App\Models\RoadObserved;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\App;
|
|
use Illuminate\Support\Facades\Log;
|
|
use SoapClient;
|
|
use SoapFault;
|
|
|
|
class NikarayanService
|
|
{
|
|
/**
|
|
* @throws SoapFault
|
|
*/
|
|
public function updateRoadObservedInfoByNikarayan(Request $request, RoadObserved $roadObserved, $files)
|
|
{
|
|
if (App::isProduction())
|
|
{
|
|
try {
|
|
$url = "https://riws.rmto.ir/WebServices/NRPTrafficStatus.asmx?wsdl";
|
|
|
|
$array = array('strUserName' => 'vaytelrop',
|
|
'strPassword' => 'VaYtelROP*2024',
|
|
'strAutoID' => $roadObserved->fk_RegisteredEventMessage,
|
|
'strStateID' => ($request->input('rms-status') == 1) ? '2' : '3',
|
|
'strDescription' => $request->input('rms-description') ?? $roadObserved->rms_description,
|
|
'strPreviousImageLink' => "https://rms.rmto.ir/".$files,
|
|
'strNextImageLink' => "https://rms.rmto.ir/".$files,
|
|
'strRMSDateAndTime' => $roadObserved->updated_at
|
|
);
|
|
|
|
$soapClient = new SoapClient($url);
|
|
$result = $soapClient->UpdateInfo_RoadObservedProblems($array);
|
|
Log::channel('nikarayan')->info($result);
|
|
|
|
return $result;
|
|
}
|
|
catch (\Exception $e) {
|
|
Log::channel('nikarayan')->error($e->getMessage());
|
|
throw $e;
|
|
}
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
/**
|
|
* @throws SoapFault
|
|
*/
|
|
public function getRoadObservedProblemsByDate()
|
|
{
|
|
try {
|
|
$url = "https://riws.rmto.ir/WebServices/NRPTrafficStatus.asmx?wsdl";
|
|
|
|
$v = verta();
|
|
$month = $v->month < 10 ? '0' . $v->month : $v->month;
|
|
$day = $v->day < 10 ? '0' . $v->day : $v->day;
|
|
$date = $v->year . $month . $day;
|
|
|
|
$soap_client = new SoapClient($url);
|
|
return $soap_client->Get_RoadObservedProblems_ByDate(array(
|
|
'strUserName' => 'vaytelrop',
|
|
'strPassword' => 'VaYtelROP*2024',
|
|
'strStartDate' => $date,
|
|
'strEndDate' => $date
|
|
));
|
|
}
|
|
catch (\Exception $e) {
|
|
Log::channel('nikarayan')->error($e->getMessage());
|
|
throw $e;
|
|
}
|
|
}
|
|
}
|