/** * Store a newly created resource in storage. * * @return Response */ public function postBox() { $key = \Input::get('key'); $appname = \Input::has('app') ? \Input::get('app') : 'app.name'; //$user = \Apiauth::user($key); $user = \Device::where('key', '=', $key)->first(); if (!$user) { $actor = 'no id : no name'; \Event::fire('log.api', array($this->controller_name, 'post', $actor, 'device not found, upload image failed')); return \Response::json(array('status' => 'ERR:NODEVICE', 'timestamp' => time(), 'message' => 'Device Unregistered')); } $json = \Input::all(); $batch = \Input::get('batch'); $result = array(); foreach ($json as $j) { //$j['mtimestamp'] = new \MongoDate(time()); if (is_array($j)) { $blog = new \Boxid(); foreach ($j as $k => $v) { $blog->{$k} = $v; } $blog->appname = $appname; $blog->mtimestamp = new \MongoDate(time()); $box = \Box::where('delivery_id', '=', $blog->deliveryId)->where('merchant_trans_id', '=', $blog->merchantTransId)->where('fulfillment_code', '=', $blog->fulfillmentCode)->where('box_id', '=', $blog->boxId)->first(); if ($box) { if ($appname == \Config::get('jex.pickup_app')) { $box->pickupStatus = $blog->pickupStatus; } elseif ($appname == \Config::get('jex.hub_app')) { $box->warehouseStatus = $blog->warehouseStatus; } else { $box->deliveryStatus = $blog->deliveryStatus; $box->courierStatus = $blog->courierStatus; } $box->save(); } $r = $blog->save(); if ($r) { $result[] = array('status' => 'OK', 'timestamp' => time(), 'message' => 'log inserted'); } else { $result[] = array('status' => 'NOK', 'timestamp' => time(), 'message' => 'insertion failed'); } } } //print_r($result); //die(); $actor = $user->identifier . ' : ' . $user->devname; \Event::fire('log.api', array($this->controller_name, 'get', $actor, 'sync scan log')); return Response::json($result); }