Ejemplo n.º 1
0
        public ActionResult SendOrderProduct(SendOrderProductModel model, int oid = -1)
        {
            OrderInfo orderInfo = AdminOrders.GetOrderByOid(oid);

            if (orderInfo == null)
            {
                return(PromptView("订单不存在"));
            }
            if (orderInfo.StoreId != WorkContext.StoreId)
            {
                return(PromptView("不能操作其它店铺的订单"));
            }
            if (orderInfo.OrderState != (int)OrderState.PreProducting)
            {
                return(PromptView(Url.Action("orderinfo", new { oid = oid }), "订单还未完成备货,不能发货"));
            }

            ShipCompanyInfo shipCompanyInfo = ShipCompanies.GetShipCompanyById(model.ShipCoId);

            if (shipCompanyInfo == null)
            {
                ModelState.AddModelError("ShipCoId", "请选择配送公司");
            }

            if (ModelState.IsValid)
            {
                AdminOrders.SendOrder(oid, OrderState.Sended, model.ShipSN, model.ShipCoId, shipCompanyInfo.Name, DateTime.Now);
                CreateOrderAction(oid, OrderActionType.Send, "您订单的已经发货,发货方式为:" + shipCompanyInfo.Name);
                AddStoreAdminLog("发货", "发货,订单ID为:" + oid);
                return(PromptView(Url.Action("orderinfo", new { oid = oid }), "发货成功"));
            }
            ViewData["orderInfo"] = orderInfo;
            return(View(model));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 订单信息
        /// </summary>
        /// <param name="oid">订单id</param>
        /// <returns></returns>
        public ActionResult OrderInfo(int oid = -1)
        {
            OrderInfo orderInfo = AdminOrders.GetOrderByOid(oid);

            if (orderInfo == null)
            {
                return(PromptView("订单不存在"));
            }
            if (orderInfo.StoreId != WorkContext.StoreId)
            {
                return(PromptView("不能操作其它店铺的订单"));
            }

            OrderInfoModel model = new OrderInfoModel();

            model.OrderInfo        = orderInfo;
            model.RegionInfo       = Regions.GetRegionById(orderInfo.RegionId);
            model.UserInfo         = Users.GetUserById(orderInfo.Uid);
            model.UserRankInfo     = AdminUserRanks.GetUserRankById(model.UserInfo.UserRid);
            model.OrderProductList = AdminOrders.GetOrderProductList(oid);
            model.OrderActionList  = OrderActions.GetOrderActionList(oid);

            string[] sizeList = StringHelper.SplitString(WorkContext.MallConfig.ProductShowThumbSize);

            ViewData["size"]    = sizeList[sizeList.Length / 2];
            ViewData["referer"] = MallUtils.GetStoreAdminRefererCookie();
            return(View(model));
        }
Ejemplo n.º 3
0
        public ActionResult PayOrder(int oid = -1)
        {
            OrderInfo orderInfo = AdminOrders.GetOrderByOid(oid);

            if (orderInfo == null)
            {
                return(PromptView("订单不存在"));
            }
            if (orderInfo.StoreId != WorkContext.StoreId)
            {
                return(PromptView("不能操作其它店铺的订单"));
            }

            if (orderInfo.PayMode != 2)
            {
                return(PromptView(Url.Action("orderinfo", new { oid = oid }), "付款操作只适用于线下付款"));
            }
            if (orderInfo.OrderState != (int)OrderState.WaitPaying)
            {
                return(PromptView(Url.Action("orderinfo", new { oid = oid }), "当前不能支付订单"));
            }

            PayOrderModel model = new PayOrderModel();

            ViewData["orderInfo"] = orderInfo;
            return(View(model));
        }
Ejemplo n.º 4
0
        public ActionResult UpdateOrderDiscount(UpdateOrderDiscountModel model, int oid = -1)
        {
            OrderInfo orderInfo = AdminOrders.GetOrderByOid(oid);

            if (orderInfo == null)
            {
                return(PromptView("订单不存在"));
            }
            if (!(orderInfo.OrderState == (int)OrderState.WaitPaying || (orderInfo.OrderState == (int)OrderState.Confirming && orderInfo.PayMode == 0)))
            {
                return(PromptView(Url.Action("orderinfo", new { oid = oid }), "不能修改订单折扣"));
            }

            if (model.Discount > (orderInfo.SurplusMoney + orderInfo.Discount))
            {
                ModelState.AddModelError("Discount", "折扣不能大于需支付金额");
            }

            if (ModelState.IsValid)
            {
                decimal surplusMoney = orderInfo.SurplusMoney + orderInfo.Discount - model.Discount;
                Orders.UpdateOrderDiscount(orderInfo.Oid, model.Discount, surplusMoney);
                CreateOrderAction(oid, OrderActionType.UpdateDiscount, "您订单的折扣已经修改");
                AddMallAdminLog("更新订单折扣", "更新订单折扣,订单ID为:" + oid);

                if (surplusMoney <= 0)
                {
                    AdminOrders.UpdateOrderState(oid, OrderState.Confirming);
                }

                return(PromptView(Url.Action("orderinfo", new { oid = oid }), "更新订单折扣成功"));
            }
            ViewData["orderInfo"] = orderInfo;
            return(View(model));
        }
Ejemplo n.º 5
0
        public ActionResult PayOrder(PayOrderModel model, int oid = -1)
        {
            OrderInfo orderInfo = AdminOrders.GetOrderByOid(oid);

            if (orderInfo == null)
            {
                return(PromptView("订单不存在"));
            }

            if (orderInfo.PayMode != 2)
            {
                return(PromptView(Url.Action("orderinfo", new { oid = oid }), "付款操作只适用于线下付款"));
            }
            if (orderInfo.OrderState != (int)OrderState.WaitPaying)
            {
                return(PromptView(Url.Action("orderinfo", new { oid = oid }), "当前不能支付订单"));
            }

            if (ModelState.IsValid)
            {
                AdminOrders.PayOrder(oid, OrderState.Confirming, model.PaySN, DateTime.Now);
                CreateOrderAction(oid, OrderActionType.Pay, "您的订单成功支付,请等待确认");
                AddMallAdminLog("支付订单", "支付订单,订单ID为:" + oid);
                return(PromptView(Url.Action("orderinfo", new { oid = oid }), "订单支付成功"));
            }
            ViewData["orderInfo"] = orderInfo;
            return(View(model));
        }
Ejemplo n.º 6
0
        public ActionResult UpdateOrderShipFee(UpdateOrderShipFeeModel model, int oid = -1)
        {
            OrderInfo orderInfo = AdminOrders.GetOrderByOid(oid);

            if (orderInfo == null)
            {
                return(PromptView("订单不存在"));
            }
            if (!(orderInfo.OrderState == (int)OrderState.WaitPaying || (orderInfo.OrderState == (int)OrderState.Confirming && orderInfo.PayMode == 0)))
            {
                return(PromptView(Url.Action("orderinfo", new { oid = oid }), "不能修改订单配送费用"));
            }

            if (ModelState.IsValid)
            {
                decimal change = model.ShipFee - orderInfo.ShipFee;
                Orders.UpdateOrderShipFee(orderInfo.Oid, model.ShipFee, orderInfo.OrderAmount + change, orderInfo.SurplusMoney + change);
                CreateOrderAction(oid, OrderActionType.UpdateShipFee, "您订单的配送费用已经修改");
                AddMallAdminLog("更新订单配送费用", "更新订单配送费用,订单ID为:" + oid);

                if ((orderInfo.SurplusMoney + change) <= 0)
                {
                    AdminOrders.UpdateOrderState(oid, OrderState.Confirming);
                }

                return(PromptView(Url.Action("orderinfo", new { oid = oid }), "更新订单配送费用成功"));
            }
            ViewData["orderInfo"] = orderInfo;
            return(View(model));
        }
Ejemplo n.º 7
0
        public ActionResult CompleteOrder(int oid = -1)
        {
            OrderInfo orderInfo = AdminOrders.GetOrderByOid(oid);

            if (orderInfo == null)
            {
                return(PromptView("订单不存在"));
            }
            if (orderInfo.StoreId != WorkContext.StoreId)
            {
                return(PromptView("不能操作其它店铺的订单"));
            }
            if (orderInfo.OrderState != (int)OrderState.Sended)
            {
                return(PromptView(Url.Action("orderinfo", new { oid = oid }), "订单还未发货,不能完成订单"));
            }

            if (orderInfo.PayMode != 0)
            {
                PartUserInfo partUserInfo = Users.GetPartUserById(orderInfo.Uid);
                AdminOrders.CompleteOrder(ref partUserInfo, orderInfo, DateTime.Now, WorkContext.IP);
                CreateOrderAction(oid, OrderActionType.Complete, "订单已完成,感谢您在" + WorkContext.MallConfig.MallName + "购物,欢迎您再次光临");
                AddStoreAdminLog("完成订单", "完成订单,订单ID为:" + oid);
                return(PromptView(Url.Action("orderinfo", new { oid = oid }), "完成订单成功"));
            }
            else
            {
                CompleteOrderModel model = new CompleteOrderModel();
                ViewData["orderInfo"] = orderInfo;
                return(View(model));
            }
        }
Ejemplo n.º 8
0
        public ActionResult CompleteOrder(CompleteOrderModel model, int oid = -1)
        {
            OrderInfo orderInfo = AdminOrders.GetOrderByOid(oid);

            if (orderInfo == null)
            {
                return(PromptView("订单不存在"));
            }
            if (orderInfo.OrderState != (int)OrderState.Sended)
            {
                return(PromptView(Url.Action("orderinfo", new { oid = oid }), "订单还未发货,不能完成订单"));
            }
            if (orderInfo.PayMode != 0)
            {
                return(PromptView(Url.Action("orderinfo", new { oid = oid }), "只有货到付款订单才需要填写支付单号"));
            }

            if (string.IsNullOrWhiteSpace(model.PaySN))
            {
                ModelState.AddModelError("PaySN", "请填写支付单号");
            }

            if (ModelState.IsValid)
            {
                AdminOrders.PayOrder(oid, OrderState.Sended, model.PaySN, DateTime.Now);

                PartUserInfo partUserInfo = Users.GetPartUserById(orderInfo.Uid);
                AdminOrders.CompleteOrder(ref partUserInfo, orderInfo, DateTime.Now, WorkContext.IP);
                CreateOrderAction(oid, OrderActionType.Complete, "订单已完成,感谢您在" + WorkContext.MallConfig.MallName + "购物,欢迎您再次光临");
                AddMallAdminLog("完成订单", "完成订单,订单ID为:" + oid);
                return(PromptView(Url.Action("orderinfo", new { oid = oid }), "完成订单成功"));
            }
            ViewData["orderInfo"] = orderInfo;
            return(View(model));
        }
Ejemplo n.º 9
0
        /// <summary>
        /// 销售趋势
        /// </summary>
        /// <param name="startTime">开始时间</param>
        /// <param name="endTime">结束时间</param>
        /// <param name="trendType">趋势类型(0代表订单数,1代表订单合计)</param>
        /// <param name="timeType">时间类型(0代表小时,1代表天,2代表月,3代表年)</param>
        /// <returns></returns>
        public ActionResult SaleTrend(string startTime = "0", string endTime = "23", int trendType = 0, int timeType = 0)
        {
            if (string.IsNullOrWhiteSpace(startTime) || string.IsNullOrWhiteSpace(endTime))
            {
                return(PromptView(Url.Action("saletrend"), "请输入筛选时间"));
            }

            SaleTrendModel model = new SaleTrendModel();

            model.StartTime = startTime;
            model.EndTime   = endTime;

            trendType       = trendType == 0 ? 0 : 1;
            model.TrendType = trendType;

            if (timeType == 3)//按年筛选
            {
                string startYear = new DateTime(TypeHelper.StringToInt(startTime, DateTime.Now.Year), 1, 1).ToString();
                string endYear   = new DateTime((TypeHelper.StringToInt(endTime, DateTime.Now.Year) + 1), 1, 1).ToString();
                model.TrendItemList = AdminOrders.GetSaleTrend(trendType, 3, startYear, endYear);
                model.TimeType      = 3;
            }
            else if (timeType == 2)//按月筛选
            {
                string startMonth = TypeHelper.StringToDateTime(startTime).ToString();
                string endMonth   = (TypeHelper.StringToDateTime(endTime).AddMonths(1)).ToString();
                model.TrendItemList = AdminOrders.GetSaleTrend(trendType, 2, startMonth, endMonth);
                model.TimeType      = 2;
            }
            else if (timeType == 1)//按天筛选
            {
                string startDay = TypeHelper.StringToDateTime(startTime).ToString();
                string endDay   = (TypeHelper.StringToDateTime(endTime).AddDays(1)).ToString();
                model.TrendItemList = AdminOrders.GetSaleTrend(trendType, 1, startDay, endDay);
                model.TimeType      = 1;
            }
            else//按小时筛选
            {
                int startHour = TypeHelper.StringToInt(startTime, -1);
                int endHour   = TypeHelper.StringToInt(endTime, -1);

                if (startHour < 0 || startHour > 23)
                {
                    startHour = 0;
                }
                if (endHour < 0 || endHour > 23)
                {
                    endHour = 23;
                }

                startTime           = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, startHour, 0, 0).ToString();
                endTime             = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, endHour, 59, 59).ToString();
                model.TrendItemList = AdminOrders.GetSaleTrend(trendType, 0, startTime, endTime);
                model.TimeType      = 0;
            }

            return(View(model));
        }
Ejemplo n.º 10
0
        /// <summary>
        /// 销售商品列表
        /// </summary>
        /// <param name="startTime">开始时间</param>
        /// <param name="endTime">结束时间</param>
        /// <param name="orderState">订单状态</param>
        /// <param name="pageNumber">当前页数</param>
        /// <param name="pageSize">每页数</param>
        /// <returns></returns>
        public ActionResult SaleProductList(string startTime, string endTime, int orderState = -1, int pageNumber = 1, int pageSize = 15)
        {
            PageModel pageModel = new PageModel(pageSize, pageNumber, AdminOrders.GetSaleProductCount(startTime, endTime, orderState));

            List <SelectListItem> orderStateList = new List <SelectListItem>();

            orderStateList.Add(new SelectListItem()
            {
                Text = "全部", Value = "0"
            });
            orderStateList.Add(new SelectListItem()
            {
                Text = "等待付款", Value = ((int)OrderState.WaitPaying).ToString()
            });
            orderStateList.Add(new SelectListItem()
            {
                Text = "待确认", Value = ((int)OrderState.Confirming).ToString()
            });
            orderStateList.Add(new SelectListItem()
            {
                Text = "已确认", Value = ((int)OrderState.Confirmed).ToString()
            });
            orderStateList.Add(new SelectListItem()
            {
                Text = "备货中", Value = ((int)OrderState.PreProducting).ToString()
            });
            orderStateList.Add(new SelectListItem()
            {
                Text = "已发货", Value = ((int)OrderState.Sended).ToString()
            });
            orderStateList.Add(new SelectListItem()
            {
                Text = "已收货", Value = ((int)OrderState.Received).ToString()
            });
            orderStateList.Add(new SelectListItem()
            {
                Text = "已锁定", Value = ((int)OrderState.Locked).ToString()
            });
            orderStateList.Add(new SelectListItem()
            {
                Text = "已取消", Value = ((int)OrderState.Cancelled).ToString()
            });

            SaleProductListModel model = new SaleProductListModel()
            {
                PageModel       = pageModel,
                SaleProductList = AdminOrders.GetSaleProductList(pageModel.PageSize, pageModel.PageNumber, startTime, endTime, orderState),
                StartTime       = startTime,
                EndTime         = endTime,
                OrderState      = orderState,
                OrderStateList  = orderStateList
            };

            return(View(model));
        }
