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" => "请先确认该订单是否存在!")); } }
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; }
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" => "招牌菜取消失败,请检查您是否存在该菜单或已取消!")); } }
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); } }