where(['state' => 3,'horseman_id' => $employeesId]); $paginate = $builder->orderBy('created_at', 'desc')->paginate($pagesize); $orders = $paginate->toArray(); return [ 'has_more_pages' => $paginate->hasMorePages(), 'order_list' => $orders['data'] ]; } /** * 记录骑手坐标 */ public function setHorsemanCoordinate($employeesId,$coordinate){ $ssdb = ApplicationContext::getContainer()->get(SSDBTask::class); if(false === $ssdb->exec('set', SsdbKeys::HORSEMAN_COORDINATE.$employeesId,$coordinate)) { return false; } return true; } /** * 获取骑手坐标 */ public function getHorsemanCoordinate($employeesId){ $ssdb = ApplicationContext::getContainer()->get(SSDBTask::class); $params = $ssdb->exec('get', SsdbKeys::HORSEMAN_COORDINATE.$employeesId); if ((false === $params) || empty($params)) { throw new ErrorCodeException(ErrorCode::HORSEMAN_COORDINATE_FAIL, '获取骑手坐标失败'); } return $params; } /** * 获取订单起止坐标 */ public function getOrderCoordinate($globalOrderId){ //获取订单信息 $order = OrderMain::where('global_order_id',$globalOrderId) ->select( 'lat', 'lng', 'state', 'market_id' ) ->first(); if($order->state != 3) { return false; } //获取市场信息 $market = Market::where('id',$order->market_id) ->select( 'lat', 'lng' ) ->first(); $res = [ 'order' => $order, 'market' => $market ]; return $res; } }