Ejemplo n.º 11
0
        /// <summary>
        /// 店铺运行信息
        /// </summary>
        public ActionResult StoreRunInfo()
        {
            StoreRunInfoModel model = new StoreRunInfoModel();

            model.WaitConfirmCount    = AdminOrders.GetOrderCountByCondition(WorkContext.StoreId, (int)OrderState.Confirming, "", "");
            model.WaitPreProductCount = AdminOrders.GetOrderCountByCondition(WorkContext.StoreId, (int)OrderState.Confirmed, "", "");
            model.WaitSendCount       = AdminOrders.GetOrderCountByCondition(WorkContext.StoreId, (int)OrderState.PreProducting, "", "");
            model.WaitPayCount        = AdminOrders.GetOrderCountByCondition(WorkContext.StoreId, (int)OrderState.WaitPaying, "", "");

            MallUtils.SetAdminRefererCookie(Url.Action("storeruninfo"));
            return(View(model));
        }
Ejemplo n.º 12
0
        /// <summary>
        /// 销售明细
        /// </summary>
        /// <param name="startTime">开始时间</param>
        /// <param name="endTime">结束时间</param>
        /// <param name="pageNumber">当前页数</param>
        /// <param name="pageSize">每页数</param>
        /// <returns></returns>
        public ActionResult SaleList(string startTime, string endTime, int pageNumber = 1, int pageSize = 15)
        {
            PageModel pageModel = new PageModel(pageSize, pageNumber, AdminOrders.GetSaleProductCount(startTime, endTime));

            SaleListModel model = new SaleListModel()
            {
                SaleProductList = AdminOrders.GetSaleProductList(pageModel.PageSize, pageModel.PageNumber, startTime, endTime),
                PageModel       = pageModel,
                StartTime       = startTime,
                EndTime         = endTime
            };

            return(View(model));
        }
