public function menuGrade()
 {
     $menuId = decodeMenuId(intval($this->_post("menuId")));
     $orderId = decodeOrderId(intval($this->_post("orderId")));
     $grade = floatval($this->_post("grade"));
     //分数
     $remark = $this->_post("remark");
     //留言
     if (D("order_detail")->where("menu_id = {$menuId} AND order_id = {$orderId} AND is_grade = 0")->save(array("is_grade" => 1, "grade" => $grade, "remark" => $remark))) {
         $uid = session("uid");
         D("User")->addUserEvaluateCredit($orderId, $menuId);
         //增加用户积分
         D("UserLogs")->userLogs(10000, json_encode(array("order_id" => $orderId, "menu_id" => $menuId)));
         $this->ajaxReturn(array("responce" => "SUCCESS", "message" => "评分成功!"));
     } else {
         $this->ajaxReturn(array("responce" => "FAILED", "message" => "请先确认该订单是否存在!"));
     }
 }
Example #2
0
 public function addOrder($remark = "")
 {
     $orderList = session("order");
     $uid = session("uid");
     $userInfo = D("User")->getUserInfoByUserId($uid);
     $insertData['shop_id'] = decodeShopId($orderList['shopId']);
     $insertData['order_price'] = $orderList['totalPrice'];
     $insertData['order_number'] = $orderList['totalNumber'];
     $insertData['order_address'] = $userInfo['address'];
     $insertData['order_phone'] = $userInfo['phone'];
     $insertData['order_user_name'] = $userInfo['user_name'];
     $insertData['order_pay_type'] = $orderList['payType'];
     $insertData['user_remark'] = $remark;
     $insertData['order_status'] = 2;
     $insertData['date'] = date("Y-m-d H:i:s");
     $insertData['user_id'] = $uid;
     $orderDetail = array();
     //提取session的订单详情
     foreach ($orderList as $key => $tmpValue) {
         if ($tmpValue['menuId'] != null && is_array($tmpValue)) {
             $tmpMenu['menu_id'] = decodeMenuId($tmpValue['menuId']);
             $tmpMenu['menu_name'] = $tmpValue['menuName'];
             $tmpMenu['menu_price'] = $tmpValue['menuPrice'];
             $tmpMenu['menu_number'] = $tmpValue['menuCount'];
             array_push($orderDetail, $tmpMenu);
         }
     }
     $orderId = $this->add($insertData);
     if ($orderId) {
         $orderDetailInsert = M("order_detail");
         foreach ($orderDetail as $key => $value) {
             $value['order_id'] = $orderId;
             $orderDetailInsert->add($value);
         }
     }
     return $orderId;
 }
Example #3
0
 public function cancelSpecial()
 {
     session_start();
     $menuId = decodeMenuId(intval($this->_post("menuId")));
     $shopId = session("shopId");
     if (D("Menu")->cancelSpecial($shopId, $menuId)) {
         $this->ajaxReturn(array("responce" => "SUCCESS", "message" => "招牌菜取消成功!"));
     } else {
         $this->ajaxReturn(array("responce" => "SUCCESS", "message" => "招牌菜取消失败,请检查您是否存在该菜单或已取消!"));
     }
 }
