コード例 #1
0
ファイル: MainController.php プロジェクト: andycall/haochigou
 /**
  * 获取餐厅列表
  * 默认15个,多的在更多餐厅里面显示
  */
 public function getShopList($user_x, $user_y)
 {
     $result = array('shop_list' => array(), 'more_shop' => array());
     $result['shop_list']['data'] = array();
     $result['more_shop']['data'] = array();
     $result['shop_list']['data']['shops'] = array();
     # 首先获取所有的活动
     $result['shop_list']['data']['activity'] = array();
     $activity = Activity::all();
     foreach ($activity as $act) {
         if ($act->aid != '1') {
             $result['shop_list']['data']['activity'][(string) $act->aid] = $act->name;
         }
     }
     $data['shops'] = array();
     $geohash = new Geohash();
     $shopArray = $geohash->geohashGet($user_x, $user_y);
     $shops = $shopArray['data'];
     $num = 0;
     // 计数器,只15个
     foreach ($shops as $oneshop) {
         $onestore = array();
         $shop = $oneshop['shopData'];
         $support_activity = explode(',', $shop->support_activity);
         $onestore['support_activity'] = $support_activity[0] == '' ? [] : $support_activity;
         // 所有支持的活动id
         $onestore['isHot'] = $shop->is_hot ? 'true' : 'false';
         // 是否是热门餐厅
         $onestore['isOnline'] = $this->isOnline($shop->operation_time, date('H:i')) ? true : false;
         // 是否营业
         $onestore['isSupportPay'] = in_array('1', explode(',', $shop->pay_method));
         // 是否支持在线支付
         $onestore['shop_id'] = $shop->id;
         // 商家id
         $onestore['place_id'] = 111111;
         // -------------------位置经纬度和位置id后期再改数据库
         $onestore['shop_url'] = url('shop/' . $shop->id);
         // 点击跳转到相应商家
         $onestore['shop_logo'] = $shop->pic;
         // 商家的logo图片地址
         $onestore['deliver_time'] = (double) $shop->interval;
         // 送货时间间隔
         $onestore['deliver_start'] = $shop->begin_time;
         // 送货开始时间
         $onestore['shop_name'] = $shop->name;
         // 商家名称
         /*
         echo $onestore['isOnline'];
         echo $onestore['shop_name'];
         */
         $onestore['shop_type'] = $shop->type;
         $Level = $this->getLevel($shop);
         $onestore['shop_level'] = $Level['thing_total'];
         // 五分制
         $onestore['shop_announce'] = $shop->announcement;
         // 商家公告
         $onestore['deliver_state_start'] = $shop->begin_price;
         $onestore['deliver_start_statement'] = $shop->begin_price;
         // 起送价描述
         $onestore['shop_address'] = $shop->address;
         // 商家地址
         $onestore['is_opening'] = $this->isOnline($shop->operation_time, date('H:i')) ? 0 : 1;
         // 0是正在营业,1是打烊了,2是太忙了
         $onestore['is_ready_for_order'] = $shop->reserve;
         // 是否接收预定
         $onestore['close_msg'] = $shop->close_msg;
         // 关门信息
         $onestore['business_hours'] = $shop->operation_time;
         // 营业时间
         $onestore['shop_summary'] = $shop->intro;
         // 商家简介
         $onestore['order_count'] = (double) $shop->sold_num;
         // 订单数量
         if (!Auth::check()) {
             $onestore['is_collected'] = false;
         } else {
             $user = Auth::user();
             $onestore['is_collected'] = in_array($shop->id, $user->collectShop->lists('shop_id')) ? true : false;
             // 是否被收藏了
         }
         $onestore['additions'] = array();
         // 额外的内容
         $num = $num + 1;
         if ($num < 4) {
             // 更多餐厅和上面那排餐厅的数量
             array_push($result['shop_list']['data']['shops'], $onestore);
         } else {
             array_push($result['more_shop']['data'], $onestore);
         }
     }
     return $result;
 }