Ejemplo n.º 13
0
        /// <summary>
        /// 备货
        /// </summary>
        public ActionResult PreOrderProduct(int oid = -1)
        {
            OrderInfo orderInfo = AdminOrders.GetOrderByOid(oid);

            if (orderInfo == null)
            {
                return(PromptView("订单不存在"));
            }
            if (orderInfo.OrderState != (int)OrderState.Confirmed)
            {
                return(PromptView(Url.Action("orderinfo", new { oid = oid }), "订单还未确认,请先确认"));
            }

            AdminOrders.PreProduct(orderInfo);
            CreateOrderAction(oid, OrderActionType.PreProduct, "您的订单已经备货完成");
            AddMallAdminLog("备货", "备货,订单ID为:" + oid);
            return(PromptView(Url.Action("orderinfo", new { oid = oid }), "备货成功"));
        }
Ejemplo n.º 14
0
        /// <summary>
        /// 确认订单
        /// </summary>
        public ActionResult ConfirmOrder(int oid = -1)
        {
            OrderInfo orderInfo = AdminOrders.GetOrderByOid(oid);

            if (orderInfo == null)
            {
                return(PromptView("订单不存在"));
            }
            if (orderInfo.OrderState != (int)OrderState.Confirming)
            {
                return(PromptView(Url.Action("orderinfo", new { oid = oid }), "买家还未付款,不能确认订单"));
            }

            AdminOrders.ConfirmOrder(orderInfo);
            CreateOrderAction(oid, OrderActionType.Confirm, "您的订单已经确认,正在备货中");
            AddMallAdminLog("确认订单", "确认订单,订单ID为:" + oid);
            return(PromptView(Url.Action("orderinfo", new { oid = oid }), "确认订单成功"));
        }
