Browse Source

update get location address when CICO

pull/3/head
ibnu 2 years ago
parent
commit
71deadce25
  1. 27
      app/Http/Controllers/Controller.php
  2. 19
      app/Http/Controllers/PresenceController.php
  3. 6
      rest-client.http

27
app/Http/Controllers/Controller.php

@ -2,6 +2,7 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Http;
use Laravel\Lumen\Routing\Controller as BaseController; use Laravel\Lumen\Routing\Controller as BaseController;
@ -251,8 +252,30 @@ class Controller extends BaseController
return $totalCost; return $totalCost;
} }
private function getLoc($lat, $lng){ protected function getLoc($lat, $lng){
$response = Http::get(config('api.nominatim') . "/reverse?lat=".$lat."&lon=".$lng."&format=json"); // $response = Http::get(config('api.nominatim') . "/reverse?lat=".$lat."&lon=".$lng."&format=json");
// return $response->json;
$url = config('api.nominatim') . "/reverse?lat=".$lat."&lon=".$lng."&format=json";
// $token = config('api.adw_token');
$response = $this->curlRequest($url);
return $response; return $response;
} }
private function curlRequest($url){
$ch = curl_init();
// $headers = [
// 'Authorization: '.$token
// ];
curl_setopt($ch, CURLOPT_URL, $url);
// curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
if ($response === false)
$response = curl_error($ch);
curl_close($ch);
return json_decode($response);
}
} }

19
app/Http/Controllers/PresenceController.php

@ -18,6 +18,11 @@ class PresenceController extends Controller
$this->validate($request, [ $this->validate($request, [
'user_id' => 'required' 'user_id' => 'required'
]); ]);
// $test = $this->getLoc($request->clock_in_lat, $request->clock_in_lng)->display_name;
// // display_name
// return response()->json(["data"=>$test,'code'=>400], 400);
$checkLocation = $this->checkLocation($request); $checkLocation = $this->checkLocation($request);
$statusBoundary = false; $statusBoundary = false;
@ -28,8 +33,8 @@ class PresenceController extends Controller
} }
if($request->type=="out"){ if($request->type=="out"){
// $clock_out_loc get data from api.nominatim url serach address payload (lat lot);
$clock_out_loc = "-"; $clock_out_loc = $this->getLoc($request->clock_out_lat, $request->clock_out_lng)->display_name;
$dataUpdate = array( $dataUpdate = array(
"clock_out"=>$request->clock_time, "clock_out"=>$request->clock_time,
"clock_out_lat" => $request->clock_out_lat, "clock_out_lat" => $request->clock_out_lat,
@ -67,10 +72,8 @@ class PresenceController extends Controller
die(); die();
} }
$onlyDate = date_format($date,"Y-m-d"); $onlyDate = date_format($date,"Y-m-d");
$clock_in_loc = $this->getLoc($request->clock_in_lat, $request->clock_in_lng)->display_name;
// $clock_in_loc get data from api.nominatim url serach address payload (lat lot);
$clock_in_loc = "-";
$dataAdd = array( $dataAdd = array(
'user_id'=> $request->user_id, 'user_id'=> $request->user_id,
@ -276,8 +279,8 @@ class PresenceController extends Controller
$finalData = []; $finalData = [];
foreach($dataGet as $data){ foreach($dataGet as $data){
$responseIn = $this.getLoc($clock_in_lat, $clock_in_lng); // $responseIn = $this->getLoc($clock_in_lat, $clock_in_lng);
$responseOut = $this.getLoc($clock_in_lat, $clock_in_lng); // $responseOut = $this->getLoc($clock_in_lat, $clock_in_lng);
$data->clock_in_loc = $responseIn->json()["display_name"]; $data->clock_in_loc = $responseIn->json()["display_name"];
$data->clock_out_loc = $responseOut->json()["display_name"]; $data->clock_out_loc = $responseOut->json()["display_name"];
} }

6
rest-client.http

@ -804,10 +804,10 @@ Authorization: Bearer {{token}}
content-type: application/json content-type: application/json
{ {
"clock_out_lat": -6.2622811, "clock_in_lat": -6.2622811,
"clock_out_lng": 106.7881746, "clock_in_lng": 106.7881746,
"clock_time": "2023-02-06T16:40:17+07:00", "clock_time": "2023-02-06T16:40:17+07:00",
"type": "out", "type": "in",
"user_id": 1 "user_id": 1
} }

Loading…
Cancel
Save