Dashboard sipadu mbip
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

DataController.php 1.6KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?php
  2. namespace App\Http\Controllers\api;
  3. use Illuminate\Http\Request;
  4. use App\Http\Controllers\Api\BaseController;
  5. use App\Model\Database\EPBT;
  6. use App\Model\Module\CodeMukim;
  7. use Carbon\Carbon;
  8. use Config;
  9. use File;
  10. use DB;
  11. class DataController extends BaseController
  12. {
  13. public function insertArea()
  14. {
  15. $client = new \GuzzleHttp\Client();
  16. $result = $client->request('GET', 'http://mbip.smsparkir.com/mobile/api/sections', ['x-meijinjs-api-key' => 'smsp4rk1r4p1k3y']);
  17. $response = json_decode($result->getBody()->getContents());
  18. //if response == true
  19. if($response->success)
  20. {
  21. $data = array();
  22. //data array, length = 6
  23. foreach ($response->data as $s)
  24. {
  25. foreach($s->areas as $a)
  26. {
  27. foreach ($a->roads as $r)
  28. {
  29. array_push($data, array
  30. (
  31. '_id' => $r->_id,
  32. 'road_code' => $r->code,
  33. 'road_name' => $r->name,
  34. 'area_code' => $a->code,
  35. 'area_name' => $a->name,
  36. 'section_code' => $s->code,
  37. 'section_name' => $s->name,
  38. ));
  39. }
  40. }
  41. }
  42. foreach ($data as $d)
  43. {
  44. $road = CodeMukim::where('_id', $d['_id'])->first();
  45. if (empty($road))
  46. {
  47. $codeMukim = new CodeMukim();
  48. $codeMukim->_id = new \MongoDB\BSON\ObjectID($d['_id']);
  49. $codeMukim->JLN_JKOD = $d['road_code'];
  50. $codeMukim->JLN_JNAMA = $d['road_name'];
  51. $codeMukim->JLN_KWKOD = $d['area_code'];
  52. $codeMukim->KWS_KNAMA = $d['area_name'];
  53. $codeMukim->JLN_MKKOD = $d['section_code'];
  54. $codeMukim->MKM_MNAMA = $d['section_name'];
  55. $codeMukim->save();
  56. }
  57. }
  58. }
  59. return 'finished';
  60. }
  61. }