/**
  * 主界面
  */
 public function index()
 {
     if (Auth::check()) {
         $cartkey = Auth::user()->front_uid;
     } else {
         $cartkey = $this->getIP();
     }
     $key = 'laravel:user:'******':cart';
     $shop_id = Redis::lrange($key, 0, 0);
     $ids = array_count_values(Redis::lrange($key, 1, -1));
     $shop = Shop::find($shop_id[0]);
     $cart_list = array();
     $cart_amount = 0;
     // 商品总价格
     $i = 0;
     foreach ($ids as $id => $amount) {
         $good = Menu::find($id);
         $cart_list[$i] = array('good_name' => $good->title, 'good_id' => $id, 'good_price' => $good->price, 'good_amount' => $amount, 'good_total' => $good->price * $amount);
         $cart_amount += $cart_list[$i]['good_total'];
         $i++;
     }
     $output = array('userbar' => $this->getUserBar(), 'deliver_place' => Session::get('deliver_place'), 'deliver_tel' => Session::get('deliver_tel'), 'deliver_name' => Session::get('deliver_name'), 'deliver_time' => array('08:00', '09:00', '10:12', '12:30'), 'data' => array('user_name' => '注释用户名', 'shop_path' => '', 'shop_id' => $shop->id, 'shop_logo' => $shop->pic, 'shop_name' => $shop->name, 'shop_href' => url('shop/' . $shop->id), 'shop_type' => $shop->type, 'cart_list' => $cart_list, 'cart_amount' => $cart_amount, 'deliver_place' => Session::get('deliver_place'), 'deliver_time' => array('08:00', '09:00', '10:12', '12:30'), 'pay_method' => array('0' => array('is_default' => 0, 'method_name' => '在线支付'))), 'pay_status' => '付款信息');
     //var_dump($output);
     return View::make("template.order.order")->with($output);
 }
 protected function prepareMailData()
 {
     $product = Tree::find($this->getPreparedItem('id_catalog'));
     $occupation = Occupation::find($this->getPreparedItem('id_occupation'));
     $this->setMessageSubject('Заявка на услугу: ' . $product->title_ru);
     $this->appendMessageBody("<html><body>");
     $this->appendMessageBody("<p><b>Заявка на услугу:</b> " . $product->title_ru . "</p>");
     $this->appendMessageBody("<p><b>Фамилия:</b> " . $this->getPreparedItem('last_name') . "</p>");
     $this->appendMessageBody("<p><b>Имя:</b> " . $this->getPreparedItem('first_name') . "</p>");
     $this->appendMessageBody("<p><b>Отчество:</b> " . $this->getPreparedItem('patronymic_name') . "</p>");
     $this->appendMessageBody("<p><b>Занятость:</b> " . $occupation->title_ru . "</p>");
     $this->appendMessageBody("<p><b>Email:</b> " . $this->getPreparedItem('email') . "</p>");
     $this->appendMessageBody("<p><b>Контактный телефон:</b> " . $this->getPreparedItem('phone_number') . "</p>");
     $this->appendMessageBody("<p><b>Паспорт:</b> " . $this->getPreparedItem('passport') . "</p>");
     $this->appendMessageBody("<p><b>ИНН:</b> " . $this->getPreparedItem('inn') . "</p>");
     $this->appendMessageBody("<p><b>Клиент банка:</b> " . ($this->getPreparedItem('is_bank_client') ? 'Да' : 'Нет') . "</p>");
     if ($this->getPreparedItem('id_city')) {
         $city = City::find($this->getPreparedItem('id_city'));
         if (isset($city->title_ru)) {
             $this->appendMessageBody("<p><b>Город:</b> " . $city->title_ru . "</p>");
         }
     }
     if ($this->getPreparedItem('id_shop')) {
         $shop = Shop::find($this->getPreparedItem('id_shop'));
         if (isset($shop->title_ru)) {
             $this->appendMessageBody("<p><b>Магазин:</b> " . $shop->title_ru . "</p>");
         }
     }
     if ($this->getPreparedItem('id_product_type')) {
         $productType = Product::find($this->getPreparedItem('id_product_type'));
         if (isset($productType->title_ru)) {
             $this->appendMessageBody("<p><b>Тип товара:</b> " . $productType->title_ru . "</p>");
         }
     }
     if ($this->getPreparedItem('product_price')) {
         $this->appendMessageBody("<p><b>Стоимость товара:</b> " . $this->getPreparedItem('product_price') . "</p>");
     }
     if ($this->getPreparedItem('term')) {
         $this->appendMessageBody("<p><b>Срок кредита:</b> " . $this->getPreparedItem('term') . "</p>");
     }
     if ($this->getPreparedItem('is_insurance_loss_job')) {
         $this->appendMessageBody("<p><b>Страховка от временной потери работы:</b> Да</p>");
     }
     if ($this->getPreparedItem('is_insurance_accident')) {
         $this->appendMessageBody("<p><b>Страховка от несчастного случая:</b> Да</p>");
     }
     $this->appendMessageBody("<html><body>");
 }
 public function index()
 {
     /* Employee selected by clicking radio button */
     /* ! Remember to clear Input if this is redirected from delete !*/
     $selectedEmployee = new Employee();
     if (Input::has('selectedEmployee')) {
         $selectedEmployee = Employee::find(Input::get('selectedEmployee'));
     }
     $selectedCategory = new Category();
     if (Input::has('selectedCategory')) {
         $selectedCategory = Category::find(Input::get('selectedCategory'));
     }
     $selectedShop = new Shop();
     if (Input::has('selectedShop')) {
         $selectedShop = Shop::find(Input::get('selectedShop'));
     }
     $employees = Employee::all();
     $categories = Category::all();
     $shops = Shop::all();
     $item = new Item();
     return View::make('employees.index', compact('employees', 'item', 'categories', 'shops', 'selectedEmployee', 'selectedCategory', 'selectedShop'));
 }
 /**
  * 获取商家的评论统计信息,在店铺页面指着店铺名称时所显示的那些信息、
  *
  * 对应API:shop/blace/output/data
  * @param integer $sid 店铺ID
  * @return array 包含那些信息的ajax数据
  */
 public function getComment($sid)
 {
     $result = array();
     $s_info = Shop::find($sid);
     $result['shop_id'] = $s_info->id;
     $result['place_id'] = '123';
     // ------------------
     $result['shop_logo'] = $s_info->pic;
     $result['shop_name'] = $s_info->name;
     $result['shop_type'] = $s_info->type;
     // 计算各种比例是有一点麻烦。。。
     // shop表的id join 菜单表的id和shop_id join 评论表的menu_id和value,然后计算value在各个段的平均值。。。
     $hehe = CommentMenu::join('menu', 'comment.menu_id', '=', 'menu.id')->select('comment.value')->where('menu.shop_id', '=', $sid);
     $total = count($hehe->get());
     // 由于没有设置查询缓存,也只能这样子计算了
     $min_5 = count($hehe->whereBetween('value', array(0.0, 5.0))->get());
     $min_4 = count($hehe->whereBetween('value', array(0.0, 4.0))->get());
     $min_3 = count($hehe->whereBetween('value', array(0.0, 3.0))->get());
     $min_2 = count($hehe->whereBetween('value', array(0.0, 2.0))->get());
     $min_1 = count($hehe->whereBetween('value', array(0.0, 1.0))->get());
     $percent_1 = $min_1 / $total;
     $percent_2 = ($min_2 - $min_1) / $total;
     $percent_3 = ($min_3 - $min_2) / $total;
     $percent_4 = ($min_4 - $min_3) / $total;
     $percent_5 = ($min_5 - $min_4) / $total;
     $result['shop_level'] = '';
     $result['shop_total'] = '';
     $result['comment_count'] = '';
     $result['shop_statement'] = '';
     $result['shop_time'] = '';
     $result['shop_address'] = '';
     $result['deliver_begin'] = '';
     $result['shop_distance'] = '';
     $result['price_begin'] = '';
     $result['is_collected'] = '';
     return '------------------------------';
     //return $result;
 }
 /**
  * 获取每件商品名称以及其对应的销量
  * @return 键值对
  */
 public function getSoldNum($shop_id)
 {
     $menus = Shop::find($shop_id)->menus;
     $soldNum = array();
     foreach ($menus as $menu) {
         $soldNum[$menu->title] = $menu->sold_num;
     }
     //var_dump($soldNum);
     return $soldNum;
 }
 /**
  * 未评论页面
  */
 public function Uncomment()
 {
     $orders = Order::where('state', 4)->get();
     $data['userbar'] = $this->userBar();
     $data['sidebar'] = $this->sideBar();
     $data['uncomment']['deal_count'] = count($orders);
     $data['uncomment']['deal'] = array();
     foreach ($orders as $order) {
         $shop = Shop::find($order->shop_id);
         $one = array();
         $one['shop_id'] = $order->shop_id;
         $one['deal_id'] = $order->id;
         $one['deal_statue'] = $order->state;
         $one['same_again'] = '##';
         $one['deal_is_return'] = '##';
         // 是否能退单
         $one['deal_return'] = '##';
         // 退单链接
         $one['deal_is_pre'] = $order->is_pre;
         // 是否是预定单
         $one['deal_pre_time'] = $order->arrivetime;
         // 送餐时间
         $one['deal_again'] = '##';
         // 商品的地址
         $one['shop_name'] = $shop->name;
         // 商店的名称
         $one['deal_number'] = $order->id;
         // 订单号,先用订单ID代替
         $one['deal_time'] = $order->ordertime;
         //订单时间
         $one['deal_phone'] = $shop->linktel;
         //餐厅电话
         $one['deliver_address'] = $order->receive_address;
         //订单送往地址
         $one['deliver_phone'] = $order->receive_phone;
         $one['deliver_remark'] = $order->beta;
         //订单备注
         $one['deal_speed'] = 0;
         // 送餐速度,0没有评价1不满意2一般般3满意
         $one['deal_satisfied'] = '';
         $one['good'] = array();
         $menus = array_count_values(explode(',', $order->order_menus));
         foreach ($menus as $menu_id => $count) {
             $good = Menu::find($menu_id);
             array_push($one['good'], array('goods_id' => $good->id, 'goods_name' => $good->title, 'goods_value' => $good->price, 'goods_amount' => $count, 'goods_total' => $good->price * $count, 'good_atisfied' => '##'));
         }
         // others表示其他费用
         $one['others'] = array(array('item_name' => '', 'item_value' => '', 'item_amount' => '', 'item_total' => ''));
         $one['total'] = $order->total;
         array_push($data['uncomment']['deal'], $one);
     }
     return View::make("template.personal.personal_uncomment")->with($data);
 }
