DMCity.php 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Models\Countries;
  4. use App\Models\DMCities;
  5. use App\Models\PlaceCategories;
  6. use App\Models\PlaceCategoriesMapped;
  7. use App\Models\PlaceDeliveryPrices;
  8. use App\Models\RestoCategoriesMapped;
  9. use App\Models\RestoSMSs;
  10. use Illuminate\Http\Request;
  11. class DMCity extends Controller
  12. {
  13. //
  14. public function places(){
  15. $c = request()->get('country');
  16. $country_id = isset($c) && !empty($c)?request()->get('country'):"2";
  17. $country_name = Countries::where('id',$country_id)->first();
  18. $cities = DMCities::where('country_id',$country_id)->whereNull('deleted_at')->get();
  19. $d = [
  20. 'cities' => $cities,
  21. 'country_id' =>$country_id,
  22. 'country_name' => $country_name->country_name
  23. ];
  24. return view('places.places',$d);
  25. }
  26. public function new_place(){
  27. $countries = Countries::where('active',1)->get();
  28. $categories = PlaceCategories::whereNull('deleted_at')->get();
  29. $data = [
  30. 'countries' => $countries,
  31. 'categories' =>$categories
  32. ];
  33. return view('places.place',$data);
  34. }
  35. public function edit_place($id){
  36. $countries = Countries::where('active',1)->get();
  37. $categories = PlaceCategories::whereNull('deleted_at')->get();
  38. $place = DMCities::find($id);
  39. $data = [
  40. 'countries' => $countries,
  41. 'place' => $place,
  42. 'categories' =>$categories
  43. ];
  44. return view('places.place',$data);
  45. }
  46. public function save_place(Request $request){
  47. $id = $request->id;
  48. $mapped = "";
  49. if(empty($id)){
  50. $place = new DMCities();
  51. $mapped = new PlaceCategoriesMapped();
  52. }
  53. else{
  54. $place = DMCities::find($id);
  55. $mapped = PlaceCategoriesMapped::where('place_id',$id)->first();
  56. }
  57. $place->country_id = $request->country_id;
  58. $place->city_id = $request->city_id;
  59. $place->place_name = $request->place_name;
  60. $place->category_id = $request->category_id;
  61. $place->is_active = isset($request->is_active)?1:0;
  62. $place->save();
  63. $id = $place->id;
  64. if(isset($mapped)){
  65. $mapped->category_id = $request->category_id;
  66. $mapped->place_id = $id;
  67. $mapped->country_id = $request->country_id;
  68. $mapped->city_id = $request->city_id;
  69. $mapped->save();
  70. }else{
  71. $mapped = new PlaceCategoriesMapped();
  72. $mapped->category_id = $request->category_id;
  73. $mapped->country_id = $request->country_id;
  74. $mapped->city_id = $request->city_id;
  75. $mapped->place_id = $id;
  76. $mapped->save();
  77. }
  78. if($id > 0)
  79. echo json_encode(array('type' => 'success', 'message'=>"Place's data is saved successfully."));
  80. else
  81. echo json_encode(array('type' => 'error', 'message'=>"Place's data is not saved, check info again."));
  82. }
  83. public function delete_place($id){
  84. $place = DMCities::find($id);
  85. $place->deleted_at = date('Y-m-d H:i:s');
  86. $place->save();
  87. }
  88. public function save_country(Request $request){
  89. $id = $request->id;
  90. $name = $request->country_name;
  91. if(empty($id))
  92. $country = new Countries();
  93. else
  94. $country = Countries::find($id);
  95. $country->country_name = $name;
  96. $country->country_code = $request->country_code;
  97. $country->active = 1;
  98. $country->save();
  99. }
  100. public function get_cities($code){
  101. $cities = DMCities::where('country_id',$code)->groupBy('city')->get(['id','city']);
  102. echo json_encode($cities);
  103. }
  104. public function get_places($name){
  105. $places = DMCities::where('city',$name)->get(['city_unique_id','city_name','category']);
  106. echo json_encode($places);
  107. }
  108. public function save_delivery_fee(Request $request){
  109. $category_id = $request->category_id;
  110. $category_unique_id = $request->category_unique_id;
  111. $resto_id = $request->resto_id;
  112. $minimum_delivery_fee = $request->minimum_delivery_fee;
  113. $delivery_fee = $request->delivery_fee;
  114. $places = $request->places;
  115. $resto_category = RestoCategoriesMapped::where('resto_id',$resto_id)->where('category_id',$category_id)->first();
  116. if(empty($resto_category))
  117. $resto_category = new RestoCategoriesMapped();
  118. $resto_category->category_id = $category_id;
  119. $resto_category->resto_id = $resto_id;
  120. $resto_category->delivery_fee = $minimum_delivery_fee;
  121. $resto_category->save();
  122. $id = $resto_category->id;
  123. foreach($delivery_fee as $k=>$fee){
  124. if($fee || $fee=="0"){
  125. $place_delivery = PlaceDeliveryPrices::where('category_unique_id',$category_unique_id)->where('place_unique_id',$places[$k])->where('resto_id',$resto_id)->first();
  126. if(!isset($place_delivery))
  127. $place_delivery = new PlaceDeliveryPrices();
  128. $place_delivery->category_unique_id =$category_unique_id;
  129. $place_delivery->place_unique_id = $places[$k];
  130. $place_delivery->resto_id = $resto_id;
  131. $place_delivery->delivery_price = $fee;
  132. $place_delivery->save();
  133. }
  134. }
  135. if($id > 0)
  136. echo json_encode(array('type' => 'success', 'message'=>"Delivery's data is saved successfully."));
  137. else
  138. echo json_encode(array('type' => 'error', 'message'=>"Delivery's data is not saved, check info again."));
  139. }
  140. }