Commit 4a0f9ec5 by Arpit Jain

working on locater

parent 2151058b
APP_NAME=Laravel
APP_ENV=local
APP_KEY=
APP_KEY=base64:2kDJX8vA8rSrjKqeAcSXbhvA8/sbc79XUOFLWV/naSI=
APP_DEBUG=true
APP_URL=http://localhost
LOG_CHANNEL=stack
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_CONNECTIN=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
DB_DATABASE=locator
DB_USERNAME=root
DB_PASSWORD=envigo@123
BROADCAST_DRIVER=log
CACHE_DRIVER=file
......@@ -42,3 +42,9 @@ PUSHER_APP_CLUSTER=mt1
MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
API_KEY = eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjdlNDUxMWRiZjg2NDgwMDk5MmE3ZjE4MDk2ZDUwOTY1ZjJmMDNmMGVjOGYzYzhjMTQwNGRkOTZmZGUxY2RmNjllZWY3OGE4ZmU3MTIzYTU0In0.eyJhdWQiOiIxIiwianRpIjoiN2U0NTExZGJmODY0ODAwOTkyYTdmMTgwOTZkNTA5NjVmMmYwM2YwZWM4ZjNjOGMxNDA0ZGQ5NmZkZTFjZGY2OWVlZjc4YThmZTcxMjNhNTQiLCJpYXQiOjE1NjIxNDYyOTUsIm5iZiI6MTU2MjE0NjI5NSwiZXhwIjoxNTYzNDQyMjk1LCJzdWIiOiIiLCJzY29wZXMiOlsicmVhZC1sb2NhdGlvbiJdfQ.RcGybPTQUPHMAA5y7nclG01hgaa7e8imF6x0q0SR9PqIMFQ9yVjXJCu4Hx4i3-AwVv27FE6RQ84-EpzPO1XmCHpuqLg6F4OWyn8Xv6pceLSxAzSKvrsYeS2W1uqCxFxeBaQmx4Uq5xdf0wQ9Ao-3914XrFTnWMYh1Rd94o4mPmlyeBB8H2e1nIM4Vtuh98-oDMxclhh_1A1XXUOe7L4TILqBMjyQlaRIDBTnVdA_fNYK7ZPWDy6j-t_yQpf4NOXWXGbldpZ0KAu2Fb1llsnizE0Ryd310z1zUZPtgbqdkC7mCBpXQf9wmE3GUihLj84Vyh7Q-dnKZw0HlZDdRWasFxTpss0wcEDDcLM1u7Sgl2wT83Sq7h61hfShhM18fqHwQL5TKKDyQ3pv6z4-AVhcwV5IOPMJPyZLfrydezTEn6cNf8q-gAvTMFqayQEoKLtMlXWQ1Oy81UQIo9_3LTGaKrS2qz8lNNY132qFaXb6NwRsv73MWb1DkZdEBj9CoV5UncYeCVDHephaAQxKZva5HGoi1-Gvd2ltY_S64zuOZORpcyCMHwyTHKOc8w7dGrJpT1uXHDtF73KB5XXNFRu66HWS0V1WniBtxYzB8cG_eDlU_Ak9QnywlXTcIkq10pbnad7hnsRdmSDL3ksA7yVLMAZ9MAyR-T7giAw_BTslM5I
API_LIST = https://anitadongre.concr.in/api/v1/locations/list?keyword=
API_LOCATION = https://anitadongre.concr.in/api/v1/locations/
API_SEARCH = https://anitadongre.concr.in/api/v1/locations/search?keyword=
......@@ -4,6 +4,7 @@ namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Homepage;
use App\Helpers\Apihelpers;
use GuzzleHttp\Client;
use App\Locater;
use App\Page;
......@@ -11,8 +12,11 @@ use DB;
use Validator;
use Illuminate\Support\Facades\Hash;
class SearchController extends Controller
{
use Apihelpers;
//public $locationDeatilAPIdata;
/**
* Create a new controller instance.
*
......@@ -31,78 +35,55 @@ class SearchController extends Controller
*/
public function index(Request $request)
{
$client = new Client();
if(!empty($request->locality)){
$response = $client->request('GET', 'https://anitadongre.concr.in/api/v1/locations/list?keyword='.$request->locality.'&brandId=',[ 'headers' => [
'Accept' => 'application/json',
'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjdlNDUxMWRiZjg2NDgwMDk5MmE3ZjE4MDk2ZDUwOTY1ZjJmMDNmMGVjOGYzYzhjMTQwNGRkOTZmZGUxY2RmNjllZWY3OGE4ZmU3MTIzYTU0In0.eyJhdWQiOiIxIiwianRpIjoiN2U0NTExZGJmODY0ODAwOTkyYTdmMTgwOTZkNTA5NjVmMmYwM2YwZWM4ZjNjOGMxNDA0ZGQ5NmZkZTFjZGY2OWVlZjc4YThmZTcxMjNhNTQiLCJpYXQiOjE1NjIxNDYyOTUsIm5iZiI6MTU2MjE0NjI5NSwiZXhwIjoxNTYzNDQyMjk1LCJzdWIiOiIiLCJzY29wZXMiOlsicmVhZC1sb2NhdGlvbiJdfQ.RcGybPTQUPHMAA5y7nclG01hgaa7e8imF6x0q0SR9PqIMFQ9yVjXJCu4Hx4i3-AwVv27FE6RQ84-EpzPO1XmCHpuqLg6F4OWyn8Xv6pceLSxAzSKvrsYeS2W1uqCxFxeBaQmx4Uq5xdf0wQ9Ao-3914XrFTnWMYh1Rd94o4mPmlyeBB8H2e1nIM4Vtuh98-oDMxclhh_1A1XXUOe7L4TILqBMjyQlaRIDBTnVdA_fNYK7ZPWDy6j-t_yQpf4NOXWXGbldpZ0KAu2Fb1llsnizE0Ryd310z1zUZPtgbqdkC7mCBpXQf9wmE3GUihLj84Vyh7Q-dnKZw0HlZDdRWasFxTpss0wcEDDcLM1u7Sgl2wT83Sq7h61hfShhM18fqHwQL5TKKDyQ3pv6z4-AVhcwV5IOPMJPyZLfrydezTEn6cNf8q-gAvTMFqayQEoKLtMlXWQ1Oy81UQIo9_3LTGaKrS2qz8lNNY132qFaXb6NwRsv73MWb1DkZdEBj9CoV5UncYeCVDHephaAQxKZva5HGoi1-Gvd2ltY_S64zuOZORpcyCMHwyTHKOc8w7dGrJpT1uXHDtF73KB5XXNFRu66HWS0V1WniBtxYzB8cG_eDlU_Ak9QnywlXTcIkq10pbnad7hnsRdmSDL3ksA7yVLMAZ9MAyR-T7giAw_BTslM5I']
]);
}else{
$response = $client->request('GET', 'https://anitadongre.concr.in/api/v1/locations/list?keyword=',[ 'headers' => [
'Accept' => 'application/json',
'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjdlNDUxMWRiZjg2NDgwMDk5MmE3ZjE4MDk2ZDUwOTY1ZjJmMDNmMGVjOGYzYzhjMTQwNGRkOTZmZGUxY2RmNjllZWY3OGE4ZmU3MTIzYTU0In0.eyJhdWQiOiIxIiwianRpIjoiN2U0NTExZGJmODY0ODAwOTkyYTdmMTgwOTZkNTA5NjVmMmYwM2YwZWM4ZjNjOGMxNDA0ZGQ5NmZkZTFjZGY2OWVlZjc4YThmZTcxMjNhNTQiLCJpYXQiOjE1NjIxNDYyOTUsIm5iZiI6MTU2MjE0NjI5NSwiZXhwIjoxNTYzNDQyMjk1LCJzdWIiOiIiLCJzY29wZXMiOlsicmVhZC1sb2NhdGlvbiJdfQ.RcGybPTQUPHMAA5y7nclG01hgaa7e8imF6x0q0SR9PqIMFQ9yVjXJCu4Hx4i3-AwVv27FE6RQ84-EpzPO1XmCHpuqLg6F4OWyn8Xv6pceLSxAzSKvrsYeS2W1uqCxFxeBaQmx4Uq5xdf0wQ9Ao-3914XrFTnWMYh1Rd94o4mPmlyeBB8H2e1nIM4Vtuh98-oDMxclhh_1A1XXUOe7L4TILqBMjyQlaRIDBTnVdA_fNYK7ZPWDy6j-t_yQpf4NOXWXGbldpZ0KAu2Fb1llsnizE0Ryd310z1zUZPtgbqdkC7mCBpXQf9wmE3GUihLj84Vyh7Q-dnKZw0HlZDdRWasFxTpss0wcEDDcLM1u7Sgl2wT83Sq7h61hfShhM18fqHwQL5TKKDyQ3pv6z4-AVhcwV5IOPMJPyZLfrydezTEn6cNf8q-gAvTMFqayQEoKLtMlXWQ1Oy81UQIo9_3LTGaKrS2qz8lNNY132qFaXb6NwRsv73MWb1DkZdEBj9CoV5UncYeCVDHephaAQxKZva5HGoi1-Gvd2ltY_S64zuOZORpcyCMHwyTHKOc8w7dGrJpT1uXHDtF73KB5XXNFRu66HWS0V1WniBtxYzB8cG_eDlU_Ak9QnywlXTcIkq10pbnad7hnsRdmSDL3ksA7yVLMAZ9MAyR-T7giAw_BTslM5I']
]);
}
$statusCode = $response->getStatusCode();
$body = $response->getBody()->getContents();
$locatorApiData = json_decode($body);
$api_url = getenv('API_LIST');
$locatorApiData = $this->call_api('',$api_url);
//$locatorApiData = $locationDeatilAPIdata;
$locaterkeyvalueddata = Locater::where('status', '=', '1')->with('page')->get()->pluck('page.slug', 'locater_id_url');
//echo"<pre>";
//print_r($locaterkeyvalueddata);die;
/*$locatorDBdata = DB::table('locaters')
->join('pages', 'locaters.id', '=', 'pages.locater_id')
->select('locaters.locater_id_url', 'pages.slug')
->where('locaters.status', '1')
->get();
$locaterkeyvalueddata = array();
foreach($locatorDBdata as $val){
$locaterkeyvalueddata[$val->locater_id_url] = $val->slug;
}*/
$homepage = Homepage::where('homepages.status', '=', '1')->first();
return view('frontend.searchs.index', ['homepage' => $homepage,'locatorApiData'=>$locatorApiData,'locaterkeyvalueddata'=>$locaterkeyvalueddata]);
}
public function searchlocator(Request $request)
{
$api_url = getenv('API_LIST');
$locationDetailAPIdata = $this->call_api($request->locality,$api_url);
$locaterkeyvalueddata = Locater::where('status', '=', '1')->with('page')->get()->pluck('page.slug', 'locater_id_url');
$homepage = Homepage::where('homepages.status', '=', '1')->first();
$datanew = '';
foreach($locationDetailAPIdata->data as $key=>$data){
$link = '';
if(isset($locaterkeyvalueddata[$data->id])){
$link = $locaterkeyvalueddata[$data->id];
}
$datanew .= '<div class="card"><div class="card-body"><div class="location_data-img"><img src="vendor/frontend/img/location-img.png" /></div><div class="location_data-content"><h5 class="title"><a href="/detail/'.$link.'">'.$data->name.'</a></h5><span class="ratings"><i class="mdi mdi-star"></i><i class="mdi mdi-star"></i><i class="mdi mdi-star"></i><i class="mdi mdi-star"></i><i class="mdi mdi-star-outline"></i><br><span class="counts">'.$data->reviewCounts.'</span></span><p class="address">'.$data->fullAddress->addressLines[0].'</p></div></div></div>';
}
return $datanew;
}
public function detail(Request $request, $slug = '') {
$pageData = Page::where('pages.slug', '=', $slug)->with('locaterlists')->first();
/*Fetch Locater ID*/
$locatorID = $pageData->locaterlists->locater_id_url;
$client = new Client();
$response = $client->request('GET', 'https://anitadongre.concr.in/api/v1/locations/'.$locatorID,[ 'headers' => [
'Accept' => 'application/json',
'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjdlNDUxMWRiZjg2NDgwMDk5MmE3ZjE4MDk2ZDUwOTY1ZjJmMDNmMGVjOGYzYzhjMTQwNGRkOTZmZGUxY2RmNjllZWY3OGE4ZmU3MTIzYTU0In0.eyJhdWQiOiIxIiwianRpIjoiN2U0NTExZGJmODY0ODAwOTkyYTdmMTgwOTZkNTA5NjVmMmYwM2YwZWM4ZjNjOGMxNDA0ZGQ5NmZkZTFjZGY2OWVlZjc4YThmZTcxMjNhNTQiLCJpYXQiOjE1NjIxNDYyOTUsIm5iZiI6MTU2MjE0NjI5NSwiZXhwIjoxNTYzNDQyMjk1LCJzdWIiOiIiLCJzY29wZXMiOlsicmVhZC1sb2NhdGlvbiJdfQ.RcGybPTQUPHMAA5y7nclG01hgaa7e8imF6x0q0SR9PqIMFQ9yVjXJCu4Hx4i3-AwVv27FE6RQ84-EpzPO1XmCHpuqLg6F4OWyn8Xv6pceLSxAzSKvrsYeS2W1uqCxFxeBaQmx4Uq5xdf0wQ9Ao-3914XrFTnWMYh1Rd94o4mPmlyeBB8H2e1nIM4Vtuh98-oDMxclhh_1A1XXUOe7L4TILqBMjyQlaRIDBTnVdA_fNYK7ZPWDy6j-t_yQpf4NOXWXGbldpZ0KAu2Fb1llsnizE0Ryd310z1zUZPtgbqdkC7mCBpXQf9wmE3GUihLj84Vyh7Q-dnKZw0HlZDdRWasFxTpss0wcEDDcLM1u7Sgl2wT83Sq7h61hfShhM18fqHwQL5TKKDyQ3pv6z4-AVhcwV5IOPMJPyZLfrydezTEn6cNf8q-gAvTMFqayQEoKLtMlXWQ1Oy81UQIo9_3LTGaKrS2qz8lNNY132qFaXb6NwRsv73MWb1DkZdEBj9CoV5UncYeCVDHephaAQxKZva5HGoi1-Gvd2ltY_S64zuOZORpcyCMHwyTHKOc8w7dGrJpT1uXHDtF73KB5XXNFRu66HWS0V1WniBtxYzB8cG_eDlU_Ak9QnywlXTcIkq10pbnad7hnsRdmSDL3ksA7yVLMAZ9MAyR-T7giAw_BTslM5I']
]);
$statusCode = $response->getStatusCode();
$body = $response->getBody()->getContents();
$locationDeatilAPIdata = json_decode($body);
//echo"<pre>";
//print_r($locationDeatilAPIdata);
//die;
$api_url = getenv('API_LOCATION');
$locationDetailAPIdata = $this->call_api($locatorID,$api_url);
$homepage = Homepage::where('homepages.status', '=', '1')->first();
return view('frontend.searchs.detail', ['homepage' => $homepage,'locationDeatilAPIdata'=>$locationDeatilAPIdata, 'pageData' => $pageData]);
return view('frontend.searchs.detail', ['homepage' => $homepage,'locationDetailAPIdata'=>$locationDetailAPIdata, 'pageData' => $pageData]);
}
public function autocomplete(Request $request)
{
$client = new Client();
$response = $client->request('GET', 'https://anitadongre.concr.in/api/v1/locations/search?keyword='.$request['query'],[ 'headers' => [
'Accept' => 'application/json',
'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjdlNDUxMWRiZjg2NDgwMDk5MmE3ZjE4MDk2ZDUwOTY1ZjJmMDNmMGVjOGYzYzhjMTQwNGRkOTZmZGUxY2RmNjllZWY3OGE4ZmU3MTIzYTU0In0.eyJhdWQiOiIxIiwianRpIjoiN2U0NTExZGJmODY0ODAwOTkyYTdmMTgwOTZkNTA5NjVmMmYwM2YwZWM4ZjNjOGMxNDA0ZGQ5NmZkZTFjZGY2OWVlZjc4YThmZTcxMjNhNTQiLCJpYXQiOjE1NjIxNDYyOTUsIm5iZiI6MTU2MjE0NjI5NSwiZXhwIjoxNTYzNDQyMjk1LCJzdWIiOiIiLCJzY29wZXMiOlsicmVhZC1sb2NhdGlvbiJdfQ.RcGybPTQUPHMAA5y7nclG01hgaa7e8imF6x0q0SR9PqIMFQ9yVjXJCu4Hx4i3-AwVv27FE6RQ84-EpzPO1XmCHpuqLg6F4OWyn8Xv6pceLSxAzSKvrsYeS2W1uqCxFxeBaQmx4Uq5xdf0wQ9Ao-3914XrFTnWMYh1Rd94o4mPmlyeBB8H2e1nIM4Vtuh98-oDMxclhh_1A1XXUOe7L4TILqBMjyQlaRIDBTnVdA_fNYK7ZPWDy6j-t_yQpf4NOXWXGbldpZ0KAu2Fb1llsnizE0Ryd310z1zUZPtgbqdkC7mCBpXQf9wmE3GUihLj84Vyh7Q-dnKZw0HlZDdRWasFxTpss0wcEDDcLM1u7Sgl2wT83Sq7h61hfShhM18fqHwQL5TKKDyQ3pv6z4-AVhcwV5IOPMJPyZLfrydezTEn6cNf8q-gAvTMFqayQEoKLtMlXWQ1Oy81UQIo9_3LTGaKrS2qz8lNNY132qFaXb6NwRsv73MWb1DkZdEBj9CoV5UncYeCVDHephaAQxKZva5HGoi1-Gvd2ltY_S64zuOZORpcyCMHwyTHKOc8w7dGrJpT1uXHDtF73KB5XXNFRu66HWS0V1WniBtxYzB8cG_eDlU_Ak9QnywlXTcIkq10pbnad7hnsRdmSDL3ksA7yVLMAZ9MAyR-T7giAw_BTslM5I']
]);
$statusCode = $response->getStatusCode();
$body = $response->getBody()->getContents();
$locationlist = json_decode($body);
$api_url = getenv('API_SEARCH');
$locationDetailAPIdata = $this->call_api($request['query'],$api_url);
$output = '<ul class="dropdown-menu" style="display:block; position:relative">';
foreach($locationlist->data as $row){
foreach($locationDetailAPIdata->data as $row){
$output .= '<li><i class="mdi mdi-map-marker"></i><a href="#">'.$row->name.'</a></li>';
}
$output .= '</ul>';
echo $output;
//return response()->json($data);
}
}
......@@ -11,14 +11,14 @@
<section class="container address-box">
<section class="address-box_inner">
<h2 class="title">{{ $locationDeatilAPIdata->data->name }}</h2>
<h2 class="title">{{ $locationDetailAPIdata->data->name }}</h2>
<span class="ratings">
<i class="mdi mdi-star"></i>
<i class="mdi mdi-star"></i>
<i class="mdi mdi-star"></i>
<i class="mdi mdi-star"></i>
<i class="mdi mdi-star-outline"></i>
<span class="counts">{{ $locationDeatilAPIdata->data->averageRating }}</span>
<span class="counts">{{ $locationDetailAPIdata->data->averageRating }}</span>
</span>
<div class="share dropdown">
<span class="share-btn" id="address-box_social" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><i class="mdi mdi-share-variant icon-grey"></i></span>
......@@ -34,24 +34,24 @@
<div class="row">
<div class="col-md-5">
<p>
{{ $locationDeatilAPIdata->data->fullAddress->addressLines[0] }}
{{ $locationDetailAPIdata->data->fullAddress->addressLines[0] }}
<br>
{{ $locationDeatilAPIdata->data->fullAddress->addressLines[1] }}
@if(!empty($locationDeatilAPIdata->data->fullAddress->addressLines[2]))
{{ $locationDetailAPIdata->data->fullAddress->addressLines[1] }}
@if(!empty($locationDetailAPIdata->data->fullAddress->addressLines[2]))
<br>
{{ $locationDeatilAPIdata->data->fullAddress->addressLines[2] }}
{{ $locationDetailAPIdata->data->fullAddress->addressLines[2] }}
@endif
</p>
</div>
<div class="col-md-3 ">
<p class="d-flex align-items-center"><i class="mdi mdi-phone icon-grey mr-3"></i>
{{ $locationDeatilAPIdata->data->phone }}</p>
{{ $locationDetailAPIdata->data->phone }}</p>
</div>
<div class="col-md-4 ">
<p class="dropdown d-flex align-items-center" id="address-box_openinghours" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><i class="mdi mdi-clock icon-grey mr-3"></i>Open Now<i class="mdi mdi-chevron-down icon-grey ml-2"></i></p>
<div class="openinghours dropdown-menu" aria-labelledby="address-box_openinghours">
<ul>
@foreach($locationDeatilAPIdata->data->regularHours as $regularHours)
@foreach($locationDetailAPIdata->data->regularHours as $regularHours)
<li>
<span>{{ $regularHours->openDay }}</span>
{{ $regularHours->openTime }} am - {{ $regularHours->closeTime }} pm
......
......@@ -29,7 +29,7 @@
<input type="text" class="form-control" placeholder="Location">
</div>
<div class="action">
<input type="submit" value="Submit" class="btn btn-primary">
<input type="button" id="searchbutton" value="Submit" class="btn btn-primary">
</div>
</div>
</form>
......@@ -72,7 +72,7 @@
</div>
<!--location listing start-->
<div class="row no-gutters">
<div class=" mt-4 location_data-listing">
<div class=" mt-4 location_data-listing" id="searchlocaterid">
<?php
foreach($locatorApiData->data as $key=>$data){
$link = '';
......@@ -316,6 +316,7 @@
</section>
<script type="text/javascript">
/*var path = "{{ route('autocomplete') }}";
$('input.locality').typeahead({
source: function (query, process) {
......@@ -350,6 +351,20 @@
$('.locality').focusout(function(){
$('#localitylist').fadeOut('slow');
});
$(function () {
$('#searchbutton').on('click', function (e) {
e.preventDefault();
$.ajax({
type: 'post',
url: "{{route('searchlocator')}}",
data: $('form').serialize(),
success: function (datanew) {
$( "#searchlocaterid" ).html( datanew );
}
});
});
});
</script>
......
......@@ -16,6 +16,7 @@
});*/
Route::any('/', 'SearchController@index')->name('search');
Route::any('/searchlocator', 'SearchController@searchlocator')->name('searchlocator');
Route::get('autocomplete', 'SearchController@autocomplete')->name('autocomplete');
Route::any('/detail/{slug}', 'SearchController@detail')->name('detail');
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment