Exemple #1
0
        public JsonResult UpdateItem(DishStore store, int?itemId, int count = 0)
        {
            if (!itemId.HasValue)
            {
                return(ApiModel(message: "参数不能为空[itemId]"));
            }

            DishShoppingCart item = DishShoppingCartBLL.SingleModel.GetModel(itemId.Value);

            if (item == null)
            {
                return(ApiModel(message: "订单商品不存在"));
            }

            DishOrder order = DishOrderBLL.SingleModel.GetModel(item.order_id);

            if (order.huodong_manjin_jiner > 0 && order.huodong_manjian_id == 0)
            {
                return(ApiModel(message: "2018-8-13前享受满减的订单,不能修改"));
            }

            List <DishShoppingCart> carts = DishShoppingCartBLL.SingleModel.GetShoppingCart(item.aId, item.storeId, item.user_id, order.id) ?? new List <DishShoppingCart>(); //购物车
            List <DishGood>         goods = DishGoodBLL.SingleModel.GetGoodsByIds(carts.Select(c => c.goods_id)?.ToArray());                                                  //购物车内商品详细资料

            if (goods == null || carts.Any(c => !goods.Any(g => c.goods_id == g.id)))
            {
                return(ApiModel(message: "菜品不存在"));
            }

            item.goods_number += count;
            if (item.goods_number < 0)
            {
                item.goods_number = 0;
            }

            if (item.goods_number <= 0 && carts.Count == 1)
            {
                return(ApiModel(message: "订单至少要有一个菜品"));
            }

            DishReturnMsg result      = new DishReturnMsg();
            bool          buildResult = DishOrderBLL.SingleModel.ReBuildOrder(order, store, item, carts, goods, result);

            return(ApiModel(isok: buildResult, message: buildResult ? "设置成功" : "设置失败"));
        }
Exemple #2
0
        public ActionResult ChangeDish(string act = "", int aId = 0, int storeId = 0, int orderId = 0, int cartId = 0, int count = 0)
        {
            #region 验证
            if (orderId <= 0)
            {
                _result.msg = "非法请求";
                return(Json(_result));
            }
            DishOrder order = DishOrderBLL.SingleModel.GetModel(orderId);
            DishStore store = DishStoreBLL.SingleModel.GetModel(storeId);
            if (store == null)
            {
                _result.msg = "门店不存在";
                return(Json(_result));
            }
            if (order == null)
            {
                _result.msg = "订单不存在";
                return(Json(_result));
            }
            if (order.pay_status != (int)DishEnums.PayState.未付款)
            {
                _result.msg = "只有未支付的订单才能修改";
                return(Json(_result));
            }
            #endregion
            DishShoppingCart cartModel = DishShoppingCartBLL.SingleModel.GetModel(cartId);
            if (cartModel == null)
            {
                _result.msg = "对象不存在或已删除";
                return(Json(_result));
            }
            if (order.huodong_manjin_jiner > 0 && order.huodong_manjian_id == 0)
            {
                _result.msg = "2018-8-13前享受满减的订单,不能修改";
                return(Json(_result));
            }


            List <DishShoppingCart> carts = DishShoppingCartBLL.SingleModel.GetShoppingCart(cartModel.aId, cartModel.storeId, cartModel.user_id, order.id) ?? new List <DishShoppingCart>(); //购物车
            List <DishGood>         goods = DishGoodBLL.SingleModel.GetGoodsByIds(carts.Select(c => c.goods_id)?.ToArray());                                                                 //购物车内商品详细资料
            if (goods == null || carts.Any(c => !goods.Any(g => c.goods_id == g.id)))
            {
                _result.msg = "菜品不存在";
                return(Json(_result));
            }
            cartModel.goods_number += count;
            if (cartModel.goods_number < 0)
            {
                cartModel.goods_number = 0;
            }

            if (cartModel.goods_number <= 0 && carts.Count == 1)
            {
                _result.msg = "订单至少要有一个菜品。";
                return(Json(_result));
            }

            bool buildResult = DishOrderBLL.SingleModel.ReBuildOrder(order, store, cartModel, carts, goods, _result);
            _result.code = buildResult ? 1 : 0;
            _result.msg  = buildResult ? "设置成功" : "设置失败";
            return(Json(_result));
        }