Ejemplo n.º 15
0
 public void SetUpOneTestCase()
 {
     _adminManagedConfiguration = new AdminManagedConfiguration(DriverContext.Driver);
     _adminUserAccounts         = new AdminUserAccounts(DriverContext.Driver);
     _adminExtensions           = new AdminExtensions(DriverContext.Driver);
     _adminOrders             = new AdminOrders(DriverContext.Driver);
     _adminManageGroups       = new AdminManageGroups(DriverContext.Driver);
     _adminGlobalLibrary      = new AdminGlobalLibrary(DriverContext.Driver);
     _adminOrderStatistics    = new AdminOrderStatistics(DriverContext.Driver);
     _adminProjects           = new AdminProjects(DriverContext.Driver);
     _contentCollectionsPage  = new ContentCollectionsPage(DriverContext.Driver);
     _adminProductsPage       = new AdminProducts(DriverContext.Driver);
     _adminProductContentPage = new AdminProductContent(DriverContext.Driver);
     _adminProductRetired     = new AdminProductRetired(DriverContext.Driver);
     _adminProductDetails     = new AdminProductDetails(DriverContext.Driver);
     _siteOptionsPage         = new AdminSiteOptions(DriverContext.Driver);
     _adminSiteOptions        = new AdminSiteOptions(DriverContext.Driver);
 }
Ejemplo n.º 16
0
        /// <summary>
        /// 订单信息
        /// </summary>
        public ActionResult OrderInfo()
        {
            int       oid       = WebHelper.GetQueryInt("oid");
            OrderInfo orderInfo = Orders.GetOrderByOid(oid);

            if (orderInfo == null || orderInfo.Uid != WorkContext.Uid)
            {
                return(PromptView("订单不存在"));
            }

            OrderInfoModel model = new OrderInfoModel();

            model.OrderInfo        = orderInfo;
            model.RegionInfo       = Regions.GetRegionById(orderInfo.RegionId);
            model.OrderProductList = AdminOrders.GetOrderProductList(oid);

            return(View(model));
        }
Ejemplo n.º 17
0
        /// <summary>
        /// 锁定订单
        /// </summary>
        public ActionResult LockOrder(int oid = -1)
        {
            OrderInfo orderInfo = AdminOrders.GetOrderByOid(oid);

            if (orderInfo == null)
            {
                return(PromptView("订单不存在"));
            }
            if (!(orderInfo.OrderState == (int)OrderState.WaitPaying || (orderInfo.OrderState == (int)OrderState.Confirming && orderInfo.PayMode == 0)))
            {
                return(PromptView(Url.Action("orderinfo", new { oid = oid }), "订单当前不能锁定"));
            }

            AdminOrders.LockOrder(orderInfo);
            CreateOrderAction(oid, OrderActionType.Lock, "订单已锁定");
            AddMallAdminLog("锁定", "锁定,订单ID为:" + oid);
            return(PromptView(Url.Action("orderinfo", new { oid = oid }), "锁定成功"));
        }
