Example #1
0
        //用
        public string GetFoodDictForWeb(webReq req)
        {
            var dict = FoodInfoOper.Instance.GetFoods();
            List <foodId_name_amount_price_isMain> listFoods = new List <foodId_name_amount_price_isMain>();

            foreach (var item in dict)
            {
                foodId_name_amount_price_isMain fn = new foodId_name_amount_price_isMain(item, 1);
                listFoods.Add(fn);
            }
            return(JsonConvert.SerializeObject(listFoods));
        }
Example #2
0
        /// <summary>
        /// 获取订单中的菜品列表
        /// </summary>
        /// <returns></returns>
        public List <foodId_name_amount_price_isMain> GetFoodINAPI(List <foodId_Amount> listFoods)
        {
            var ids    = listFoods.Select(p => p.foodId).ToArray();
            var idsStr = string.Join(",", ids);
            var list   = CacheHelper.GetByCondition <FoodInfo>("FoodInfo", " id in(" + idsStr + ")");
            List <foodId_name_amount_price_isMain> listR = new List <foodId_name_amount_price_isMain>();

            foreach (var item in listFoods)
            {
                var food = list.Where(p => p.id == item.foodId).First();
                foodId_name_amount_price_isMain fa = new foodId_name_amount_price_isMain(food, item.amount);
                listR.Add(fa);
            }
            return(listR);
        }
Example #3
0
        //用
        public string GetFoodDictForWeb(webReq req)
        {
            ResultForWeb r = new ResultForWeb
            {
                HttpCode = 200,
                Message  = "",
                data     = "{}"
            };
            var dict = FoodInfoOper.Instance.GetFoods();
            List <foodId_name_amount_price_isMain> listFoods = new List <foodId_name_amount_price_isMain>();

            foreach (var item in dict)
            {
                foodId_name_amount_price_isMain fn = new foodId_name_amount_price_isMain(item, 1);
                listFoods.Add(fn);
            }
            r.data = JsonConvert.SerializeObject(listFoods);
            return(JsonConvert.SerializeObject(r));
        }
Example #4
0
        public ActionResult Detail(webReq req)
        {
            if (Session["pfId"] == null)
            {
                return(View("_Login"));
            }
            var id = req.id;

            ViewBag.isAdd = false;

            ViewBag.statusDict = OrderInfoOper.Instance.GetStatusDict();
            ViewBag.areaDict   = AreaInfoOper.Instance.GetAreaDict();
            ViewBag.riderDict  = RiderInfoOper.Instance.GetRiderDict();
            ViewBag.foodDict   = FoodInfoOper.Instance.GetFoodDict();
            ViewBag.userDict   = UserInfoOper.Instance.GetUserDict();

            if (id != 0)
            {
                var list = CacheHelper.GetByCondition <OrderTryJoin>("ordertryjoin", " id=" + id);
                if (list.Count < 0)
                {
                    ViewBag.isRight = false;
                }
                else
                {
                    List <foodId_name_amount_price_isMain> listFoods = new List <foodId_name_amount_price_isMain>();
                    foreach (var item in list)
                    {
                        foodId_name_amount_price_isMain temp = new foodId_name_amount_price_isMain(item);
                        listFoods.Add(temp);
                    }
                    ViewBag.listFoods = listFoods;

                    ViewBag.isRight = true;
                    var order = list.First();
                    ViewBag.order   = order;
                    ViewBag.orderId = order.id;

                    ViewBag.userName   = order.userName;
                    ViewBag.userId     = order.userId;
                    ViewBag.createTime = order.createTime;
                    ViewBag.status     = order.status;
                    ViewBag.isActual   = order.isActual;
                    ViewBag.remarks    = order.remarks;

                    ViewBag.riderName    = order.riderName;
                    ViewBag.riderPhone   = order.riderPhone;
                    ViewBag.riderId      = order.riderId;
                    ViewBag.areaId       = order.areaId;
                    ViewBag.areaName     = order.areaName;
                    ViewBag.userAddress  = order.mapAddress + order.addrDetail;
                    ViewBag.contactName  = order.contactName;
                    ViewBag.contactPhone = order.contactPhone;

                    ViewBag.arrivalTime = Convert.ToDateTime(order.arrivalTime).ToString("yyyy-MM-dd") + order.timeArea;
                    ViewBag.endTime     = order.endTime;
                    ViewBag.comment     = order.riderComment;

                    ViewBag.payType    = order.payType;
                    ViewBag.payMoney   = order.payMoney;
                    ViewBag.payTime    = order.payTime;
                    ViewBag.useBalance = order.useBalance;
                    ViewBag.useCoupon  = order.useCoupon;
                    ViewBag.deposit    = order.deposit;
                }
            }
            else
            {
                ViewBag.isAdd = true;
                OrderInfo order = new OrderInfo();
                ViewBag.isRight = true;
            }
            return(View());
        }
