public function actionConfirmOrder() { //确认订单之前查看用户余额够不够付 $memberInfo = Members::model()->find('id=:id', array(':id' => Yii::app()->user->member_userinfo['id'])); if ($memberInfo->balance < $this->order['Total'] && !in_array(Yii::app()->user->member_userinfo['id'], Yii::app()->params['allow_user_id'])) { throw new CHttpException(404, Yii::t('yii', '亲!您的账户余额不足,不能下单哦,到前台妹子交钱吧!')); } //构建数据 $foodOrder = new FoodOrder(); $foodOrder->shop_id = $this->order['shop_id']; $foodOrder->order_number = date('YmdHis', time()) . Common::getRandNums(6); $foodOrder->food_user_id = Yii::app()->user->member_userinfo['id']; $foodOrder->total_price = $this->order['Total']; $foodOrder->create_time = time(); $foodOrder->product_info = serialize($this->order['Items']); if ($foodOrder->save()) { //记录订单动态 $foodOrderLog = new FoodOrderLog(); $foodOrderLog->food_order_id = $foodOrder->id; $foodOrderLog->create_time = time(); if ($foodOrderLog->save()) { //清空购物车 unset(Yii::app()->request->cookies['cart']); $this->redirect(Yii::app()->createUrl('site/orderok', array('ordernumber' => $foodOrder->order_number))); } } else { throw new CHttpException(404, Yii::t('yii', '下单失败')); } }
public function actionConfirmOrder() { //确认订单之前查看用户余额够不够付 $memberInfo = Members::model()->find('id=:id', array(':id' => Yii::app()->user->member_userinfo['id'])); //如果常驻员工只定了一份饭,则将费用减免掉 if ($memberInfo->resident == 1 and $this->order['Count'] == 1) { $this->order['Total'] = 0; foreach ($this->order['Items'] as $k => $v) { $this->order['Items'][$k]['Price'] = 0; $this->order['Items'][$k]['smallTotal'] = 0; } } //服务器端判断订餐时间有没有超过限制时间 $shop_id = Yii::app()->request->getParam('shop_id'); if (!Yii::app()->check_time->isShopOntime($shop_id)) { throw new CHttpException(404, Yii::t('yii', '你提交的订餐不在该餐订餐时间内')); } //如果状态禁用,不允许提交订单 if ($memberInfo->status == 2) { throw new CHttpException(404, Yii::t('yii', '你的帐号被管理员禁用,请联系行政MM处理!')); } if ($memberInfo->balance < $this->order['Total'] && !in_array(Yii::app()->user->member_userinfo['id'], Yii::app()->params['allow_user_id'])) { throw new CHttpException(404, Yii::t('yii', '您的账户余额不足,不能下单,到行政MM交钱吧!')); } //构建数据 $foodOrder = new FoodOrder(); $foodOrder->shop_id = $this->order['shop_id']; $foodOrder->order_number = date('YmdHis', time()) . Common::getRandNums(6); $foodOrder->food_user_id = Yii::app()->user->member_userinfo['id']; $foodOrder->total_price = $this->order['Total']; $foodOrder->create_time = time(); $foodOrder->product_info = serialize($this->order['Items']); if ($foodOrder->save()) { //记录订单动态 $foodOrderLog = new FoodOrderLog(); $foodOrderLog->food_order_id = $foodOrder->id; $foodOrderLog->create_time = time(); if ($foodOrderLog->save()) { //清空购物车 unset(Yii::app()->request->cookies['cart']); $this->redirect(Yii::app()->createUrl('site/orderok', array('ordernumber' => $foodOrder->order_number))); } } else { throw new CHttpException(404, Yii::t('yii', '下单失败')); } }
public function actionConfirmOrder() { //检查在不在订餐时间内 if (!Yii::app()->check_time->isOnTime()) { Error::output(Error::ERR_NOT_IN_TIME); } //接收传递过来的订单 $menuInfo = Yii::app()->request->getParam('menu_info'); $menuInfo = json_decode($menuInfo, 1); if ($menuInfo) { $shop_id = 0; $totalPrice = 0; //记录总价 $orderData = array(); //根据传递过来的订单构造数据 foreach ($menuInfo as $k => $v) { $menu = Menus::model()->find('id = :id AND status = :status', array(':id' => $v['id'], ':status' => 2)); if (!$menu) { Error::output(Error::ERR_ORDER_DATA_WRONG); } if (!$shop_id) { $shop_id = $menu->shop_id; } elseif ($menu->shop_id != $shop_id) { Error::output(Error::ERR_MENU_NOT_SAME_SHOP); } $orderData[] = array('Id' => $menu->id, 'Name' => $menu->name, 'Count' => intval($v['nums']), 'Price' => $menu->price, 'smallTotal' => $menu->price * $v['nums']); $totalPrice += $menu->price * $v['nums']; } if (!$shop_id || empty($orderData)) { Error::output(Error::ERR_ORDER_DATA_WRONG); } //获取当前用户信息,查看用户账户余额够不够付款 if ($this->module->user['balance'] < $totalPrice && !in_array($this->module->user['id'], Yii::app()->params['allow_user_id'])) { Error::output(Error::ERR_BALANCE_NOT_ENOUGH); } //构建数据 $foodOrder = new FoodOrder(); $foodOrder->shop_id = $shop_id; $foodOrder->order_number = date('YmdHis', time()) . Common::getRandNums(6); $foodOrder->food_user_id = $this->module->user['id']; $foodOrder->total_price = $totalPrice; $foodOrder->create_time = time(); $foodOrder->product_info = serialize($orderData); if ($foodOrder->save()) { //记录订单动态 $foodOrderLog = new FoodOrderLog(); $foodOrderLog->food_order_id = $foodOrder->id; $foodOrderLog->create_time = time(); $foodOrderLog->save(); Out::jsonOutput(array('return' => 1)); //下单成功 } else { Error::output(Error::ERR_SAVE_FAIL); } } }