Ejemplo n.º 18
0
        public ActionResult SendOrderProduct(int oid = -1)
        {
            OrderInfo orderInfo = AdminOrders.GetOrderByOid(oid);

            if (orderInfo == null)
            {
                return(PromptView("订单不存在"));
            }
            if (orderInfo.OrderState != (int)OrderState.PreProducting)
            {
                return(PromptView(Url.Action("orderinfo", new { oid = oid }), "订单还未完成备货,不能发货"));
            }

            SendOrderProductModel model = new SendOrderProductModel();

            ViewData["orderInfo"] = orderInfo;
            return(View(model));
        }
Ejemplo n.º 19
0
        /// <summary>
        /// 打印订单
        /// </summary>
        /// <param name="oid">订单id</param>
        /// <returns></returns>
        public ActionResult PrintOrder(int oid)
        {
            OrderInfo orderInfo = AdminOrders.GetOrderByOid(oid);

            if (orderInfo == null)
            {
                return(PromptView("订单不存在"));
            }

            PrintOrderModel model = new PrintOrderModel()
            {
                OrderInfo        = orderInfo,
                RegionInfo       = Regions.GetRegionById(orderInfo.RegionId),
                OrderProductList = AdminOrders.GetOrderProductList(oid),
            };

            return(View(model));
        }
Ejemplo n.º 20
0
        public ActionResult UpdateOrderDiscount(int oid = -1)
        {
            OrderInfo orderInfo = AdminOrders.GetOrderByOid(oid);

            if (orderInfo == null)
            {
                return(PromptView("订单不存在"));
            }
            if (!(orderInfo.OrderState == (int)OrderState.WaitPaying || (orderInfo.OrderState == (int)OrderState.Confirming && orderInfo.PayMode == 0)))
            {
                return(PromptView(Url.Action("orderinfo", new { oid = oid }), "不能修改订单折扣"));
            }

            UpdateOrderDiscountModel model = new UpdateOrderDiscountModel();

            model.Discount        = orderInfo.Discount;
            ViewData["orderInfo"] = orderInfo;
            return(View(model));
        }
Ejemplo n.º 21
0
        /// <summary>
        /// 打印订单
        /// </summary>
        /// <param name="oid">订单id</param>
        /// <returns></returns>
        public ActionResult PrintOrder(int oid)
        {
            OrderInfo orderInfo = AdminOrders.GetOrderByOid(oid);

            if (orderInfo == null)
            {
                return(PromptView("订单不存在"));
            }

            PrintOrderModel model = new PrintOrderModel()
            {
                OrderInfo        = orderInfo,
                RegionInfo       = Regions.GetRegionById(orderInfo.RegionId),
                OrderProductList = AdminOrders.GetOrderProductList(oid),
                AdminRealName    = AdminUsers.GetUserDetailById(WorkContext.Uid).RealName
            };

            return(View(model));
        }
Ejemplo n.º 22
0
        /// <summary>
        /// 订单统计
        /// </summary>
        /// <param name="startTime">开始时间</param>
        /// <param name="endTime">结束时间</param>
        /// <param name="statType">统计类型(0代表订单数,1代表订单合计)</param>
        /// <returns></returns>
        public ActionResult OrderStat(string startTime, string endTime, int statType = 0)
        {
            if (string.IsNullOrWhiteSpace(startTime))
            {
                startTime = DateTime.Now.Date.ToString("yyyy-MM-dd HH:mm:ss");
            }
            if (string.IsNullOrWhiteSpace(endTime))
            {
                endTime = DateTime.Now.AddDays(1).Date.ToString("yyyy-MM-dd HH:mm:ss");
            }

            OrderStatModel model = new OrderStatModel();

            model.StatType     = statType;
            model.StartTime    = startTime;
            model.EndTime      = endTime;
            model.StatItemList = AdminOrders.GetOrderStat(statType, startTime, endTime);

            return(View(model));
        }
Ejemplo n.º 23
0
        /// <summary>
        /// 退货
        /// </summary>
        public ActionResult ReturnOrderProduct(int oid = -1)
        {
            OrderInfo orderInfo = AdminOrders.GetOrderByOid(oid);

            if (orderInfo == null)
            {
                return(PromptView("订单不存在"));
            }
            if (!(orderInfo.OrderState == (int)OrderState.Sended || orderInfo.OrderState == (int)OrderState.Completed))
            {
                return(PromptView(Url.Action("orderinfo", new { oid = oid }), "订单当前不能退货"));
            }

            PartUserInfo partUserInfo = Users.GetPartUserById(orderInfo.Uid);

            AdminOrders.ReturnOrder(ref partUserInfo, orderInfo, WorkContext.Uid, DateTime.Now);
            CreateOrderAction(oid, OrderActionType.Return, "订单已退货");
            AddMallAdminLog("退货", "退货,订单ID为:" + oid);
            return(PromptView(Url.Action("orderinfo", new { oid = oid }), "退货成功"));
        }