Example #5
0
        public HttpResponseMessage ToPayPage(ToPayPageReq req)
        {
            OrderRes res      = new OrderRes();
            var      userId   = Convert.ToInt32(req.userId);
            var      tokenStr = req.Token;

            Token token = CacheHelper.GetUserToken(tokenStr);

            if (token == null)
            {
                return(ControllerHelper.Instance.JsonResult(400, "token失效"));
            }
            if (token.Payload.UserID != userId)
            {
                return(ControllerHelper.Instance.JsonResult(400, "token错误"));
            }

            var areaId = Convert.ToInt32(req.areaId);
            List <RiderStockJoin> listRs = RiderStockOper.Instance.GetRSJoinByAreaId(areaId);

            var foodIdsInArea = listRs.Select(p => p.foodId).Distinct().ToArray();//区域内存在的菜品的id
            var list_foods    = new List <foodId_Amount>();
            var listafa       = CacheHelper.GetTempFoods2(userId);

            listafa = listafa.Where(p => p.areaId == areaId).ToList();//-txy
            foreach (var item in listafa)
            {
                foodId_Amount fa = new foodId_Amount();
                fa.amount = item.amount;
                fa.foodId = item.foodId;
                list_foods.Add(fa);
            }

            #region 根据库存调整菜品数量
            //点过的菜,不属于区域内的去掉
            list_foods = list_foods.Where(p => foodIdsInArea.Contains(p.foodId)).ToList();

            var listTempFoods = new List <foodId_Amount>();
            foreach (var item in list_foods)
            {
                var rsAmount = listRs.Where(p => p.foodId == item.foodId).ToList().Sum(p => p.amount);
                item.amount = item.amount > rsAmount ? (int)rsAmount : item.amount;
                listTempFoods.Add(item);
            }
            #endregion

            var list_addr = UserAddressOper.Instance.GetRecentlyAddr(userId);
            if (list_addr.Count < 1)
            {
                res.userAddress = null;
            }
            else
            {
                res.userAddress = new UserAddressForOrderRes(list_addr.First());
            }

            var user    = UserInfoOper.Instance.GetById(userId);//获取用户信息
            var balance = (decimal)user.userBalance;
            var coupon  = (decimal)user.coupon;

            var ids = listTempFoods.Select(p => p.foodId).ToArray();

            var tempList = CacheHelper.GetByIds <FoodView>("foodView", ids);

            var f_d        = FoodInfoOper.Instance.GetFoodPriceAndDeposit(listTempFoods);
            var deposit    = f_d.deposit;
            var foodsPrice = f_d.price;
            var priceRes   = ControllerHelper.Instance.GetThreePriceWithDeposit(balance, coupon, foodsPrice, deposit);

            res.balance = balance.ToString();
            res.coupon  = coupon.ToString();
            PriceAll pa = new PriceAll();
            pa.payMoney  = priceRes.payMoney.ToString();
            pa.price     = (priceRes.payMoney + priceRes.useBalance).ToString();
            res.priceAll = pa;

            List <foodId_name_amount_price_isMain> foodListRes = new List <foodId_name_amount_price_isMain>();
            foreach (var item in tempList)
            {
                foodId_name_amount_price_isMain a = new foodId_name_amount_price_isMain(item);
                foodListRes.Add(a);
            }

            foreach (var item in listTempFoods)
            {
                foodListRes.Where(p => p.foodId == item.foodId).FirstOrDefault().amount = item.amount;
            }

            var list = RiderStockOper.Instance.GetStockNotMain(areaId);

            var extraFoodIdList = list.OrderByDescending(p => p.id).GroupBy(p => new { p.foodId, p.foodName, p.foodPrice }).Select(g => new foodId_name_amount_price_isMain
            {
                foodId    = (int)g.Key.foodId,
                foodName  = g.Key.foodName,
                foodPrice = g.Key.foodPrice.ToString(),
                amount    = 0,
                isMain    = false
            }).ToList();
            foreach (var item in extraFoodIdList)
            {
                foodListRes.Add(item);
            }

            res.listFoods = foodListRes.OrderByDescending(p => p.foodId).ToList();

            res.isUseBalance = balance <= 0 ? false : true;
            res.isUseCoupon  = coupon <= 0 ? false : true;
            res.deposit      = deposit.ToString();
            return(ControllerHelper.Instance.JsonResult(200, JsonConvert.SerializeObject(res), ""));
        }