コード例 #2
0
 public function geoHashGet()
 {
     $geohash = new Geohash();
     /*
      **此处参数对应经纬度
      **返回值为数组,status标识同上
      **data对应查到的数据,若不为空,data数组内,geohash对应geohash表的坐标及geohash信息,shop对应shop表里面的店铺数据
      */
     $get = $geohash->geohashGet(39.98123662, 116.3068369);
     var_dump($get);
 }
コード例 #3
0
ファイル: MainController.php プロジェクト: uwitec/haochigo
 /**
  * 获取餐厅列表
  * 默认15个,多的在更多餐厅里面显示
  */
 public function getShopList()
 {
     $result = array('shop_list' => array(), 'more_shop' => array());
     $result['shop_list']['data'] = array();
     $result['more_shop']['data'] = array();
     $result['shop_list']['data']['shops'] = array();
     # 首先获取所有的活动
     $result['shop_list']['data']['activity'] = array();
     $activity = Activity::all();
     foreach ($activity as $act) {
         $result['shop_list']['data']['activity'][(string) $act->aid] = $act->name;
     }
     $data['shops'] = array();
     #TODO:由前端获取用户坐标
     $user_x = 39.9812385;
     $user_y = 116.3068369;
     $geohash = new Geohash();
     $shopArray = $geohash->geohashGet($user_x, $user_y);
     $shops = $shopArray['data'];
     #TODO:这个地方的$shops就应该进缓存了
     $num = 0;
     // 计数器,只15个
     foreach ($shops as $oneshop) {
         $onestore = array();
         $shop = $oneshop['shopData'];
         $onestore['support_activity'] = explode(',', $shop->support_activity);
         // 所有支持的活动id
         $onestore['isHot'] = $shop->is_hot ? 'true' : 'false';
         // 是否是热门餐厅
         $onestore['isOnline'] = $shop->is_online ? 'true' : 'false';
         // 是否营业
         $onestore['isSupportPay'] = in_array('1', explode(',', $shop->pay_method));
         // 是否支持在线支付
         $onestore['shop_id'] = $shop->id;
         // 商家id
         #TODO:place_id不需要
         $onestore['place_id'] = '不需要';
         // -------------------位置经纬度和位置id后期再改数据库
         $onestore['shop_url'] = 'shop/' . $shop->id;
         // 点击跳转到相应商家
         $onestore['shop_logo'] = $shop->pic;
         // 商家的logo图片地址
         $onestore['deliver_time'] = $shop->interval;
         // 送货时间间隔
         $onestore['deliver_start'] = $shop->begin_time;
         // 送货开始时间
         $onestore['shop_name'] = $shop->name;
         // 商家名称
         $onestore['shop_type'] = $shop->type;
         $Level = $this->getLevel($shop);
         $onestore['shop_level'] = $Level['thing_total'];
         // 五分制
         $onestore['shop_announce'] = $shop->announcement;
         // 商家公告
         #TODO:模版里用的deliver_state_start
         $onestore['deliver_state_start'] = $shop->begin_price;
         $onestore['deliver_start_statement'] = $shop->begin_price;
         // 起送价描述
         $onestore['shop_address'] = $shop->address;
         // 商家地址
         $onestore['is_opening'] = $shop->state;
         // 0是正在营业,1是打烊了,2是太忙了
         $onestore['is_ready_for_order'] = $shop->reserve;
         // 是否接收预定
         $onestore['close_msg'] = $shop->close_msg;
         // 关门信息
         $onestore['business_hours'] = $shop->operation_time;
         // 营业时间
         $onestore['shop_summary'] = $shop->intro;
         // 商家简介
         $onestore['order_count'] = $shop->sold_num;
         // 订单数量
         if (!Auth::check()) {
             $onestore['is_collected'] = false;
         } else {
             $user = Auth::user();
             $onestore['is_collected'] = in_array($shop->id, $user->collectShop->lists('shop_id')) ? true : false;
             // 是否被收藏了
         }
         #TODO:额外内容有什么用
         $onestore['additions'] = array();
         // 额外的内容
         $num = $num + 1;
         if ($num < 2) {
             array_push($result['shop_list']['data']['shops'], $onestore);
         } else {
             array_push($result['more_shop']['data'], $onestore);
         }
     }
     return $result;
 }