Beispiel #7
0
 /**
  * 功能:商家菜单页top_bar
  * 模块:前台
  *
  * 测试完成
  * 对应API:API/shop/商家菜单页
  */
 public function getTopbar($shop_id)
 {
     $shop = Shop::find($shop_id);
     $top_bar = array('url' => array(), 'data' => array());
     $top_bar['url']['return_back'] = '';
     // 返回主页的地址
     $top_bar['url']['shop_url'] = (string) $shop_id;
     // 当前商家的地址
     $top_bar['url']['comment_url'] = $shop_id . '/comments';
     // 商家评论页的地址
     $top_bar['url']['menu_url'] = (string) $shop_id;
     // 商家菜单的地址
     $top_bar['url']['photo_url'] = $shop_id . '/photo';
     // 美食墙的地址
     $top_bar['url']['message_url'] = $shop_id . '/message';
     // 商家留言的地址
     #TODO:在routes前端自己写的数据里有map_url选项,API里有两个不同的top_bar->url
     $top_bar['url']['map_url'] = '地图地址';
     $top_bar['data'] = $this->getShopInfo($shop_id);
     return $top_bar;
 }
Beispiel #8
0
 public function getUserBarCart()
 {
     if (Auth::check()) {
         $cartkey = Auth::user()->front_uid;
     } else {
         $cartkey = $this->getIP();
     }
     $key = 'laravel:user:'******':cart';
     if ($shop_id = Redis::lindex($key, 0)) {
         $data['successs'] = 'true';
         $data['state'] = 200;
         $data['errMsg'] = '';
         $data['no'] = 0;
         $shop = Shop::find($shop_id);
         $data['data']['url'] = 'shop/' . $shop_id;
         $data['data']['shop_name'] = $shop->name;
         $data['data']['all_value'] = 0;
         $data['data']['state'] = $shop->state == 0 ? 0 : 1;
         if ($shop->state == 1) {
             $data['data']['state_msg'] = '店铺打烊了';
         } elseif ($shop->state == 2) {
             $data['data']['state_msg'] = '店铺太忙了';
         } else {
             $data['data']['state_msg'] = '';
         }
         $ids = array_count_values(Redis::lrange($key, 1, -1));
         $data['data']['goods'] = array();
         foreach ($ids as $id => $count) {
             $menu = Menu::find($id);
             $value = $menu->price * $count;
             $data['data']['all_value'] += $value;
             array_push($data['data']['goods'], array('good_name' => $menu->title, 'good_value' => $value, 'good_count' => $count));
         }
         return Response::json($data);
     } else {
         return array('success' => 'false', 'state' => 200, 'errMsg' => '', 'no' => 0, 'data' => array());
     }
 }
 /**
  * 修改店铺基本信息
  */
 public function modifyInfo()
 {
     $record = array('name' => Input::get('shop_name'), 'type' => Input::get('shop_type'), 'address' => Input::get('shop_address'), 'begin_time' => Input::get('deliver_begin'), 'operation_time' => Input::get('shop_time'), 'intro' => Input::get('shop_statement'));
     $rules = array('name' => 'required | max:50', 'type' => 'required | max:45', 'address' => 'required | max:255', 'begin_time' => 'required | max:10', 'operation_time' => 'required | max:100', 'intro' => 'required | max:255');
     $v = Validator::make($record, $rules);
     if ($v->fails()) {
         $message = $v->messages();
         $error['msg'] = $message->toArray();
         $error['status'] = '400';
         return $error;
     }
     if (Shop::find(Auth::user()->shop_id)->update($record)) {
         return Redirect::to('/shop_info')->with('infoMsg', '修改基本信息!');
     } else {
         return json_encode(array('status' => '400', 'msg' => 'modify failed'));
     }
 }
