Exemple #1
0
 public function indexAction()
 {
     $userInfo = $this->session->get('userInfo');
     //验证会员是否已登录
     if (empty($userInfo)) {
         $url = $this->url->get('user/login');
         header("Location:{$url}");
         exit;
     }
     $uid = $userInfo['id'];
     //分页
     $page = $this->request->get('page') ? $this->request->get('page') : 1;
     $filter = array("uid={$uid}", 'order' => 'ctime desc');
     //总数
     $count = \Order::count($filter);
     $limit = 5;
     $filter['offset'] = ($page - 1) * $limit;
     $filter['limit'] = $limit;
     //查询订单信息
     $userOrder = \Order::find($filter) ? \Order::find($filter)->toArray() : '';
     //查询订单影片信息
     foreach ($userOrder as &$val) {
         $val['film'] = Film::findFirst('id=' . $val['film_id'])->toArray();
         $val['film_heat'] = FilmHeat::findFirst('film_id=' . $val['film_id'])->toArray();
         $schedule = FilmSchedule::findFirst('id=' . $val['schedule_id'])->toArray();
         if ($schedule) {
             $time = strtotime($schedule['starttime']);
             $week_arr = array('日', '一', '二', '三', '四', '五', '六');
             $val['film_schedule'] = date('n', $time) . '月' . date('j', $time) . '日 周' . $week_arr[date('w', $time)] . ' ' . date('H:i', $time);
         } else {
             $val['film_schedule'] = '';
         }
     }
     $page_html = \ToolStr::GetPage($count, $limit);
     $this->view->setVar('page_html', $page_html);
     $this->view->setVar('userInfo', $userInfo);
     $this->view->setVar('user_order', $userOrder);
     $this->view->setVar('title', '会员中心');
 }
    public function listOrder()
    {
        if (!Request::ajax()) {
            return App::abort(404);
        }
        $admin_id = Auth::admin()->get()->id;
        $start = Input::has('start') ? (int) Input::get('start') : 0;
        $length = Input::has('length') ? Input::get('length') : 10;
        $search = Input::has('search') ? Input::get('search') : [];
        $orders = Order::with('billingAddress')->with('shippingAddress')->with('user')->select(DB::raw('id, user_id, billing_address_id, shipping_address_id, status, sum_sub_total, discount, tax, sum_tax, note,
											(SELECT COUNT(*)
												FROM notifications
									         	WHERE notifications.item_id = orders.id
									         		AND notifications.item_type = "Order"
													AND notifications.admin_id = ' . $admin_id . '
													AND notifications.read = 0 ) as new'));
        if (!empty($search)) {
            foreach ($search as $key => $value) {
                if (empty($value)) {
                    continue;
                }
                if ($key == 'status') {
                    $orders->where($key, $value);
                } else {
                    if ($key == 'full_name') {
                        $orders->whereHas('user', function ($query) use($value) {
                            $query->where(function ($q) use($value) {
                                $value = trim($value);
                                $arr_value = explode(' ', $value);
                                foreach ($arr_value as $key2 => $value2) {
                                    $q->orWhere('first_name', 'like', '%' . $value2 . '%');
                                    $q->orWhere('last_name', 'like', '%' . $value2 . '%');
                                }
                            });
                        });
                    } else {
                        if ($key == 'billing_address_id') {
                            $orders->whereHas('billing_address', function ($query) use($value) {
                                $query->where(function ($q) use($value) {
                                    $value = trim($value);
                                    $arr_value = explode(' ', $value);
                                    foreach ($arr_value as $key2 => $value2) {
                                        $q->orWhere('address1', 'like', '%' . $value2 . '%');
                                        $q->orWhere('address2', 'like', '%' . $value2 . '%');
                                    }
                                });
                            });
                        } else {
                            if ($key == 'shipping_address_id') {
                                $orders->whereHas('shipping_address', function ($query) use($value) {
                                    $query->where(function ($q) use($value) {
                                        $value = trim($value);
                                        $arr_value = explode(' ', $value);
                                        foreach ($arr_value as $key2 => $value2) {
                                            $q->orWhere('address1', 'like', '%' . $value2 . '%');
                                            $q->orWhere('address2', 'like', '%' . $value2 . '%');
                                        }
                                    });
                                });
                            } else {
                                $value = ltrim(rtrim($value));
                                $orders->where($key, 'like', '%' . $value . '%');
                            }
                        }
                    }
                }
            }
        }
        $order = Input::has('order') ? Input::get('order') : [];
        if (!empty($order)) {
            $columns = Input::has('columns') ? Input::get('columns') : [];
            foreach ($order as $value) {
                $column = $value['column'];
                if (!isset($columns[$column]['name']) || empty($columns[$column]['name'])) {
                    continue;
                }
                $orders->orderBy($columns[$column]['name'], $value['dir'] == 'asc' ? 'asc' : 'desc');
            }
        }
        $count = $orders->count();
        if ($length > 0) {
            $orders = $orders->skip($start)->take($length);
        }
        $arrOrders = $orders->get()->toArray();
        $arrReturn = ['draw' => Input::has('draw') ? Input::get('draw') : 1, 'recordsTotal' => Order::count(), 'recordsFiltered' => $count, 'data' => []];
        $arrRemoveNew = [];
        if (!empty($arrOrders)) {
            foreach ($arrOrders as $key => $order) {
                $order['full_name'] = $order['user']['first_name'] . ' ' . $order['user']['last_name'];
                if ($order['new']) {
                    $order['full_name'] .= '| <span class="badge badge-danger">new</span>';
                    $arrRemoveNew[] = $order['id'];
                }
                $order['billing_address'] = $order['billing_address']['address1'] . ' ' . $order['billing_address']['address2'];
                $order['shipping_address'] = $order['shipping_address']['address1'] . ' ' . $order['shipping_address']['address2'];
                $arrReturn['data'][] = array(++$start, $order['id'], $order['full_name'], $order['billing_address'], $order['shipping_address'], $order['status'], $order['sum_sub_total'], $order['discount'], $order['sum_tax'], $order['note'], htmlentities(nl2br($order['billing_address'])), htmlentities(nl2br($order['shipping_address'])));
            }
        }
        if (!empty($arrRemoveNew)) {
            Notification::whereIn('item_id', $arrRemoveNew)->where('item_type', 'Order')->where('admin_id', $admin_id)->update(['read' => 1]);
        }
        $response = Response::json($arrReturn);
        $response->header('Content-Type', 'application/json');
        return $response;
    }
 public function myOrders($app)
 {
     if (!$app->user->isLoggedIn()) {
         $app->output->redirect('/account/login');
     }
     $request = $app->router->flight->request();
     $page = $request->query->p ?: 0;
     $offset = $page * self::MAX_ORDERS_SHOWN;
     $total = Order::count(array('conditions' => array('user_id = ?', $app->user->id))) / self::MAX_ORDERS_SHOWN;
     $total = ceil($total);
     if ($offset < 0 || $page > $total) {
         $app->output->redirect('/account/orders');
     }
     // All of the orders made by a user
     $orders = Order::find('all', array('conditions' => array('user_id = ?', $app->user->id), 'offset' => $offset, 'limit' => self::MAX_ORDERS_SHOWN, 'order' => 'updated_at DESC'));
     if (empty($orders)) {
         $app->output->alert('You have yet to make/receive any orders.');
     }
     $app->output->setTitle('Order History');
     $app->output->addBreadcrumb('', 'CSGOShop');
     $app->output->addBreadcrumb('account/orders', 'Order History');
     $app->output->setActiveTab('account');
     $app->output->render('account.history', ['orders' => $orders, 'page_num' => $page, 'total' => $total]);
 }
Exemple #4
0
        // get some divs
        if ($by_ajax && is_numeric($target) && preg_match('/get_.+_div/', $action)) {
            include FrameFile::controller('order.get_div');
            exit;
        }
        // 对订单的操作,通过表单post过来的
        if ($action && $by_post && is_numeric($target)) {
            include FrameFile::controller('order.control');
            exit;
        }
        list($customer, $username, $factory) = _get('customer', 'username', 'factory');
        $conds = array_merge($conds, compact('username', 'factory'));
        $page['styles'][] = 'admin';
        break;
    default:
        throw new Exception("unkown user type: {$user_type}");
        break;
}
$conds['customer'] = $customer;
$per_page = 50;
$total = Order::count($conds);
$paging = new Paginate($per_page, $total);
$paging->setCurPage(_get('p') ?: 1);
$orders = Order::listOrder(array_merge(array('limit' => $per_page, 'offset' => $paging->offset()), $conds));
// we don't need these two lines
if (empty($orders)) {
    $orders = array();
}
$matter = $view;
$view = 'board?master';
$page['scripts'][] = 'jquery.validate.min';
	public function actionIndex()
	{
		$orderModel = new Order;
		
		$mid = Yii::app()->session['myuserid'];
		//计算代付款订单数量
		$unpaycount = $orderModel->count(array(
				'condition'=>'status=0',
				'condition'=>"mid=$mid",
				));
		//输出当前账号订单信息
		$criteria=new CDbCriteria;
		$criteria->select = 'id,tid,sid,tattedcode,name,daynumber,departure,trackcode,createtime,status';
		$criteria->condition = "mid=$mid and updatetime<>0";
		$criteria->order = "createtime desc";
		
		$count=$orderModel->count($criteria);
		$pages=new CPagination($count);
		$pages->pageSize=5;
		$pages->applyLimit($criteria);
		
		$orderinfo = $orderModel->findAll($criteria);
		
		//查询当前账号信息
		$mid = Yii::app()->session['myuserid'];
		$memberModel = Member::model()->find(array(
				'condition'=>"id=$mid",
				));
		
		//获取当前账号评论信息
		$reviewsArr = $memberModel->Reviews;
		
		//获取单个订单的信息
		//$oneOrders = array();
		$controerM = array();
		$clentsArr = array();
		$roomArr = array();
		if(isset($_REQUEST['rute'])){
			$temstr = explode('-',$_REQUEST['rute']);
			if($temstr[0]=='v'){
				$oid = intval($temstr[1]);
				$orderModel = $orderModel->find(array(//单个订单信息
						'select'=>'id,cid,name,daynumber,departure,aduit,child,trackcode,createtime,status',
						'condition'=>"id=$oid and mid=$mid",
				));
				if($orderModel==null){
					$this->render('404',array('msg'=>'该订单不存在!'));
					exit;
				}
				//联系人信息
				$cid = $orderModel->cid;
				$controerM = Contacter::model()->findByPk($cid);//联系人信息
				//参团人信息
				$clentsArr = $orderModel->Clients;
					
				//房间信息
				$roomArr = $orderModel->Rooms;
			}
		}

		$this->render('index',array(
				'orderinfo'=>$orderinfo,
				'unpaycount'=>$unpaycount,
				'memberModel'=>$memberModel,
				'reviewsArr'=>$reviewsArr,
				'orderModel'=>$orderModel,
				'controerM'=>$controerM,
				'clentsArr'=>$clentsArr,
				'roomArr'=>$roomArr,
				'pages'=>$pages,
				));
	}
	public function actiondevice()
	{
		$CModel = new Order;
		$criteria=new CDbCriteria;
		
		$start = '';
		$stop = '';
		//构造条件
		if(isset($_POST['device'])){
			switch ($_POST['type']){
				case 1:
					$criteria->addCondition("device=1");break;
				case 2:
					$criteria->addCondition("device=2");break;
				default:
					break;
			}
			
			if(!empty($_POST['start'])){
				$start = $_POST['start'];
				$mytimeteo = strtotime($mytime);
				$criteria->addCondition("createtime>=$mytimeteo");
			}
			
			if(!empty($_POST['stop'])){
				$stop = $_POST['stop'];
				$mytimeteo = strtotime($mytime);
				$criteria->addCondition("createtime<=$mytimeteo");
			}
		}
		$criteria->addCondition("updatetime<>0");
		//分页
		$count=$CModel->count($criteria);
		$pages=new CPagination($count);
		$pages->pageSize=15;
		$pages->applyLimit($criteria);
		
		$calArr = $CModel->findAll($criteria);
		
		$this->render('device',array(
				'calArr'=>$calArr,
				'pages'=>$pages,
				'start'=>$start,
				'stop'=>$stop,
		));
	}