Example #4
0
 public function orderChange()
 {
     $menuId = intval($this->_post("menuIndex"));
     //菜单的id
     $shopId = intval($this->_post("shopIndex"));
     //店铺的id
     $operator = $this->_post("operator");
     //所要进行的操作
     $responceBool = D("Menu")->boolShopIdWithMenuId(decodeShopId($shopId), decodeMenuId($menuId));
     $returnNumber = 0;
     //对应的店铺跟菜单是对应的
     if (is_array($responceBool)) {
         //确认该菜单还没有售罄 还有返回1  售罄了 就返回0
         if (D("Menu")->getMenuStatus(decodeMenuId($menuId)) == 2) {
             //店铺中不存在该商品
             $returnResponce['message'] = "该餐点已售罄";
             $returnResponce['responce'] = "FAILED";
             $this->ajaxReturn($returnResponce);
         }
         $shopStatus = D("Shop")->getShopStatus(decodeShopId($shopId));
         //查看店铺状态
         if ($shopStatus == 2) {
             $returnResponce['message'] = "餐厅已经打烊";
             $returnResponce['responce'] = "FAILED";
             $this->ajaxReturn($returnResponce);
         } else {
             if ($shopStatus == 3) {
                 $returnResponce['message'] = "餐厅正在休息中,订餐请稍候!";
                 $returnResponce['responce'] = "FAILED";
                 $this->ajaxReturn($returnResponce);
             }
         }
         $orderList = session("order");
         //当用户的order不是空的时候
         if (is_array($orderList)) {
             if ($orderList['shopId'] != $shopId) {
                 session("order", null);
                 $orderList['shopId'] = $shopId;
                 $orderList['shopStartPrice'] = intval(D("Shop")->getShopStartPrice(decodeShopId($shopId)));
                 //获取商铺起送价
                 $orderList['totalPrice'] = 0;
                 $orderList['totalNumber'] = 0;
                 $orderList['payType'] = 0;
                 //货到付款
             }
         } else {
             $orderList['shopId'] = $shopId;
             $orderList['shopStartPrice'] = intval(D("Shop")->getShopStartPrice(decodeShopId($shopId)));
             //获取商铺起送价
             $orderList['totalPrice'] = 0;
             $orderList['totalNumber'] = 0;
             $orderList['payType'] = 0;
             //货到付款
         }
         $tag = false;
         //用来标记该餐品是否被找到
         $totalPrice = $orderList['totalPrice'];
         //物品总价
         //在session中寻找对应的menu_id的数量、如果没有则为0
         foreach ($orderList as $key => $tmpValue) {
             if ($menuId == $tmpValue['menuId']) {
                 $tag = true;
                 if ($operator === "MINUS" && $tmpValue['menuCount'] > 0) {
                     $tmpValue['menuCount'] -= 1;
                     $orderList['totalNumber'] -= 1;
                     $totalPrice -= $tmpValue['menuPrice'];
                     $orderList[$key] = $tmpValue;
                     if ($tmpValue['menuCount'] == 0) {
                         $orderList[$key] = null;
                     }
                 } else {
                     if ($operator == "PLUS") {
                         $tmpValue['menuCount'] += 1;
                         $orderList['totalNumber'] += 1;
                         $totalPrice += $tmpValue['menuPrice'];
                         $orderList[$key] = $tmpValue;
                     } else {
                         if ($operator == "MINUS" && $tmpValue['menuCount'] <= 0) {
                             $tmpValue['menuCount'] = 0;
                             $orderList[$key] = null;
                         }
                     }
                 }
                 $returnNumber = $tmpValue['menuCount'];
                 //将要返回的数字
             } else {
                 if (!$tmpValue['menuId']) {
                     $totalPrice += $tmpValue['menuPrice'] * $tmpValue['menuCount'];
                 }
             }
         }
         //如果该商品没有被订购则添加
         if ($tag == false && $operator == "PLUS") {
             $menuInfo = D("Menu")->getMenuInfoByMenuId(decodeMenuId($menuId));
             array_push($orderList, array("menuId" => $menuId, "menuCount" => 1, "menuPrice" => $menuInfo['price'], "menuName" => $menuInfo['menu_name']));
             $totalPrice += $menuInfo['price'];
             $returnNumber = 1;
             $orderList['totalNumber'] += 1;
         }
         $orderList['totalPrice'] = $totalPrice;
         if ($orderList['totalNumber'] == 0) {
             session("order", null);
         } else {
             session("order", $orderList);
         }
         $this->ajaxReturn(array("responce" => "SUCCESS", "orderInfo" => $orderList, "responceNumber" => $returnNumber));
     } else {
         //店铺中不存在该商品
         $returnResponce['message'] = "该餐厅没有该餐点, 请刷新后确认!";
         $returnResponce['responce'] = "FAILED";
         $this->ajaxReturn($returnResponce);
     }
 }