Beispiel #10
0
 /**
  * 获取我收藏的店铺,最多5个
  */
 public function getMyStore()
 {
     if (!Auth::check()) {
         return array('url' => url('personal/collection/shop'), 'data' => array());
     }
     $user = Auth::user();
     $stores = CollectShop::where('uid', $user->front_uid)->orderBy('uptime', 'desc')->take(5)->lists('shop_id');
     $my_store = array();
     $my_store['url'] = url('personal/collection/shop');
     $my_store['data'] = array();
     foreach ($stores as $store) {
         $onestore = array();
         $shop = Shop::find($store);
         $onestore['shop_id'] = $shop->id;
         $onestore['place_id'] = 'null';
         // 地址ID,暂时不用
         $onestore['shop_url'] = url('shop/' . $shop->id);
         // 点击跳转到相应商家
         $onestore['shop_logo'] = $shop->pic;
         // 商家的logo图片地址
         $onestore['deliver_time'] = (double) $shop->interval;
         // 送货时间间隔
         $onestore['deliver_start'] = $shop->operation_time;
         // ----------------------------没有开始时间,只有一个时间字符串
         $onestore['shop_name'] = mb_strlen($shop->name, 'utf8') > 5 ? mb_substr($shop->name, 0, 8, 'utf8') : $shop->name;
         // 商家名称
         $onestore['shop_type'] = $shop->type;
         // 商家类型,以逗号分隔的字符串---------------------------这个还是问一下
         $Level = $this->getLevel($shop);
         $onestore['shop_level'] = $Level['thing_total'];
         // 商家评级
         $onestore['order_count'] = (double) $shop->sold_num;
         // 订单总量
         $onestore['is_opening'] = $this->isOnline($shop->operation_time, date('H:i')) ? 0 : 1;
         // 营业状态
         $onestore['is_ready_for_order'] = $shop->reserve;
         // 是否接受预定
         array_push($my_store['data'], $onestore);
     }
     return $my_store;
 }