Ejemplo n.º 24
0
        /// <summary>
        /// 取消订单
        /// </summary>
        public ActionResult CancelOrder(int oid = -1)
        {
            OrderInfo orderInfo = AdminOrders.GetOrderByOid(oid);

            if (orderInfo == null)
            {
                return(PromptView("订单不存在"));
            }
            if (!(orderInfo.OrderState == (int)OrderState.WaitPaying || (orderInfo.OrderState == (int)OrderState.Confirming && orderInfo.PayMode == 0)))
            {
                return(PromptView(Url.Action("orderinfo", new { oid = oid }), "订单当前不能取消"));
            }

            PartUserInfo partUserInfo = Users.GetPartUserById(orderInfo.Uid);

            AdminOrders.CancelOrder(ref partUserInfo, orderInfo, WorkContext.Uid, DateTime.Now);
            CreateOrderAction(oid, OrderActionType.Cancel, "订单已取消");
            AddMallAdminLog("取消订单", "取消订单,订单ID为:" + oid);
            return(PromptView(Url.Action("orderinfo", new { oid = oid }), "取消订单成功"));
        }
Ejemplo n.º 25
0
        /// <summary>
        /// 订单信息
        /// </summary>
        /// <param name="oid">订单id</param>
        /// <returns></returns>
        public ActionResult OrderInfo(int oid = -1)
        {
            OrderInfo orderInfo = AdminOrders.GetOrderByOid(oid);

            if (orderInfo == null)
            {
                return(PromptView("订单不存在"));
            }

            OrderInfoModel model = new OrderInfoModel();

            model.OrderInfo        = orderInfo;
            model.RegionInfo       = Regions.GetRegionById(orderInfo.RegionId);
            model.UserInfo         = Users.GetUserById(orderInfo.Uid);
            model.UserRankInfo     = AdminUserRanks.GetUserRankById(model.UserInfo.UserRid);
            model.OrderProductList = AdminOrders.GetOrderProductList(oid);
            model.OrderActionList  = OrderActions.GetOrderActionList(oid);

            ViewData["referer"] = ShopUtils.GetAdminRefererCookie();
            return(View(model));
        }
Ejemplo n.º 26
0
        /// <summary>
        /// 商城收到客户邮寄的商品
        /// </summary>
        public ActionResult ReceiveOrderAfterService(int asId)
        {
            OrderAfterServiceInfo orderAfterServiceInfo = AdminOrderAfterServices.GetOrderAfterServiceByASId(asId);

            if (orderAfterServiceInfo == null || orderAfterServiceInfo.StoreId != WorkContext.StoreId)
            {
                return(PromptView("订单售后服务不存在"));
            }
            if (orderAfterServiceInfo.State != (int)OrderAfterServiceState.Sended)
            {
                return(PromptView("不能执行此操作"));
            }

            if (orderAfterServiceInfo.Type == 0)
            {
                AdminOrderAfterServices.CompleteOrderAfterService(asId);
                OrderInfo orderInfo = AdminOrders.GetOrderByOid(orderAfterServiceInfo.Oid);
                OrderRefunds.ApplyRefund(new OrderRefundInfo()
                {
                    State         = (int)OrderRefundState.Applied,
                    StoreId       = orderInfo.StoreId,
                    StoreName     = orderInfo.StoreName,
                    Oid           = orderInfo.Oid,
                    OSN           = orderInfo.OSN,
                    Uid           = orderInfo.Uid,
                    ASId          = orderAfterServiceInfo.ASId,
                    PaySystemName = orderInfo.PaySystemName,
                    PayFriendName = orderInfo.PayFriendName,
                    PaySN         = orderInfo.PaySN,
                    PayMoney      = orderAfterServiceInfo.Money,
                    RefundMoney   = orderAfterServiceInfo.Money,
                    ApplyTime     = DateTime.Now
                });
            }
            else
            {
                AdminOrderAfterServices.ReceiveOrderAfterService(asId, DateTime.Now);
            }
            return(PromptView("操作成功"));
        }