Beispiel #11
0
 /**
  * 获取我收藏的店铺,最多5个
  * @return 
  */
 public function getMyStore()
 {
     if (!Auth::check()) {
         return array('url' => 'personal/collection/shop', 'data' => array());
     }
     $user = Auth::user();
     $stores = CollectShop::where('uid', $user->front_uid)->orderBy('uptime', 'desc')->take(5)->lists('shop_id');
     $my_store = array();
     $my_store['url'] = 'personal/collection/shop';
     $my_store['data'] = array();
     foreach ($stores as $store) {
         $onestore = array();
         $shop = Shop::find($store);
         $onestore['shop_id'] = $shop->id;
         #TODO:place_id不需要
         $onestore['place_id'] = '123';
         // ----------------------------------------后期可能是x和y
         $onestore['shop_url'] = 'shop/' . $shop->id;
         // 点击跳转到相应商家
         $onestore['shop_logo'] = $shop->pic;
         // 商家的logo图片地址
         $onestore['deliver_time'] = $shop->interval;
         // 送货时间间隔
         $onestore['deliver_start'] = $shop->operation_time;
         // ----------------------------没有开始时间,只有一个时间字符串
         $onestore['shop_name'] = $shop->name;
         // 商家名称
         $onestore['shop_type'] = $shop->type;
         // 商家类型,以逗号分隔的字符串---------------------------这个还是问一下
         $Level = $this->getLevel($shop);
         $onestore['shop_level'] = $Level['thing_total'];
         // 商家评级
         $onestore['order_count'] = $shop->sold_num;
         // 订单总量
         $onestore['is_opening'] = $shop->state;
         // 营业状态
         $onestore['is_ready_for_order'] = $shop->reserve;
         // 是否接受预定
         array_push($my_store['data'], $onestore);
     }
     return $my_store;
 }
 /**
  * Show the form for editing the specified shop.
  *
  * @param  int $id
  * @return Response
  */
 public function edit($id)
 {
     $shop = Shop::find($id);
     return View::make('shops.edit', compact('shop'));
 }