Ejemplo n.º 27
0
        public ActionResult SendOrderProduct(int oid = -1)
        {
            OrderInfo orderInfo = AdminOrders.GetOrderByOid(oid);

            if (orderInfo == null)
            {
                return(PromptView("订单不存在"));
            }
            if (orderInfo.StoreId != WorkContext.StoreId)
            {
                return(PromptView("不能操作其它店铺的订单"));
            }
            if (orderInfo.OrderState != (int)OrderState.PreProducting)
            {
                return(PromptView(Url.Action("orderinfo", new { oid = oid }), "订单还未完成备货,不能发货"));
            }

            SendOrderProductModel model = new SendOrderProductModel();

            Load(orderInfo);
            return(View(model));
        }
Ejemplo n.º 28
0
        /// <summary>
        /// 商城运行信息
        /// </summary>
        public ActionResult MallRunInfo()
        {
            MallRunInfoModel model = new MallRunInfoModel();

            model.WaitConfirmCount    = AdminOrders.GetOrderCountByCondition(0, (int)OrderState.Confirming, "", "");
            model.WaitPreProductCount = AdminOrders.GetOrderCountByCondition(0, (int)OrderState.Confirmed, "", "");
            model.WaitSendCount       = AdminOrders.GetOrderCountByCondition(0, (int)OrderState.PreProducting, "", "");
            model.WaitPayCount        = AdminOrders.GetOrderCountByCondition(0, (int)OrderState.WaitPaying, "", "");

            model.OnlineUserCount   = OnlineUsers.GetOnlineUserCount();
            model.OnlineGuestCount  = OnlineUsers.GetOnlineGuestCount();
            model.OnlineMemberCount = model.OnlineUserCount - model.OnlineGuestCount;

            model.MallVersion    = BMAVersion.MALL_VERSION;
            model.NetVersion     = Environment.Version.ToString();
            model.OSVersion      = Environment.OSVersion.ToString();
            model.TickCount      = (Environment.TickCount / 1000 / 60).ToString();
            model.ProcessorCount = Environment.ProcessorCount.ToString();
            model.WorkingSet     = (Environment.WorkingSet / 1024 / 1024).ToString();

            MallUtils.SetAdminRefererCookie(Url.Action("mallruninfo"));
            return(View(model));
        }
Ejemplo n.º 29
0
        public ActionResult UpdateOrderShipFee(int oid = -1)
        {
            OrderInfo orderInfo = AdminOrders.GetOrderByOid(oid);

            if (orderInfo == null)
            {
                return(PromptView("订单不存在"));
            }
            if (orderInfo.StoreId != WorkContext.StoreId)
            {
                return(PromptView("不能操作其它店铺的订单"));
            }
            if (!(orderInfo.OrderState == (int)OrderState.WaitPaying || (orderInfo.OrderState == (int)OrderState.Confirming && orderInfo.PayMode == 0)))
            {
                return(PromptView(Url.Action("orderinfo", new { oid = oid }), "不能修改订单配送费用"));
            }

            UpdateOrderShipFeeModel model = new UpdateOrderShipFeeModel();

            model.ShipFee         = orderInfo.ShipFee;
            ViewData["orderInfo"] = orderInfo;
            return(View(model));
        }
Ejemplo n.º 30
0
        /// <summary>
        /// 商城运行信息
        /// </summary>
        public ActionResult ShopRunInfo()
        {
            ShopRunInfoModel model = new ShopRunInfoModel();

            model.WaitConfirmCount    = AdminOrders.GetOrderCountByOrderStateAndAddTime((int)OrderState.Confirming, "", "");
            model.WaitPreProductCount = AdminOrders.GetOrderCountByOrderStateAndAddTime((int)OrderState.Confirmed, "", "");
            model.WaitSendCount       = AdminOrders.GetOrderCountByOrderStateAndAddTime((int)OrderState.PreProducting, "", "");
            model.WaitPayCount        = AdminOrders.GetOrderCountByOrderStateAndAddTime((int)OrderState.WaitPaying, "", "");

            model.OnlineUserCount   = OnlineUsers.GetOnlineUserCount();
            model.OnlineGuestCount  = OnlineUsers.GetOnlineGuestCount();
            model.OnlineMemberCount = model.OnlineUserCount - model.OnlineGuestCount;

            model.ShopVersion    = BSPVersion.SHOP_VERSION;
            model.NetVersion     = Environment.Version.ToString();
            model.OSVersion      = Environment.OSVersion.ToString();
            model.TickCount      = (Environment.TickCount / 1000 / 60).ToString();
            model.ProcessorCount = Environment.ProcessorCount.ToString();
            model.WorkingSet     = (Environment.WorkingSet / 1024 / 1024).ToString();

            ShopUtils.SetAdminRefererCookie(Url.Action("shopruninfo"));
            return(View(model));
        }