internal OrderService(OpenPositionsQuery openPositionsQuery, OrderQuery orderQuery, StopLimitOrderHistoryQuery stopLimitOrderHistoryQuery, NewStopLimitOrderPlacer newStopLimitOrderPlacer, NewTradeOrderPlacer newTradeOrderPlacer, CancelOrderPlacer cancelOrderPlacer, ActiveStopLimitOrderQuery activeStopLimitOrderQuery, TradeHistoryQuery tradeHistoryQuery) { _openPositionsQuery = openPositionsQuery; _orderQuery = orderQuery; _stopLimitOrderHistoryQuery = stopLimitOrderHistoryQuery; _newStopLimitOrderPlacer = newStopLimitOrderPlacer; _newTradeOrderPlacer = newTradeOrderPlacer; _cancelOrderPlacer = cancelOrderPlacer; _activeStopLimitOrderQuery = activeStopLimitOrderQuery; _tradeHistoryQuery = tradeHistoryQuery; }
public void Setup() { _mockConnection = MockRepository.GenerateMock<Connection>("username", "password", "http://couldBeAnyUrl/TradingApi"); _mockOpenPositionsQuery = MockRepository.GenerateMock<OpenPositionsQuery>(_mockConnection); _mockOrderQuery = MockRepository.GenerateMock<OrderQuery>(_mockConnection); _mockStopLimitOrderHistoryQuery = MockRepository.GenerateMock<StopLimitOrderHistoryQuery>(_mockConnection); _mockNewStopLimitOrderPlacer = MockRepository.GenerateMock<NewStopLimitOrderPlacer>(_mockConnection); _mockNewTradeOrderPlacer = MockRepository.GenerateMock<NewTradeOrderPlacer>(_mockConnection); _mockCancelOrderPlacer = MockRepository.GenerateMock<CancelOrderPlacer>(_mockConnection); _mockActiveStopLimitOrderQuery = MockRepository.GenerateMock<ActiveStopLimitOrderQuery>(_mockConnection); _mockTradeHistoryQuery = MockRepository.GenerateMock<TradeHistoryQuery>(_mockConnection); _orderService = new OrderService(_mockOpenPositionsQuery, _mockOrderQuery, _mockStopLimitOrderHistoryQuery, _mockNewStopLimitOrderPlacer, _mockNewTradeOrderPlacer, _mockCancelOrderPlacer, _mockActiveStopLimitOrderQuery, _mockTradeHistoryQuery); }
private OrderQuery GetOrderQuery(HttpContext context) { int num = 1; int num2 = 10; string empty = string.Empty; OrderQuery orderQuery = new OrderQuery(); string parameter = base.GetParameter(context, "InvoiceType", false); int num3; if (parameter.ToNullString().Trim() != "") { InvoiceType invoiceType; if (parameter == "0") { OrderQuery orderQuery2 = orderQuery; invoiceType = InvoiceType.Personal; num3 = invoiceType.GetHashCode(); string arg = num3.ToString(); invoiceType = InvoiceType.Enterprise; num3 = invoiceType.GetHashCode(); orderQuery2.InvoiceTypes = $"{arg},{num3.ToString()}"; } else if (parameter == "2") { OrderQuery orderQuery3 = orderQuery; invoiceType = InvoiceType.Personal_Electronic; num3 = invoiceType.GetHashCode(); string arg2 = num3.ToString(); invoiceType = InvoiceType.Enterprise_Electronic; num3 = invoiceType.GetHashCode(); orderQuery3.InvoiceTypes = $"{arg2},{num3.ToString()}"; } else { OrderQuery orderQuery4 = orderQuery; invoiceType = InvoiceType.VATInvoice; num3 = invoiceType.GetHashCode(); orderQuery4.InvoiceTypes = num3.ToString(); } } orderQuery.ItemStatus = 0; if (!string.IsNullOrEmpty(context.Request["OrderId"])) { orderQuery.OrderId = Globals.UrlDecode(context.Request["OrderId"]); } if (!string.IsNullOrEmpty(context.Request["ProductName"])) { orderQuery.ProductName = Globals.UrlDecode(context.Request["ProductName"]); } if (!string.IsNullOrEmpty(context.Request["ShipTo"])) { orderQuery.ShipTo = Globals.UrlDecode(context.Request["ShipTo"]); } if (!string.IsNullOrEmpty(context.Request["UserName"])) { orderQuery.UserName = Globals.UrlDecode(context.Request["UserName"]); } orderQuery.StartDate = base.GetDateTimeParam(context, "StartDate"); orderQuery.EndDate = base.GetDateTimeParam(context, "EndDate"); orderQuery.GroupBuyId = base.GetIntParam(context, "GroupBuyId", true); int?intParam = base.GetIntParam(context, "OrderStatus", true); int?nullable; if (intParam.HasValue) { nullable = intParam; num3 = 999; if (nullable == num3) { orderQuery.TakeOnStore = true; orderQuery.Status = OrderStatus.BuyerAlreadyPaid; } else { nullable = intParam; num3 = 2; if (nullable == num3) { orderQuery.TakeOnStore = false; } orderQuery.Status = (OrderStatus)intParam.Value; } } orderQuery.IsPrinted = base.GetIntParam(context, "IsPrinted", true); orderQuery.ShippingModeId = base.GetIntParam(context, "ModeId", true); orderQuery.IsAllotStore = base.GetIntParam(context, "StoreDistribution", true); int num4 = default(int); if (!string.IsNullOrEmpty(context.Request["region"]) && int.TryParse(context.Request["region"], out num4)) { orderQuery.RegionId = num4; orderQuery.FullRegionName = RegionHelper.GetFullRegion(num4, ",", true, 0); } orderQuery.SourceOrder = base.GetIntParam(context, "sourceorder", true); orderQuery.StoreId = base.GetIntParam(context, "storeId", true); nullable = orderQuery.StoreId; num3 = -2; if (nullable == num3) { orderQuery.StoreId = null; } num = base.GetIntParam(context, "page", false).Value; if (num < 1) { num = 1; } num2 = base.GetIntParam(context, "rows", false).Value; if (num2 < 1) { num2 = 10; } orderQuery.PageIndex = num; orderQuery.PageSize = num2; orderQuery.SupplierId = base.CurrentManager.StoreId; orderQuery.SortBy = "OrderDate"; orderQuery.SortOrder = SortAction.Desc; return(orderQuery); }
public ActionResult Index(string orderDate, string keywords, int pageNo = 1, int pageSize = 10) { DateTime?nullable = null; DateTime?nullable1 = null; if (!string.IsNullOrEmpty(orderDate) && orderDate.ToLower() != "all") { string lower = orderDate.ToLower(); string str = lower; if (lower != null) { if (str == "threemonth") { nullable = new DateTime?(DateTime.Now.AddMonths(-3)); } else if (str == "halfyear") { nullable = new DateTime?(DateTime.Now.AddMonths(-6)); } else if (str == "year") { nullable = new DateTime?(DateTime.Now.AddYears(-1)); } else if (str == "yearago") { nullable1 = new DateTime?(DateTime.Now.AddYears(-1)); } } } OrderQuery orderQuery = new OrderQuery() { StartDate = nullable, EndDate = nullable1, Status = new OrderInfo.OrderOperateStatus?(OrderInfo.OrderOperateStatus.Finish), UserId = new long?(base.CurrentUser.Id), SearchKeyWords = keywords, PageSize = pageSize, PageNo = pageNo }; OrderQuery orderOperateStatuses = orderQuery; orderOperateStatuses.MoreStatus = new List <OrderInfo.OrderOperateStatus>() { OrderInfo.OrderOperateStatus.WaitReceiving }; PageModel <OrderInfo> orders = ServiceHelper.Create <IOrderService>().GetOrders <OrderInfo>(orderOperateStatuses, null); PagingInfo pagingInfo = new PagingInfo() { CurrentPage = pageNo, ItemsPerPage = pageSize, TotalItems = orders.Total }; PagingInfo pagingInfo1 = pagingInfo; ViewBag.UserId = base.CurrentUser.Id; ViewBag.pageInfo = pagingInfo1; SiteSettingsInfo siteSettings = ServiceHelper.Create <ISiteSettingService>().GetSiteSettings(); ViewBag.SalesRefundTimeout = siteSettings.SalesReturnTimeout; return(View(orders.Models.ToList())); }
private OrderQuery GetOrderQuery() { int num; OrderQuery query = new OrderQuery(); if (!string.IsNullOrEmpty(Page.Request.QueryString["OrderId"])) { query.OrderId = Globals.UrlDecode(Page.Request.QueryString["OrderId"]); } if (!string.IsNullOrEmpty(Page.Request.QueryString["ProductName"])) { query.ProductName = Globals.UrlDecode(Page.Request.QueryString["ProductName"]); } if (!string.IsNullOrEmpty(Page.Request.QueryString["ShipTo"])) { query.ShipTo = Globals.UrlDecode(Page.Request.QueryString["ShipTo"]); } if (!string.IsNullOrEmpty(Page.Request.QueryString["UserName"])) { query.UserName = Globals.UrlDecode(Page.Request.QueryString["UserName"]); } if (!string.IsNullOrEmpty(Page.Request.QueryString["StartDate"])) { query.StartDate = new DateTime?(DateTime.Parse(Page.Request.QueryString["StartDate"])); } if (!string.IsNullOrEmpty(Page.Request.QueryString["GroupBuyId"])) { query.GroupBuyId = new int?(int.Parse(Page.Request.QueryString["GroupBuyId"])); } if (!string.IsNullOrEmpty(Page.Request.QueryString["EndDate"])) { query.EndDate = new DateTime?(DateTime.Parse(Page.Request.QueryString["EndDate"])); } if (!string.IsNullOrEmpty(Page.Request.QueryString["OrderStatus"])) { int result = 0; if (int.TryParse(Page.Request.QueryString["OrderStatus"], out result)) { query.Status = (OrderStatus)result; } } if (!string.IsNullOrEmpty(Page.Request.QueryString["IsPrinted"])) { int num3 = 0; if (int.TryParse(Page.Request.QueryString["IsPrinted"], out num3)) { query.IsPrinted = new int?(num3); } } if (!string.IsNullOrEmpty(Page.Request.QueryString["ModeId"])) { int num4 = 0; if (int.TryParse(Page.Request.QueryString["ModeId"], out num4)) { query.ShippingModeId = new int?(num4); } } if (!(string.IsNullOrEmpty(Page.Request.QueryString["region"]) || !int.TryParse(Page.Request.QueryString["region"], out num))) { query.RegionId = new int?(num); } query.PageIndex = pager.PageIndex; query.PageSize = pager.PageSize; query.SortBy = "OrderDate"; query.SortOrder = SortAction.Desc; return(query); }
public static DataSet GetDistributorOrder(OrderQuery query) { return(new OrderDao().GetDistributorOrder(query)); }
public abstract DbQueryResult GetUserOrder(int userId, OrderQuery query);
/// <summary> /// 三座咖啡Excel查询 /// </summary> /// <param name="query"></param> /// <returns></returns> public static DataTable GetOrderSanZuo(OrderQuery query) { return(new OrderDao().GetOrderSanZuo(query)); }
private static string BuildUserOrderQuery(OrderQuery query) { if (null == query) { throw new ArgumentNullException("query"); } StringBuilder builder = new StringBuilder(); builder.AppendFormat("SELECT OrderId FROM Hishop_Orders WHERE OrderStatus != {0} AND OrderStatus != {1} AND OrderStatus != {2}", 1, 4, 9); if (!string.IsNullOrEmpty(query.OrderId)) { builder.AppendFormat(" AND OrderId = '{0}'", DataHelper.CleanSearchString(query.OrderId)); return builder.ToString(); } if (!string.IsNullOrEmpty(query.UserName)) { builder.AppendFormat(" AND UserName LIKE '%{0}%'", DataHelper.CleanSearchString(query.UserName)); } if (!string.IsNullOrEmpty(query.ShipTo)) { builder.AppendFormat(" AND ShipTo LIKE '%{0}%'", DataHelper.CleanSearchString(query.ShipTo)); } if (query.StartDate.HasValue) { builder.AppendFormat(" AND OrderDate >= '{0}'", DataHelper.GetSafeDateTimeFormat(query.StartDate.Value)); } if (query.EndDate.HasValue) { builder.AppendFormat(" AND OrderDate <= '{0}'", DataHelper.GetSafeDateTimeFormat(query.EndDate.Value)); } if (!string.IsNullOrEmpty(query.SortBy)) { builder.AppendFormat(" ORDER BY {0} {1}", DataHelper.CleanSearchString(query.SortBy), query.SortOrder.ToString()); } return builder.ToString(); }
private static string BuildOrdersQuery(OrderQuery query) { if (null == query) { throw new ArgumentNullException("query"); } StringBuilder builder = new StringBuilder(); builder.AppendFormat("SELECT OrderId FROM Hishop_Orders WHERE 1 = 1 ", new object[0]); if ((query.OrderId != string.Empty) && (query.OrderId != null)) { builder.AppendFormat(" AND OrderId = '{0}'", DataHelper.CleanSearchString(query.OrderId)); } else { if (query.PaymentType.HasValue) { builder.AppendFormat(" AND PaymentTypeId = '{0}'", query.PaymentType.Value); } if (query.GroupBuyId.HasValue) { builder.AppendFormat(" AND GroupBuyId = {0}", query.GroupBuyId.Value); } if (!string.IsNullOrEmpty(query.ProductName)) { builder.AppendFormat(" AND OrderId IN (SELECT OrderId FROM Hishop_OrderItems WHERE ItemDescription LIKE '%{0}%')", DataHelper.CleanSearchString(query.ProductName)); } if (!string.IsNullOrEmpty(query.ShipTo)) { builder.AppendFormat(" AND ShipTo LIKE '%{0}%'", DataHelper.CleanSearchString(query.ShipTo)); } if (query.RegionId.HasValue) { builder.AppendFormat(" AND ShippingRegion like '%{0}%'", DataHelper.CleanSearchString(RegionHelper.GetFullRegion(query.RegionId.Value, ","))); } if (!string.IsNullOrEmpty(query.UserName)) { builder.AppendFormat(" AND UserName = '******' ", DataHelper.CleanSearchString(query.UserName)); } if (query.Status == OrderStatus.History) { builder.AppendFormat(" AND OrderStatus != {0} AND OrderStatus != {1} AND OrderStatus != {2} AND OrderDate < '{3}'", new object[] { 1, 4, 9, DateTime.Now.AddMonths(-3) }); } else if (query.Status == OrderStatus.BuyerAlreadyPaid) { builder.AppendFormat(" AND (OrderStatus = {0} OR (OrderStatus = 1 AND Gateway = 'hishop.plugins.payment.podrequest'))", (int) query.Status); } else if (query.Status != OrderStatus.All) { builder.AppendFormat(" AND OrderStatus = {0}", (int) query.Status); } if (query.StartDate.HasValue) { builder.AppendFormat(" AND datediff(dd,'{0}',OrderDate)>=0", DataHelper.GetSafeDateTimeFormat(query.StartDate.Value)); } if (query.EndDate.HasValue) { builder.AppendFormat(" AND datediff(dd,'{0}',OrderDate)<=0", DataHelper.GetSafeDateTimeFormat(query.EndDate.Value)); } if (query.ShippingModeId.HasValue) { builder.AppendFormat(" AND ShippingModeId = {0}", query.ShippingModeId.Value); } if (query.IsPrinted.HasValue) { builder.AppendFormat(" AND ISNULL(IsPrinted, 0)={0}", query.IsPrinted.Value); } } if (!string.IsNullOrEmpty(query.SortBy)) { builder.AppendFormat(" ORDER BY {0} {1}", DataHelper.CleanSearchString(query.SortBy), query.SortOrder.ToString()); } return builder.ToString(); }
public OrderStatisticsInfo GetUserOrdersNoPage(OrderQuery userOrder) { OrderStatisticsInfo info = new OrderStatisticsInfo(); DbCommand storedProcCommand = this.database.GetStoredProcCommand("cp_OrderStatisticsNoPage_Get"); this.database.AddInParameter(storedProcCommand, "sqlPopulate", DbType.String, BuildUserOrderQuery(userOrder)); this.database.AddOutParameter(storedProcCommand, "TotalUserOrders", DbType.Int32, 4); using (IDataReader reader = this.database.ExecuteReader(storedProcCommand)) { info.OrderTbl = DataHelper.ConverDataReaderToDataTable(reader); if (reader.NextResult()) { reader.Read(); if (reader["OrderTotal"] != DBNull.Value) { info.TotalOfSearch += (decimal) reader["OrderTotal"]; } if (reader["Profits"] != DBNull.Value) { info.ProfitsOfSearch += (decimal) reader["Profits"]; } } } info.TotalCount = (int) this.database.GetParameterValue(storedProcCommand, "TotaluserOrders"); return info; }
public static int GetUserOrderCount(int userId, OrderQuery query) { return new OrderDao().GetUserOrderCount(userId, query); }
public static DataSet GetUserOrder(int userId, OrderQuery query) { return new OrderDao().GetUserOrder(userId, query); }
public object GetOrders(int?orderStatus, int pageNo, int pageSize = 8) { CheckUserLogin(); var allOrders = ServiceProvider.Instance <IOrderService> .Create.GetTopOrders(int.MaxValue, CurrentUser.Id); var orderService = ServiceProvider.Instance <IOrderService> .Create; //待评价 var queryModelAll = new OrderQuery() { Status = OrderInfo.OrderOperateStatus.Finish, UserId = CurrentUser.Id, PageSize = int.MaxValue, PageNo = 1, Commented = false }; var allOrderCounts = allOrders.Count(); var waitingForComments = orderService.GetOrders <OrderInfo>(queryModelAll).Total; var waitingForRecieve = allOrders.Count(item => item.OrderStatus == OrderInfo.OrderOperateStatus.WaitReceiving); //获取待收货订单数 var waitingForPay = allOrders.Count(item => item.OrderStatus == OrderInfo.OrderOperateStatus.WaitPay); //获取待支付订单数 if (orderStatus.HasValue && orderStatus == 0) { orderStatus = null; } var queryModel = new OrderQuery() { Status = (OrderInfo.OrderOperateStatus?)orderStatus, UserId = CurrentUser.Id, PageSize = pageSize, PageNo = pageNo }; if (queryModel.Status.HasValue && queryModel.Status.Value == OrderInfo.OrderOperateStatus.WaitReceiving) { if (queryModel.MoreStatus == null) { queryModel.MoreStatus = new List <OrderInfo.OrderOperateStatus>() { }; } queryModel.MoreStatus.Add(OrderInfo.OrderOperateStatus.WaitSelfPickUp); } if (orderStatus.GetValueOrDefault() == (int)OrderInfo.OrderOperateStatus.Finish) { queryModel.Commented = false;//只查询未评价的订单 } ObsoletePageModel <OrderInfo> orders = orderService.GetOrders <OrderInfo>(queryModel); var productService = ServiceProvider.Instance <IProductService> .Create; var vshopService = ServiceProvider.Instance <IVShopService> .Create; var orderRefundService = ServiceProvider.Instance <IRefundService> .Create; var orderItems = OrderApplication.GetOrderItemsByOrderId(orders.Models.Select(p => p.Id)); var orderRefunds = OrderApplication.GetOrderRefunds(orderItems.Select(p => p.Id)); var result = orders.Models.ToArray().Select(item => { if (item.OrderStatus >= OrderInfo.OrderOperateStatus.WaitDelivery) { orderService.CalculateOrderItemRefund(item.Id); } var vshop = vshopService.GetVShopByShopId(item.ShopId); var _ordrefobj = orderRefundService.GetOrderRefundByOrderId(item.Id) ?? new OrderRefundInfo { Id = 0 }; if (item.OrderStatus != OrderInfo.OrderOperateStatus.WaitDelivery && item.OrderStatus != OrderInfo.OrderOperateStatus.WaitSelfPickUp) { _ordrefobj = new OrderRefundInfo { Id = 0 }; } int?ordrefstate = (_ordrefobj == null ? null : (int?)_ordrefobj.SellerAuditStatus); ordrefstate = (ordrefstate > 4 ? (int?)_ordrefobj.ManagerConfirmStatus : ordrefstate); return(new { id = item.Id, status = item.OrderStatus.ToDescription(), orderStatus = item.OrderStatus, orderType = item.OrderType, orderTypeName = item.OrderType.ToDescription(), shopname = item.ShopName, vshopId = vshop == null ? 0 : vshop.Id, orderTotalAmount = item.OrderTotalAmount.ToString("F2"), productCount = item.OrderProductQuantity, commentCount = item.OrderCommentInfo.Count(), pickupCode = item.PickupCode, EnabledRefundAmount = item.OrderEnabledRefundAmount, itemInfo = item.OrderItemInfo.Select(a => { var prodata = productService.GetProduct(a.ProductId); ProductTypeInfo typeInfo = ServiceProvider.Instance <ITypeService> .Create.GetType(prodata.TypeId); string colorAlias = (typeInfo == null || string.IsNullOrEmpty(typeInfo.ColorAlias)) ? SpecificationType.Color.ToDescription() : typeInfo.ColorAlias; string sizeAlias = (typeInfo == null || string.IsNullOrEmpty(typeInfo.SizeAlias)) ? SpecificationType.Size.ToDescription() : typeInfo.SizeAlias; string versionAlias = (typeInfo == null || string.IsNullOrEmpty(typeInfo.VersionAlias)) ? SpecificationType.Version.ToDescription() : typeInfo.VersionAlias; var itemrefund = orderRefunds.Where(or => or.OrderItemId == a.Id).FirstOrDefault(d => d.RefundMode != OrderRefundInfo.OrderRefundMode.OrderRefund); int?itemrefstate = (itemrefund == null ? null : (int?)itemrefund.SellerAuditStatus); itemrefstate = (itemrefstate > 4 ? (int?)itemrefund.ManagerConfirmStatus : itemrefstate); return new { productId = a.ProductId, productName = a.ProductName, image = Core.HimallIO.GetRomoteProductSizeImage(a.ThumbnailsUrl, 1, (int)Himall.CommonModel.ImageSize.Size_350), count = a.Quantity, price = a.SalePrice, Unit = prodata == null ? "" : prodata.MeasureUnit, color = a.Color, size = a.Size, version = a.Version, ColorAlias = colorAlias, SizeAlias = sizeAlias, VersionAlias = versionAlias, RefundStats = itemrefstate, OrderRefundId = (itemrefund == null ? 0 : itemrefund.Id), EnabledRefundAmount = a.EnabledRefundAmount }; }), RefundStats = ordrefstate, OrderRefundId = _ordrefobj.Id, HasExpressStatus = !string.IsNullOrWhiteSpace(item.ShipOrderNumber), HasAppendComment = HasAppendComment(item), Invoice = item.InvoiceType.ToDescription(), InvoiceValue = (int)item.InvoiceType, InvoiceContext = item.InvoiceContext, InvoiceTitle = item.InvoiceTitle, PaymentType = item.PaymentType.ToDescription(), PaymentTypeValue = (int)item.PaymentType, CanRefund = (item.OrderStatus == Himall.Model.OrderInfo.OrderOperateStatus.WaitDelivery || item.OrderStatus == Himall.Model.OrderInfo.OrderOperateStatus.WaitSelfPickUp) && !item.RefundStats.HasValue && item.PaymentType != Himall.Model.OrderInfo.PaymentTypes.CashOnDelivery && item.PaymentType != Himall.Model.OrderInfo.PaymentTypes.None && (item.FightGroupCanRefund == null || item.FightGroupCanRefund == true) && ordrefstate.GetValueOrDefault().Equals(0) }); }); return(Json(new { Success = "true", AllOrderCounts = allOrderCounts, WaitingForComments = waitingForComments, WaitingForRecieve = waitingForRecieve, WaitingForPay = waitingForPay, Orders = result })); }
/// <summary> /// 订单视图列表数据 /// 多表复杂视图通过db实现如存储过程 /// </summary> /// <param name="query"></param> /// <returns></returns> public IEnumerable<Order> GetByQuery(OrderQuery query) { IEnumerable<Order> list = base.DataRepository.Get<Order>("SELECT * FROM EPORDER WHERE ProductId=@productId", new {ProductId = query.ProductId}); return list; }
public object GetOrders(int?status, int pageIndex, int pageSize = 8) { CheckUserLogin(); IShopAppletService iShopAppletService = ServiceProvider.Instance <IShopAppletService> .Create; var orderService = ServiceProvider.Instance <IOrderService> .Create; var allOrders = orderService.GetTopOrders(int.MaxValue, CurrentUser.Id); //待评价 var queryModelAll = new OrderQuery() { Status = OrderInfo.OrderOperateStatus.Finish, UserId = CurrentUser.Id, PageSize = int.MaxValue, PageNo = 1, Commented = false }; var allOrderCounts = allOrders.Count(); var waitingForComments = orderService.GetOrders <OrderInfo>(queryModelAll).Total; var waitingForRecieve = allOrders.Count(item => item.OrderStatus == OrderInfo.OrderOperateStatus.WaitReceiving); //获取待收货订单数 var waitingForPay = allOrders.Count(item => item.OrderStatus == OrderInfo.OrderOperateStatus.WaitPay); //获取待支付订单数 if (status.HasValue && status == 0) { status = null; } var queryModel = new OrderQuery() { Status = (OrderInfo.OrderOperateStatus?)status, UserId = CurrentUser.Id, PageSize = pageSize, PageNo = pageIndex }; if (queryModel.Status.HasValue && queryModel.Status.Value == OrderInfo.OrderOperateStatus.WaitReceiving) { if (queryModel.MoreStatus == null) { queryModel.MoreStatus = new List <OrderInfo.OrderOperateStatus>() { }; } queryModel.MoreStatus.Add(OrderInfo.OrderOperateStatus.WaitSelfPickUp); } if (status.GetValueOrDefault() == (int)OrderInfo.OrderOperateStatus.Finish) { queryModel.Commented = false;//只查询未评价的订单 } ObsoletePageModel <OrderInfo> orders = orderService.GetOrders <OrderInfo>(queryModel); var productService = ServiceProvider.Instance <IProductService> .Create; var vshopService = ServiceProvider.Instance <IVShopService> .Create; var orderRefundService = ServiceProvider.Instance <IRefundService> .Create; var orderItems = OrderApplication.GetOrderItemsByOrderId(orders.Models.Select(p => p.Id)); var orderRefunds = OrderApplication.GetOrderRefunds(orderItems.Select(p => p.Id)); var result = orders.Models.ToArray().Select(item => { if (item.OrderStatus >= OrderInfo.OrderOperateStatus.WaitDelivery) { orderService.CalculateOrderItemRefund(item.Id); } var vshop = vshopService.GetVShopByShopId(item.ShopId); var _ordrefobj = orderRefundService.GetOrderRefundByOrderId(item.Id) ?? new OrderRefundInfo { Id = 0 }; if (item.OrderStatus != OrderInfo.OrderOperateStatus.WaitDelivery && item.OrderStatus != OrderInfo.OrderOperateStatus.WaitSelfPickUp) { _ordrefobj = new OrderRefundInfo { Id = 0 }; } int?ordrefstate = (_ordrefobj == null ? null : (int?)_ordrefobj.SellerAuditStatus); ordrefstate = (ordrefstate > 4 ? (int?)_ordrefobj.ManagerConfirmStatus : ordrefstate); //参照PC端会员中心的状态描述信息 string statusText = item.OrderStatus.ToDescription(); if (item.OrderStatus == OrderInfo.OrderOperateStatus.WaitDelivery || item.OrderStatus == OrderInfo.OrderOperateStatus.WaitSelfPickUp) { if (ordrefstate.HasValue && ordrefstate != 0 && ordrefstate != 4) { statusText = "退款中"; } } var shopInfo = ServiceProvider.Instance <IShopService> .Create.GetShop(item.ShopId); if (shopInfo != null) { shopInfo.Logo = Himall.Core.HimallIO.GetRomoteImagePath(shopInfo.Logo); //是否可退货、退款 bool IsShowReturn = (item.OrderStatus == Himall.Model.OrderInfo.OrderOperateStatus.WaitDelivery || item.OrderStatus == Himall.Model.OrderInfo.OrderOperateStatus.WaitSelfPickUp) && !item.RefundStats.HasValue && item.PaymentType != Himall.Model.OrderInfo.PaymentTypes.CashOnDelivery && item.PaymentType != Himall.Model.OrderInfo.PaymentTypes.None && (item.FightGroupCanRefund == null || item.FightGroupCanRefund == true) && ordrefstate.GetValueOrDefault().Equals(0); return(new { PayCode = item.PayCode, ShopId = item.ShopId, ShopLogo = shopInfo.Logo, OrderAmount = item.OrderAmount, OrderId = item.Id, StatusText = statusText, Status = item.OrderStatus, orderType = item.OrderType, orderTypeName = item.OrderType.ToDescription(), shopname = item.ShopName, vshopId = vshop == null ? 0 : vshop.Id, Amount = item.OrderTotalAmount.ToString("F2"), Quantity = item.OrderProductQuantity, commentCount = item.OrderCommentInfo.Count(), pickupCode = item.PickupCode, EnabledRefundAmount = item.OrderEnabledRefundAmount, LineItems = item.OrderItemInfo.Select(a => { var prodata = productService.GetProduct(a.ProductId); ProductTypeInfo typeInfo = ServiceProvider.Instance <ITypeService> .Create.GetType(prodata.TypeId); string colorAlias = (typeInfo == null || string.IsNullOrEmpty(typeInfo.ColorAlias)) ? SpecificationType.Color.ToDescription() : typeInfo.ColorAlias; string sizeAlias = (typeInfo == null || string.IsNullOrEmpty(typeInfo.SizeAlias)) ? SpecificationType.Size.ToDescription() : typeInfo.SizeAlias; string versionAlias = (typeInfo == null || string.IsNullOrEmpty(typeInfo.VersionAlias)) ? SpecificationType.Version.ToDescription() : typeInfo.VersionAlias; var itemStatusText = ""; var itemrefund = orderRefunds.Where(or => or.OrderItemId == a.Id).FirstOrDefault(d => d.RefundMode != OrderRefundInfo.OrderRefundMode.OrderRefund); int?itemrefstate = (itemrefund == null ? 0 : (int?)itemrefund.SellerAuditStatus); itemrefstate = (itemrefstate > 4 ? (int?)itemrefund.ManagerConfirmStatus : itemrefstate); if (itemrefund != null) { //默认为商家处理进度 if (itemrefstate == 4) { //商家拒绝 itemStatusText = ""; } else { itemStatusText = "售后处理中"; } } if (itemrefstate > 4) {//如果商家已经处理完,则显示平台处理进度 if (itemrefstate == 7) { itemStatusText = "退款成功"; } } var activeModel = ServiceProvider.Instance <IFightGroupService> .Create.GetActiveByProId(a.ProductId); return new { Status = itemrefstate, StatusText = itemStatusText, Id = activeModel.Id, productId = a.ProductId, Name = a.ProductName, Image = activeModel.ProductDefaultImage, Amount = a.Quantity, Price = a.SalePrice, Unit = prodata == null ? "" : prodata.MeasureUnit, SkuText = colorAlias + ":" + a.Color + " " + sizeAlias + ":" + a.Size + " " + versionAlias + ":" + a.Version, color = a.Color, size = a.Size, version = a.Version, ColorAlias = colorAlias, SizeAlias = sizeAlias, VersionAlias = versionAlias, RefundStats = itemrefstate, OrderRefundId = (itemrefund == null ? 0 : itemrefund.Id), EnabledRefundAmount = a.EnabledRefundAmount, IsShowRefund = IsShowReturn, IsShowAfterSale = IsShowReturn, SalePrice = iShopAppletService.GetSkuSalePrice(a.SkuId, a.ProductId) }; }), RefundStats = ordrefstate, OrderRefundId = _ordrefobj.Id, IsShowLogistics = !string.IsNullOrWhiteSpace(item.ShipOrderNumber), ShipOrderNumber = item.ShipOrderNumber, IsShowCreview = item.OrderStatus == OrderInfo.OrderOperateStatus.Finish, IsShowPreview = false, Invoice = item.InvoiceType.ToDescription(), InvoiceValue = (int)item.InvoiceType, InvoiceContext = item.InvoiceContext, InvoiceTitle = item.InvoiceTitle, PaymentType = item.PaymentType.ToDescription(), PaymentTypeValue = (int)item.PaymentType, IsShowClose = (item.OrderStatus == OrderInfo.OrderOperateStatus.WaitPay), IsShowFinishOrder = (item.OrderStatus == OrderInfo.OrderOperateStatus.WaitReceiving), IsShowRefund = IsShowReturn, IsShowReturn = IsShowReturn, IsShowTakeCodeQRCode = !string.IsNullOrWhiteSpace(item.PickupCode), OrderDate = item.OrderDate, SupplierId = 0, ShipperName = string.Empty, StoreName = item.ShopName, IsShowCertification = false, CreviewText = !HasAppendComment(item) ? "评价订单" : "追加评论", ProductCommentPoint = 0 }); } else { return(null); } }); return(Json(new { Status = "OK", AllOrderCounts = allOrderCounts, WaitingForComments = waitingForComments, WaitingForRecieve = waitingForRecieve, WaitingForPay = waitingForPay, Data = result })); }
private static string BuildOrdersQuery(OrderQuery query) { if (null == query) { throw new ArgumentNullException("query"); } StringBuilder stringBuilder = new StringBuilder(); stringBuilder.AppendFormat("SELECT OrderId FROM Ecshop_Orders WHERE 1 = 1 ", new object[0]); if (query.OrderId != string.Empty && query.OrderId != null) { stringBuilder.AppendFormat(" AND OrderId = '{0}'", DataHelper.CleanSearchString(query.OrderId)); } else { if (query.PaymentType.HasValue) { stringBuilder.AppendFormat(" AND PaymentTypeId = '{0}'", query.PaymentType.Value); } if (query.GroupBuyId.HasValue) { stringBuilder.AppendFormat(" AND GroupBuyId = {0}", query.GroupBuyId.Value); } if (!string.IsNullOrEmpty(query.ProductName)) { stringBuilder.AppendFormat(" AND OrderId IN (SELECT OrderId FROM Ecshop_OrderItems WHERE ItemDescription LIKE '%{0}%')", DataHelper.CleanSearchString(query.ProductName)); } if (!string.IsNullOrEmpty(query.ShipTo)) { stringBuilder.AppendFormat(" AND ShipTo LIKE '%{0}%'", DataHelper.CleanSearchString(query.ShipTo)); } if (query.RegionId.HasValue) { stringBuilder.AppendFormat(" AND ShippingRegion like '%{0}%'", DataHelper.CleanSearchString(RegionHelper.GetFullRegion(query.RegionId.Value, ","))); } if (!string.IsNullOrEmpty(query.UserName)) { stringBuilder.AppendFormat(" AND UserName = '******' ", DataHelper.CleanSearchString(query.UserName)); } if (query.Status == OrderStatus.History) { stringBuilder.AppendFormat(" AND OrderStatus != {0} AND OrderStatus != {1} AND OrderStatus != {2} AND OrderDate < '{3}'", new object[] { 1, 4, 9, DateTime.Now.AddMonths(-3) }); } else { if (query.Status == OrderStatus.BuyerAlreadyPaid) { stringBuilder.AppendFormat(" AND (OrderStatus = {0} OR (OrderStatus = 1 AND Gateway = 'ecdev.plugins.payment.podrequest'))", (int)query.Status); } else { if (query.Status != OrderStatus.All) { stringBuilder.AppendFormat(" AND OrderStatus = {0}", (int)query.Status); } } } if (query.StartDate.HasValue) { stringBuilder.AppendFormat(" AND datediff(dd,'{0}',OrderDate)>=0", DataHelper.GetSafeDateTimeFormat(query.StartDate.Value)); } if (query.EndDate.HasValue) { stringBuilder.AppendFormat(" AND datediff(dd,'{0}',OrderDate)<=0", DataHelper.GetSafeDateTimeFormat(query.EndDate.Value)); } if (query.ShippingModeId.HasValue) { stringBuilder.AppendFormat(" AND ShippingModeId = {0}", query.ShippingModeId.Value); } if (query.IsPrinted.HasValue) { stringBuilder.AppendFormat(" AND ISNULL(IsPrinted, 0)={0}", query.IsPrinted.Value); } } if (!string.IsNullOrEmpty(query.SortBy)) { stringBuilder.AppendFormat(" ORDER BY {0} {1}", DataHelper.CleanSearchString(query.SortBy), query.SortOrder.ToString()); } return(stringBuilder.ToString()); }
private OrderQuery GetOrderQuery() { int num3; int num4; OrderQuery query = new OrderQuery(); query.wid = this.wid; if (!string.IsNullOrEmpty(this.Page.Request.QueryString["OrderId"])) { query.OrderId = Globals.UrlDecode(this.Page.Request.QueryString["OrderId"]); } if (!string.IsNullOrEmpty(this.Page.Request.QueryString["ProductName"])) { query.ProductName = Globals.UrlDecode(this.Page.Request.QueryString["ProductName"]); } if (!string.IsNullOrEmpty(this.Page.Request.QueryString["ShipTo"])) { query.ShipTo = Globals.UrlDecode(this.Page.Request.QueryString["ShipTo"]); } if (!string.IsNullOrEmpty(this.Page.Request.QueryString["UserName"])) { query.UserName = Globals.UrlDecode(this.Page.Request.QueryString["UserName"]); } if (!string.IsNullOrEmpty(this.Page.Request.QueryString["StartDate"])) { query.StartDate = new DateTime?(DateTime.Parse(this.Page.Request.QueryString["StartDate"])); } if (!string.IsNullOrEmpty(this.Page.Request.QueryString["GroupBuyId"])) { query.GroupBuyId = new int?(int.Parse(this.Page.Request.QueryString["GroupBuyId"])); } if (!string.IsNullOrEmpty(this.Page.Request.QueryString["EndDate"])) { query.EndDate = new DateTime?(DateTime.Parse(this.Page.Request.QueryString["EndDate"]).AddMilliseconds(86399.0)); } query.OrderItemsStatus = OrderStatus.ApplyForRefund; if (!string.IsNullOrEmpty(this.Page.Request.QueryString["IsPrinted"])) { int num = 0; if (int.TryParse(this.Page.Request.QueryString["IsPrinted"], out num)) { query.IsPrinted = new int?(num); } } if (!string.IsNullOrEmpty(this.Page.Request.QueryString["ModeId"])) { int num2 = 0; if (int.TryParse(this.Page.Request.QueryString["ModeId"], out num2)) { query.ShippingModeId = new int?(num2); } } if (!string.IsNullOrEmpty(this.Page.Request.QueryString["region"]) && int.TryParse(this.Page.Request.QueryString["region"], out num3)) { query.RegionId = new int?(num3); } if (!string.IsNullOrEmpty(this.Page.Request.QueryString["UserId"]) && int.TryParse(this.Page.Request.QueryString["UserId"], out num4)) { query.UserId = new int?(num4); } int result = 0; if (int.TryParse(base.Request.QueryString["orderType"], out result) && (result > 0)) { query.Type = new OrderQuery.OrderType?((OrderQuery.OrderType)result); } if (!string.IsNullOrEmpty(this.Page.Request.QueryString["StoreName"])) { query.StoreName = Globals.UrlDecode(this.Page.Request.QueryString["StoreName"]); } query.PageIndex = this.pager.PageIndex; query.PageSize = this.pager.PageSize; query.SortBy = "OrderDate"; query.SortOrder = SortAction.Desc; return(query); }
/// <summary> /// 定制化查询 /// 类型:微信,线上 /// 分页情况 /// </summary> /// <param name="MOQuery"></param> /// <returns></returns> public ActionResult AjaxMemberOrder(MemberSaleOrderVMQuery MOQuery) { var svc = Service; var OSvc = ORSService; Collection <MemberSaleOrderVM> MasterModel = new Collection <MemberSaleOrderVM>(); long id = -1; string OrderSource = "wechat"; //获取查看用户编号 if (Request.Form["FanId"] != null) { if (!long.TryParse(Request.Form["FanId"].ToString(), out id)) { id = -1; } } //获取订单来源 //wechat--web if (Request.Form["OrderSource"] != null) { OrderSource = Request.Form["OrderSource"].ToString(); } #region 微信端订单 if (OrderSource == "wechat") { var WeChatOrderQuery = new SaleOrderQuery { FanIDs = new long[] { id }, Take = PageSize, Skip = MOQuery.Skip, OrderField = "CreatedAt", OrderDirection = OrderDirection.Asc }; var WeChatOrderList = svc.SelectOrEmpty(WeChatOrderQuery); if (WeChatOrderList != null && WeChatOrderList.Any()) { MemberSaleOrderVM ItemModel = new MemberSaleOrderVM(); var DMetholds = GetDeliveryMethods(); foreach (var item in WeChatOrderList) { ItemModel = new MemberSaleOrderVM(); ItemModel.Code = item.Code; ItemModel.Amount = item.Amount; ItemModel.CreateTime = item.CreatedAt; ItemModel.DeliveryFee = item.DeliveryFee; ItemModel.DeliveryCode = item.DeliveryCode; ItemModel.DeliveryMethodID = item.DeliveryMethodID ?? -1; foreach (var DItem in DMetholds) { if (DItem.ID == ItemModel.DeliveryMethodID) { ItemModel.DeliveryMethodName = DItem.Name; break; } } ItemModel.Status = item.State ?? -1; ItemModel.StatusName = ((OrderState)ItemModel.Status).GetDescription(); ItemModel.OrderSource = "微信商城"; MasterModel.Add(ItemModel); } } ViewData["Pagination"] = Pagination.FromQuery(WeChatOrderQuery); } #endregion #region 线上商城订单 else if (OrderSource == "web") { var relatedQuery = new MemberRelatedQuery { FanIDs = new long[] { id } }; var relatedMember = svc.SelectOrEmpty(relatedQuery).FirstOrDefault(); //如果有关联,则获取关联信息 if (relatedMember != null) { //临时记录线上商城订单信息 //线上商城订单信息需要拼接,故而需要临时信息 Collection <MemberSaleOrderVM> WebMasterModel = new Collection <MemberSaleOrderVM>(); var WebOrderQuery = new OrderQuery { CustomerIDs = new long[] { relatedMember.CustomerID ?? -1 }, Take = PageSize, Skip = MOQuery.Skip, OrderField = "CreatedAt", OrderDirection = OrderDirection.Asc }; var WebOrderList = OSvc.SelectOrEmpty(WebOrderQuery); if (WebOrderList != null && WebOrderList.Any()) { MemberSaleOrderVM ItemModel = new MemberSaleOrderVM(); int idCount = WebOrderList.Count(); long[] ids = new long[idCount]; int idIndex = 0; foreach (var item in WebOrderList) { ItemModel = new MemberSaleOrderVM(); ItemModel.Code = item.Code; ItemModel.CreateTime = item.CreatedAt; ItemModel.OrderSource = "在线商城"; ItemModel.OrderId = item.ID; ids[idIndex++] = ItemModel.OrderId ?? -1; WebMasterModel.Add(ItemModel); } var WebFundQuery = new OrderFundQuery { IDs = ids }; var WebFundList = OSvc.SelectOrEmpty(WebFundQuery); if (WebFundList != null) { for (int i = 0; i < WebMasterModel.Count(); i++) { for (int j = 0; j < WebFundList.Count(); j++) { if (WebMasterModel[i].OrderId == WebFundList.ToList()[j].ID) { WebMasterModel[i].Amount = WebFundList.ToList()[j].PayableAmount; WebMasterModel[i].DeliveryFee = WebFundList.ToList()[j].DeliveryFee; } } MasterModel.Add(WebMasterModel[i]); } } } ViewData["Pagination"] = Pagination.FromQuery(WebOrderQuery); } else//保证在未绑定的情况下,页面的一致性 { var WebOrderQuery = new OrderQuery { CustomerIDs = new long[] { -1 }, Take = PageSize, }; ViewData["Pagination"] = Pagination.FromQuery(WebOrderQuery); } } #endregion ViewData["CId"] = id; return(View("Member/MemberOrderList", MasterModel)); }
public abstract DbQueryResult GetSendGoodsOrders(OrderQuery query);
/// <summary> /// 根据微信端客户信息获取绑定的主系统信息(如果已绑定) /// </summary> /// <param name="FanList">微信端客户列表</param> /// <returns>会员完整信息</returns> private ICollection <MemberMasterVM> AttachMemberWebInfo(IEnumerable <Fan> FanList) { Collection <MemberMasterVM> VM = new Collection <MemberMasterVM>(); var OSvc = ORSService; var svc = Service; if (FanList != null && FanList.Any()) { #region 微信端订单数量信息 var idSets = FanList.Select(c => c.ID ?? 0); long[] fanids = new long[idSets.Count()]; for (int i = 0; i < fanids.Length; i++) { fanids[i] = idSets.ToList()[i]; } //获取微信端客户订单情况 var weChatOrderQuery = new SaleOrderQuery { FanIDs = fanids, State = (int)OrderState.Finished }; var weChatOrder = svc.SelectOrEmpty(weChatOrderQuery); #endregion #region 获取微信端客户绑定主系统情况 var relateQuery = new MemberRelatedQuery { FanIDs = fanids }; //memberSet 微信端和主系统绑定记录 id-fanid-customerid var memberSet = svc.SelectOrEmpty(relateQuery).OrderBy(c => c.FanID); #endregion #region 绑定信息不为空,则获取对应绑定的主系统上的基本信息 if (memberSet != null && memberSet.Any()) { var memberids = memberSet.Select(c => c.CustomerID ?? 0).Distinct().OfType <long>().ToArray(); var CIQuery = new CustomerIdentityQuery { CustomerIDs = memberids }; //CustomerIdentity表 记录不同的登陆Code var CIdentity = OSvc.SelectOrEmpty(CIQuery);//.OrderBy(c => c.CustomerID); //主系统订单情况 var WebOrderQuery = new OrderQuery { CustomerIDs = memberids }; var webOrder = OSvc.SelectOrEmpty(WebOrderQuery); //主系统会员积分信息 //CustomerBalance表和Customer表一一对应 //建立在这个前提下,下文直接以关联下标代替balance下标信息 var balanceQuery = new CustomerBalanceQuery { IDs = memberids }; var balanceSets = OSvc.SelectOrEmpty(balanceQuery); MemberMasterVM item = new MemberMasterVM(); int webCount = 0;//线上登陆方式遍历计数 int relatedCount = memberSet.Count(); long _FanId = -1; long _CustomerId = -1; if (CIdentity != null && CIdentity.Any()) { webCount = CIdentity.Count(); } for (int i = 0; i < FanList.Count(); i++) { item = new MemberMasterVM(); item.CustomerCode = new Collection <string>(); //微信端基本信息 item.WeChatMember = FanList.ToList()[i]; _FanId = item.WeChatMember.ID ?? -1; var relatedItem = memberSet.Where(c => c.FanID == _FanId).FirstOrDefault(); _CustomerId = -1; if (relatedItem != null) { _CustomerId = relatedItem.CustomerID ?? -1; } //微信端订单数量信息 item.WeChatOrderCount = GetWechatOrderCount(weChatOrder, _FanId); //主系统订单数量信息 item.WebOrderCount = GetWebOrderCount(webOrder, _CustomerId); //补齐系统编号到八位,显示用 item.DisplayID = string.Format("{0:D8}", item.WeChatMember.ID ?? 0); //主系统联名登陆信息的获取----一并获取积分信息 item.CustomerCode = GetIdentities(CIdentity, _CustomerId); //积分信息 item.WebCreadit = GetCredits(balanceSets, _CustomerId); VM.Add(item); } } #endregion #region 绑定信息为空,则直接将微信端用户信息绑定返回 else { MemberMasterVM item = new MemberMasterVM(); for (int i = 0; i < FanList.Count(); i++) { item = new MemberMasterVM(); //微信端用户基本信息 item.WeChatMember = FanList.ToList()[i]; //微信端订单数量信息 item.WeChatOrderCount = GetWechatOrderCount(weChatOrder, item.WeChatMember.ID ?? -1); //补齐系统编号到八位,显示用 item.DisplayID = string.Format("{0:D8}", item.WeChatMember.ID ?? 0); //补齐线上默认信息 item.CustomerCode = new Collection <string>(); item.CustomerCode.Add("--"); item.WebCreadit = 0; item.WebOrderCount = 0; VM.Add(item); } } #endregion return(VM); } else { return(null); } }
public void ProcessRequest(HttpContext context) { string s = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>"; string str2 = ""; string str3 = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>"; string str4 = ""; SiteSettings masterSettings = SettingsManager.GetMasterSettings(false); string format = "<trade><Oid>{0}</Oid><SellerUid>{1}</SellerUid><BuyerNick>{2}</BuyerNick><BuyerEmail>{3}</BuyerEmail><ReceiverName>{4}</ReceiverName><ReceiverState>{5}</ReceiverState><ReceiverCity>{6}</ReceiverCity><ReceiverDistrict>{7}</ReceiverDistrict><ReceiverAddress>{8}</ReceiverAddress><ReceiverZip>{9}</ReceiverZip><ReceiverMobile>{10}</ReceiverMobile><ReceiverPhone>{11}</ReceiverPhone><BuyerMemo>{12}</BuyerMemo><OrderMark>{13}</OrderMark><SellerMemo>{14}</SellerMemo><Nums>{15}</Nums><Price>{16}</Price><Payment>{17}</Payment><PostFee>{18}</PostFee><DiscountFee>{19}</DiscountFee><AdjustFee>{20}</AdjustFee><PaymentTs>{21}</PaymentTs><SentTs>{22}</SentTs><RefundStatus>{23}</RefundStatus><RefundAmount>{24}</RefundAmount><RefundRemark>{25}</RefundRemark><Status>{26}</Status><orders list=\"{27}\">{28}</orders></trade>"; string orderitemfomat = "<order><Tid>{0}</Tid><Oid>{1}</Oid><GoodsIid>{2}</GoodsIid><Title>{3}</Title><OuterId>{4}</OuterId><SKUContent>{5}</SKUContent><Nums>{6}</Nums><Price>{7}</Price><Payment>{8}</Payment></order>"; StringBuilder builder = new StringBuilder(); str2 = context.Request.QueryString["action"].ToString(); string sign = context.Request.Form["sign"]; string checkCode = masterSettings.CheckCode; string str9 = context.Request.Form["format"]; new Dictionary <string, string>(); SortedDictionary <string, string> tmpParas = new SortedDictionary <string, string>(); try { string str15; string str17; string str20; if (string.IsNullOrEmpty(str2)) { goto Label_07D6; } string str22 = str2; if (str22 == null) { goto Label_07B9; } if (!(str22 == "tradelist")) { if (str22 == "tradedetails") { goto Label_0336; } if (str22 == "send") { goto Label_046D; } if (str22 == "mark") { goto Label_0613; } goto Label_07B9; } OrderQuery query2 = new OrderQuery(); query2.PageSize = 100; OrderQuery query = query2; int totalrecords = 0; string str10 = context.Request.Form["status"].Trim(); string str11 = context.Request.Form["buyernick"].Trim(); string str12 = context.Request.Form["pageindex"].Trim(); string str13 = context.Request.Form["starttime"].Trim(); string str14 = context.Request.Form["endtime"].Trim(); if (!string.IsNullOrEmpty(str10) && (Convert.ToInt32(str10) >= 0)) { query.Status = (OrderStatus)Enum.Parse(typeof(OrderStatus), str10, true); } else { str4 = MessageInfo.ShowMessageInfo(ApiErrorCode.Empty_Error, "status"); } if (!string.IsNullOrEmpty(str12) && (Convert.ToInt32(str12) > 0)) { query.PageIndex = Convert.ToInt32(str12); } else { str4 = MessageInfo.ShowMessageInfo(ApiErrorCode.Empty_Error, "pageindex"); } if (string.IsNullOrEmpty(str4)) { tmpParas.Add("status", str10); tmpParas.Add("buyernick", str11); tmpParas.Add("pageindex", str12); tmpParas.Add("starttime", str13); tmpParas.Add("endtime", str14); tmpParas.Add("format", str9); if (APIHelper.CheckSign(tmpParas, checkCode, sign)) { if (!string.IsNullOrEmpty(str11)) { query.UserName = str11; } if (!string.IsNullOrEmpty(str13)) { query.StartDate = new DateTime?(Convert.ToDateTime(str13)); } if (!string.IsNullOrEmpty(str14)) { query.EndDate = new DateTime?(Convert.ToDateTime(str14)); } builder.Append("<trade_get_response>"); builder.Append(this.GetOrderList(query, format, orderitemfomat, out totalrecords).ToString()); builder.Append("<totalrecord>" + totalrecords + "</totalrecord>"); builder.Append("</trade_get_response>"); } else { str4 = MessageInfo.ShowMessageInfo(ApiErrorCode.Signature_Error, "sign"); } } else { str4 = MessageInfo.ShowMessageInfo(ApiErrorCode.Empty_Error, "paramter"); } goto Label_07C6; Label_0336: str15 = ""; if (!string.IsNullOrEmpty(context.Request.Form["tid"].Trim())) { str15 = context.Request.Form["tid"].Trim(); tmpParas = new SortedDictionary <string, string>(); tmpParas.Add("tid", context.Request.Form["tid"]); tmpParas.Add("format", str9); if (APIHelper.CheckSign(tmpParas, checkCode, sign)) { string str16 = context.Request.Form["tid"].Replace("\r\n", "\n"); if (!string.IsNullOrEmpty(str16)) { str15 = str16; OrderInfo orderInfo = OrderHelper.GetOrderInfo(str15); builder.Append("<trade_get_response>"); builder.Append(this.GetOrderDetails(format, orderitemfomat, orderInfo).ToString()); builder.Append("</trade_get_response>"); } else { str4 = MessageInfo.ShowMessageInfo(ApiErrorCode.Format_Eroor, "tid"); } } else { str4 = MessageInfo.ShowMessageInfo(ApiErrorCode.Signature_Error, "signature"); } } else { str4 = MessageInfo.ShowMessageInfo(ApiErrorCode.Empty_Error, "tid"); } goto Label_07C6; Label_046D: str17 = context.Request.Form["tid"].Trim(); string str18 = context.Request.Form["out_sid"].Trim(); string str19 = context.Request.Form["company_code"].Trim(); if ((!string.IsNullOrEmpty(str17) && !string.IsNullOrEmpty(str19)) && !string.IsNullOrEmpty(str18)) { tmpParas.Add("tid", str17); tmpParas.Add("out_sid", str18); tmpParas.Add("company_code", str19); tmpParas.Add("format", str9); if (APIHelper.CheckSign(tmpParas, checkCode, sign)) { ExpressCompanyInfo express = ExpressHelper.FindNodeByCode(str19); if (!string.IsNullOrEmpty(express.Name)) { ShippingModeInfo shippingModeByCompany = SalesHelper.GetShippingModeByCompany(express.Name); OrderInfo order = OrderHelper.GetOrderInfo(str17); if (order != null) { ApiErrorCode messageenum = this.SendOrders(order, shippingModeByCompany, str18, express); if (messageenum == ApiErrorCode.Success) { builder.Append("<trade_get_response>"); order = OrderHelper.GetOrderInfo(str17); builder.Append(this.GetOrderDetails(format, orderitemfomat, order).ToString()); builder.Append("</trade_get_response>"); } else { str4 = MessageInfo.ShowMessageInfo(messageenum, "It"); } } else { str4 = MessageInfo.ShowMessageInfo(ApiErrorCode.NoExists_Error, "tid"); } } else { str4 = MessageInfo.ShowMessageInfo(ApiErrorCode.NoExists_Error, "company_code"); } } else { str4 = MessageInfo.ShowMessageInfo(ApiErrorCode.Signature_Error, "sign"); } } else { str4 = MessageInfo.ShowMessageInfo(ApiErrorCode.Empty_Error, "paramters"); } goto Label_07C6; Label_0613: str20 = context.Request.Form["order_mark"].Trim(); string str21 = context.Request.Form["seller_memo"].Trim(); if ((!string.IsNullOrEmpty(context.Request.Form["tid"].Trim()) && !string.IsNullOrEmpty(str20)) && !string.IsNullOrEmpty(str21)) { if ((Convert.ToInt32(str20) > 0) && (Convert.ToInt32(str20) < 7)) { str15 = context.Request.Form["tid"].Trim(); tmpParas.Add("tid", str15); tmpParas.Add("order_mark", str20); tmpParas.Add("seller_memo", str21); tmpParas.Add("format", str9); if (APIHelper.CheckSign(tmpParas, checkCode, sign)) { OrderInfo info5 = OrderHelper.GetOrderInfo(str15); info5.ManagerMark = new OrderMark?((OrderMark)Enum.Parse(typeof(OrderMark), str20, true)); info5.ManagerRemark = Globals.HtmlEncode(str21); if (OrderHelper.SaveRemarkAPI(info5)) { builder.Append("<trade_get_response>"); builder.Append(this.GetOrderDetails(format, orderitemfomat, info5).ToString()); builder.Append("</trade_get_response>"); } else { str4 = MessageInfo.ShowMessageInfo(ApiErrorCode.Paramter_Error, "save is failure "); } } else { str4 = MessageInfo.ShowMessageInfo(ApiErrorCode.Signature_Error, "sign"); } } else { str4 = MessageInfo.ShowMessageInfo(ApiErrorCode.Format_Eroor, "order_mark"); } } else { str4 = MessageInfo.ShowMessageInfo(ApiErrorCode.Empty_Error, "tid or order_mark or seller_memo"); } goto Label_07C6; Label_07B9: str4 = MessageInfo.ShowMessageInfo(ApiErrorCode.Paramter_Error, "paramters"); Label_07C6: s = s + builder.ToString(); goto Label_07FB; Label_07D6: str4 = MessageInfo.ShowMessageInfo(ApiErrorCode.Paramter_Error, "sign"); } catch (Exception exception) { str4 = MessageInfo.ShowMessageInfo(ApiErrorCode.Unknown_Error, exception.Message); } Label_07FB: if (!string.IsNullOrEmpty(str4)) { s = str3 + str4; } context.Response.ContentType = "text/xml"; context.Response.Write(s); }
private void UserPayOrder() { if (this.Order.OrderStatus == OrderStatus.Closed) { if (!this.hasNotify) { OrderHelper.SetExceptionOrder(this.Order.OrderId, "支付异常,请联系买家退款"); Messenger.OrderException(Users.GetUser(this.Order.UserId), this.Order, "订单支付异常,请联系卖家退款.订单号:" + this.Order.OrderId); TradeHelper.UpdateOrderGatewayOrderId(this.Order.OrderId, this.Order.GatewayOrderId); } this.ResponseReturn(true, ""); return; } if (this.Order.OrderStatus == OrderStatus.BuyerAlreadyPaid) { this.ResponseReturn(true, ""); return; } int maxCount = 0; int yetOrderNum = 0; int currentOrderNum = 0; if (this.Order.GroupBuyId > 0) { GroupBuyInfo groupBuy = TradeHelper.GetGroupBuy(this.Order.GroupBuyId); if (groupBuy != null && groupBuy.Status == GroupBuyStatus.UnderWay) { yetOrderNum = TradeHelper.GetOrderCount(this.Order.GroupBuyId); currentOrderNum = this.Order.GetGroupBuyOerderNumber(); maxCount = groupBuy.MaxCount; if (maxCount < yetOrderNum + currentOrderNum) { this.ResponseReturn(true, ""); return; } goto IL_0197; } this.ResponseReturn(true, ""); return; } goto IL_0197; IL_0197: if (this.Order.CheckAction(OrderActions.BUYER_PAY) && TradeHelper.UpdateOrderStatus(this.Order)) { Task.Factory.StartNew(delegate { TradeHelper.UserPayOrder(this.Order, false, true); try { if (this.Order.FightGroupId > 0) { VShopHelper.SetFightGroupSuccess(this.Order.FightGroupId); } if (this.Order.GroupBuyId > 0 && maxCount == yetOrderNum + currentOrderNum) { TradeHelper.SetGroupBuyEndUntreated(this.Order.GroupBuyId); } if (this.Order.ParentOrderId == "-1") { OrderQuery orderQuery = new OrderQuery(); orderQuery.ParentOrderId = this.Order.OrderId; IList <OrderInfo> listUserOrder = MemberProcessor.GetListUserOrder(this.Order.UserId, orderQuery); foreach (OrderInfo item in listUserOrder) { OrderHelper.OrderConfirmPaySendMessage(item); } } else { OrderHelper.OrderConfirmPaySendMessage(this.Order); } } catch (Exception ex) { IDictionary <string, string> dictionary = new Dictionary <string, string>(); dictionary.Add("ErrorMessage", ex.Message); dictionary.Add("StackTrace", ex.StackTrace); if (ex.InnerException != null) { dictionary.Add("InnerException", ex.InnerException.ToString()); } if (ex.GetBaseException() != null) { dictionary.Add("BaseException", ex.GetBaseException().Message); } if (ex.TargetSite != (MethodBase)null) { dictionary.Add("TargetSite", ex.TargetSite.ToString()); } dictionary.Add("ExSource", ex.Source); Globals.AppendLog(dictionary, "支付更新订单收款记录或者消息通知时出错:" + ex.Message, "", "", "UserPay"); } this.Order.OnPayment(); }); this.ResponseReturn(true, ""); } }
public static int GetDistributorOrderCount(OrderQuery query) { return(new OrderDao().GetDistributorOrderCount(query)); }
private string getOrderList(HttpContext context) { int num = 0; int num2 = 0; num = Convert.ToInt32(context.Request["PageSize"]); num2 = Convert.ToInt32(context.Request["Page"]); int num3 = Convert.ToInt32(context.Request["OrderStatus"]); string text = null; string text2 = null; if (!string.IsNullOrWhiteSpace(context.Request["Start_Modified"])) { text = context.Request["Start_Modified"]; } if (!string.IsNullOrWhiteSpace(context.Request["End_Modified"])) { text2 = context.Request["End_Modified"]; } OrderQuery orderQuery = new OrderQuery(); switch (num3) { case 0: orderQuery.Status = OrderStatus.WaitBuyerPay; goto default; case 1: orderQuery.Status = OrderStatus.BuyerAlreadyPaid; goto default; case -1: return("<?xml version=\"1.0\" encoding=\"UTF-8\"?><Order><Result>1</Result><OrderCount>0</OrderCount><OrderList></OrderList></Order>"); default: { if (!string.IsNullOrEmpty(text) && !string.IsNullOrEmpty(text2)) { orderQuery.StartDate = DateTime.Parse(text); orderQuery.EndDate = DateTime.Parse(text2); } orderQuery.PageIndex = num2; orderQuery.PageSize = num; orderQuery.SupplierId = 0; DbQueryResult orders = OrderHelper.GetOrders(orderQuery); StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); stringBuilder.Append("<Order>"); stringBuilder.Append($"<OrderCount>{orders.TotalRecords}</OrderCount>"); stringBuilder.Append("<Result>1</Result>"); stringBuilder.Append("<Cause></Cause>"); stringBuilder.Append($"<Page>{num2}</Page>"); stringBuilder.Append("<OrderList>"); DataTable data = orders.Data; for (int i = 0; i < data.Rows.Count; i++) { stringBuilder.Append(string.Format("<OrderNO>{0}</OrderNO>", data.Rows[i]["OrderId"])); } stringBuilder.Append("</OrderList>"); stringBuilder.Append("</Order>"); return(stringBuilder.ToString()); } } }
public ActionResult Index(string orderDate, string keywords, string orderids, DateTime?startDateTime, DateTime?endDateTime, int?orderStatus, int pageNo = 1, int pageSize = 10) { OrderInfo.OrderOperateStatus?nullable; ViewBag.Grant = (object)null; if (!string.IsNullOrEmpty(orderids) && orderids.IndexOf(',') <= 0) { ViewBag.Grant = ServiceHelper.Create <IShopBonusService>().GetByOrderId(long.Parse(orderids)); } DateTime?nullable1 = startDateTime; DateTime?nullable2 = endDateTime; if (!string.IsNullOrEmpty(orderDate) && orderDate.ToLower() != "all") { string lower = orderDate.ToLower(); string str = lower; if (lower != null) { if (str == "threemonth") { nullable1 = new DateTime?(DateTime.Now.AddMonths(-3)); } else if (str == "halfyear") { nullable1 = new DateTime?(DateTime.Now.AddMonths(-6)); } else if (str == "year") { nullable1 = new DateTime?(DateTime.Now.AddYears(-1)); } else if (str == "yearago") { nullable2 = new DateTime?(DateTime.Now.AddYears(-1)); } } } if (orderStatus.HasValue) { int?nullable3 = orderStatus; if ((nullable3.GetValueOrDefault() != 0 ? false : nullable3.HasValue)) { orderStatus = null; } } OrderQuery orderQuery = new OrderQuery() { StartDate = nullable1, EndDate = nullable2 }; OrderQuery orderQuery1 = orderQuery; int? nullable4 = orderStatus; if (nullable4.HasValue) { nullable = new OrderInfo.OrderOperateStatus?((OrderInfo.OrderOperateStatus)nullable4.GetValueOrDefault()); } else { nullable = null; } orderQuery1.Status = nullable; orderQuery.UserId = new long?(base.CurrentUser.Id); orderQuery.SearchKeyWords = keywords; orderQuery.PageSize = pageSize; orderQuery.PageNo = pageNo; PageModel <OrderInfo> orders = ServiceHelper.Create <IOrderService>().GetOrders <OrderInfo>(orderQuery, null); PagingInfo pagingInfo = new PagingInfo() { CurrentPage = pageNo, ItemsPerPage = pageSize, TotalItems = orders.Total }; ViewBag.pageInfo = pagingInfo; ViewBag.UserId = base.CurrentUser.Id; SiteSettingsInfo siteSettings = ServiceHelper.Create <ISiteSettingService>().GetSiteSettings(); IShopBonusService shopBonusService = ServiceHelper.Create <IShopBonusService>(); ViewBag.SalesRefundTimeout = siteSettings.SalesReturnTimeout; List <OrderInfo> list = orders.Models.ToList(); ICashDepositsService create = Instance <ICashDepositsService> .Create; IEnumerable <OrderListModel> orderListModel = from item in list select new OrderListModel() { Id = item.Id, ActiveType = item.ActiveType, OrderType = item.OrderType, Address = item.Address, CellPhone = item.CellPhone, CloseReason = item.CloseReason, CommisTotalAmount = item.CommisAmount, DiscountAmount = item.DiscountAmount, ExpressCompanyName = item.ExpressCompanyName, FinishDate = item.FinishDate, Freight = item.Freight, GatewayOrderId = item.GatewayOrderId, IntegralDiscount = item.IntegralDiscount, UserId = item.UserId, ShopId = item.ShopId, ShopName = item.ShopName, ShipTo = item.ShipTo, OrderTotalAmount = item.OrderTotalAmount, PaymentTypeName = item.PaymentTypeName, OrderStatus = item.OrderStatus, RefundStats = item.RefundStats, OrderCommentInfo = item.OrderCommentInfo, OrderDate = item.OrderDate, OrderItemList = from oItem in item.OrderItemInfo select new OrderItemListModel() { ProductId = oItem.ProductId, Color = oItem.Color, Size = oItem.Size, Version = oItem.Version, ProductName = oItem.ProductName, ThumbnailsUrl = oItem.ThumbnailsUrl, SalePrice = oItem.SalePrice, SkuId = oItem.SkuId, Quantity = oItem.Quantity, CashDepositsObligation = create.GetCashDepositsObligation(oItem.ProductId) }, ReceiveBonus = shopBonusService.GetGrantByUserOrder(item.Id, CurrentUser.Id) }; List <long> nums = ( from d in list select d.Id).ToList(); if (nums.Count > 0) { RefundQuery refundQuery = new RefundQuery() { OrderId = new long?(nums[0]), MoreOrderId = nums, PageNo = 1, PageSize = list.Count }; List <OrderRefundInfo> orderRefundInfos = ( from d in ServiceHelper.Create <IRefundService>().GetOrderRefunds(refundQuery).Models where (int)d.RefundMode == 1 select d).ToList(); if (orderRefundInfos.Count > 0) { foreach (OrderRefundInfo orderRefundInfo in orderRefundInfos) { OrderInfo orderInfo = list.FirstOrDefault((OrderInfo d) => d.Id == orderRefundInfo.OrderId); if (orderInfo == null) { continue; } orderInfo.RefundStats = (int)(orderRefundInfo.SellerAuditStatus); } } } return(View(orderListModel.ToList())); }
public static DbQueryResult GetOrders(OrderQuery query) { return(SalesProvider.Instance().GetOrders(query)); }
private void UserPayOrder() { if (this.Order.OrderStatus == OrderStatus.Closed) { OrderHelper.SetExceptionOrder(this.Order.OrderId, "支付异常,请联系买家退款"); Messenger.OrderException(Users.GetUser(this.Order.UserId), this.Order, "订单支付异常,请联系卖家退款.订单号:" + this.Order.OrderId); } else if (this.Order.OrderStatus == OrderStatus.BuyerAlreadyPaid) { if (this.Order.FightGroupId > 0) { this.toFightGroupSuccess(); } else { base.Response.Write(string.Format("<p style=\"font-size:16px;\">恭喜您,订单已成功完成支付:{0}</br>支付金额:{1}<br><a href=\"{2}\">查看订单</a></p>", this.OrderId, this.Amount.ToString("F"), this.GetReturnLink(this.Order.OrderSource))); } } else { int maxCount = 0; int yetOrderNum = 0; int currentOrderNum = 0; if (this.Order.GroupBuyId > 0) { GroupBuyInfo groupBuy = TradeHelper.GetGroupBuy(this.Order.GroupBuyId); if (groupBuy == null || groupBuy.Status != GroupBuyStatus.UnderWay) { base.Response.Write($"<p style=\"font-size:16px;\">订单为团购订单,团购活动已结束,支付失败<br><a href=\"{this.GetReturnLink(this.Order.OrderSource)}\">查看订单</a></p>"); return; } yetOrderNum = TradeHelper.GetOrderCount(this.Order.GroupBuyId); currentOrderNum = this.Order.GetGroupBuyOerderNumber(); maxCount = groupBuy.MaxCount; if (maxCount < yetOrderNum + currentOrderNum) { base.Response.Write($"<p style=\"font-size:16px;\">订单为团购订单,订购数量超过订购总数,支付失败<br><a href=\"{this.GetReturnLink(this.Order.OrderSource)}\">查看订单</a></p>"); return; } } if (this.Order.CheckAction(OrderActions.BUYER_PAY) && TradeHelper.UpdateOrderStatus(this.Order)) { Task.Factory.StartNew(delegate { TradeHelper.UserPayOrder(this.Order, false, true); try { if (this.Order.FightGroupId > 0) { VShopHelper.SetFightGroupSuccess(this.Order.FightGroupId); } if (this.Order.GroupBuyId > 0 && maxCount == yetOrderNum + currentOrderNum) { TradeHelper.SetGroupBuyEndUntreated(this.Order.GroupBuyId); } if (this.Order.ParentOrderId == "-1") { OrderQuery orderQuery = new OrderQuery(); orderQuery.ParentOrderId = this.Order.OrderId; IList <OrderInfo> listUserOrder = MemberProcessor.GetListUserOrder(this.Order.UserId, orderQuery); foreach (OrderInfo item in listUserOrder) { OrderHelper.OrderConfirmPaySendMessage(item); } } else { OrderHelper.OrderConfirmPaySendMessage(this.Order); } } catch (Exception ex) { IDictionary <string, string> dictionary = new Dictionary <string, string>(); dictionary.Add("ErrorMessage", ex.Message); dictionary.Add("StackTrace", ex.StackTrace); if (ex.InnerException != null) { dictionary.Add("InnerException", ex.InnerException.ToString()); } if (ex.GetBaseException() != null) { dictionary.Add("BaseException", ex.GetBaseException().Message); } if (ex.TargetSite != (MethodBase)null) { dictionary.Add("TargetSite", ex.TargetSite.ToString()); } dictionary.Add("ExSource", ex.Source); Globals.AppendLog(dictionary, "支付更新订单收款记录或者消息通知时出错:" + ex.Message, "", "", "UserPay"); } this.Order.OnPayment(); }); if (this.Order.FightGroupId > 0) { this.toFightGroupSuccess(); } else { base.Response.Write(string.Format("<p style=\"font-size:16px;\">恭喜您,订单已成功完成支付:{0}</br>支付金额:{1}<br><a href=\"{2}\">查看订单</a></p>", this.OrderId, this.Amount.ToString("F"), this.GetReturnLink(this.Order.OrderSource))); } } else if (this.Order.GroupBuyId > 0) { this.toFightGroupSuccess(); } else { base.Response.Write(string.Format("<p style=\"font-size:16px;\">恭喜您,订单已成功完成支付:{0}</br>支付金额:{1}<br><a href=\"{2}\">查看订单</a></p>", this.OrderId, this.Amount.ToString("F"), this.GetReturnLink(this.Order.OrderSource))); } } }
private DataGridViewModel <Dictionary <string, object> > GetDataList(OrderQuery query) { DataGridViewModel <Dictionary <string, object> > dataGridViewModel = new DataGridViewModel <Dictionary <string, object> >(); if (query != null) { DbQueryResult orders = OrderHelper.GetOrders(query); dataGridViewModel.rows = DataHelper.DataTableToDictionary(orders.Data); dataGridViewModel.total = orders.TotalRecords; string[] orderIds = (from d in dataGridViewModel.rows select d["OrderId"].ToString()).ToArray(); List <RefundInfo> refundInfos = TradeHelper.GetRefundInfos(orderIds); foreach (Dictionary <string, object> row in dataGridViewModel.rows) { OrderInfo order = TradeHelper.GetOrderInfo(row["OrderId"].ToString()); row.Add("OrderStatusText", OrderHelper.GetOrderStatusText(order.OrderStatus, order.ShippingModeId, order.IsConfirm, order.Gateway, 0, order.PreSaleId, order.DepositDate, false, order.ItemStatus, OrderType.NormalOrder)); row.Add("CanConfirmOrder", order.CanConfirmOrder()); row.Add("canCheckTake", order.CanConfirmTakeCode()); row.Add("canCloseOrder", this.CanClose(order, base.CurrentSiteSetting.OpenMultStore)); row.Add("canOfflineReceipt", OrderHelper.CanConfirmOfflineReceipt(order, false)); row.Add("CanEditPrice", this.CanEditPrice(order)); row.Add("InvoiceTypeText", string.IsNullOrEmpty(order.InvoiceTitle) ? "" : EnumDescription.GetEnumDescription((Enum)(object)order.InvoiceType, 0)); bool flag = order.CanSendGoods(base.CurrentSiteSetting.OpenMultStore); if (base.CurrentSiteSetting.OpenMultStore && order.StoreId != 0) { flag = false; } row.Add("canSendGoods", flag); row.Add("canFinishTrade", order.OrderStatus == OrderStatus.SellerAlreadySent && order.ItemStatus == OrderItemStatus.Nomarl); bool flag2 = false; if (base.CurrentSiteSetting.OpenMultStore && order.CountDownBuyId == 0 && order.BundlingId == 0 && order.ItemStatus == OrderItemStatus.Nomarl && (order.OrderStatus == OrderStatus.BuyerAlreadyPaid || (order.OrderStatus == OrderStatus.WaitBuyerPay && order.Gateway == "hishop.plugins.payment.podrequest"))) { if (order.StoreId == -1) { flag2 = (order.LineItems.Count > 0); } else if (order.StoreId > 0) { flag2 = !order.IsConfirm; } else if (order.StoreId == 0) { flag2 = (order.ShippingModeId != -2 && order.LineItems.Count > 0); } } row.Add("CanAllotStore", flag2); RefundInfo refundInfo = refundInfos.FirstOrDefault((RefundInfo d) => d.OrderId == order.OrderId); if (refundInfo != null) { row.Add("IsCheckRefund", order.OrderStatus == OrderStatus.ApplyForRefund && !order.IsStoreCollect); row.Add("RefundId", refundInfo.RefundId); } bool flag3 = false; string value = string.Empty; string value2 = string.Empty; if (order.ItemStatus != 0 || order.OrderStatus == OrderStatus.ApplyForRefund) { if (refundInfo != null && order.OrderStatus == OrderStatus.ApplyForRefund) { flag3 = true; value2 = "订单已申请退款"; value = "/Admin/sales/RefundApplyDetail?RefundId=" + refundInfo.RefundId; } else { int num = 0; AfterSaleTypes afterSaleTypes = AfterSaleTypes.ReturnAndRefund; int num2 = 0; foreach (LineItemInfo value4 in order.LineItems.Values) { if (value4.ReturnInfo != null || value4.ReplaceInfo != null) { ReturnInfo returnInfo = value4.ReturnInfo; ReplaceInfo replaceInfo = value4.ReplaceInfo; if (num == 0 || (returnInfo != null && returnInfo.HandleStatus != ReturnStatus.Refused && returnInfo.HandleStatus != ReturnStatus.Returned) || (replaceInfo != null && (replaceInfo.HandleStatus != ReplaceStatus.Refused || replaceInfo.HandleStatus != ReplaceStatus.Replaced))) { if (value4.ReturnInfo != null) { afterSaleTypes = AfterSaleTypes.ReturnAndRefund; num2 = value4.ReturnInfo.ReturnId; } else { afterSaleTypes = AfterSaleTypes.Replace; num2 = value4.ReplaceInfo.ReplaceId; } } num++; } } if (order.ItemStatus == OrderItemStatus.HasReturnOrReplace) { value2 = "订单中有商品正在退货/换货中"; } else if (order.ReturnedCount > 0) { value2 = "订单中有商品已退货完成"; } else if (order.ItemStatus == OrderItemStatus.HasReplace) { value2 = "订单中有商品正在进行换货操作"; } else if (order.ItemStatus == OrderItemStatus.HasReturn) { value2 = "订单中有商品正在进行退货操作"; } if (num > 0) { flag3 = true; value = ((afterSaleTypes != AfterSaleTypes.ReturnAndRefund) ? ("ReplaceApplyDetail?ReplaceId=" + num2) : ("ReturnApplyDetail?ReturnId=" + num2)); } } } row.Add("IsShowRefundIcon", flag3); row.Add("RefundOperUrl", value); row.Add("RefundTips", value2); bool flag4 = false; if (order.FightGroupId > 0) { FightGroupInfo fightGroup = VShopHelper.GetFightGroup(order.FightGroupId); if (fightGroup != null) { row.Add("FightGroupActivityId", fightGroup.FightGroupActivityId); if (fightGroup.Status == FightGroupStatus.FightGroupIn && order.OrderStatus != OrderStatus.WaitBuyerPay && order.OrderStatus != OrderStatus.Closed) { flag4 = true; } } } row.Add("FightGrouping", flag4); if (order.StoreId > 0) { row.Add("StoreName", this.GetStoreName(order.StoreId)); } if (order.LineItems.Count <= 0) { if (order.UserAwardRecordsId > 0) { row.Add("IsAwardOrder", true); } else { row.Add("IsGiftOrder", true); } } if (order.PreSaleId > 0 && order.OrderStatus == OrderStatus.BuyerAlreadyPaid) { ProductPreSaleInfo productPreSaleInfo = ProductPreSaleHelper.GetProductPreSaleInfo(order.PreSaleId); if (productPreSaleInfo != null) { string value3 = ""; DateTime dateTime; if (productPreSaleInfo.DeliveryDate.HasValue) { dateTime = productPreSaleInfo.DeliveryDate.Value; value3 = "<span>预计发货时间:" + dateTime.ToString("yyyy-MM-dd") + "</span>"; } else { DateTime payDate = order.PayDate; if (order.PayDate != DateTime.MinValue) { dateTime = order.PayDate; dateTime = dateTime.AddDays((double)productPreSaleInfo.DeliveryDays); value3 = "<span>预计发货时间:" + dateTime.ToString("yyyy-MM-dd") + "</span>"; } } row.Add("SendGoodsTips", value3); } } } } return(dataGridViewModel); }
private DataGridViewModel <Dictionary <string, object> > GetOrderList(OrderQuery query) { DataGridViewModel <Dictionary <string, object> > dataGridViewModel = new DataGridViewModel <Dictionary <string, object> >(); DbQueryResult orders = OrderHelper.GetOrders(query); dataGridViewModel.rows = DataHelper.DataTableToDictionary(orders.Data); dataGridViewModel.total = orders.TotalRecords; string[] orderIds = (from d in dataGridViewModel.rows select d["OrderId"].ToString()).ToArray(); List <RefundInfo> refundInfos = TradeHelper.GetRefundInfos(orderIds); foreach (Dictionary <string, object> row in dataGridViewModel.rows) { OrderInfo order = TradeHelper.GetOrderInfo(row["OrderId"].ToString()); row.Add("OrderStatusText", OrderHelper.GetOrderStatusText(order.OrderStatus, order.ShippingModeId, order.IsConfirm, order.Gateway, 0, order.PreSaleId, order.DepositDate, false, order.ItemStatus, OrderType.NormalOrder)); row.Add("CanConfirmOrder", order.CanConfirmOrder()); row.Add("canCheckTake", order.CanConfirmTakeCode()); row.Add("canCloseOrder", order.CanClose(base.CurrentSiteSetting.OpenMultStore, true)); row.Add("canOfflineReceipt", OrderHelper.CanConfirmOfflineReceipt(order, true)); row.Add("canSendGoods", order.CanSendGoods(base.CurrentSiteSetting.OpenMultStore)); row.Add("canFinishTrade", order.OrderStatus == OrderStatus.SellerAlreadySent && order.ItemStatus == OrderItemStatus.Nomarl); row.Add("SupplierOrderTotals", order.OrderCostPrice + order.Freight); if (order.IsStoreCollect) { row.Add("isShowCheckRefund", order.OrderStatus == OrderStatus.ApplyForRefund && order.StoreId == base.CurrentManager.StoreId); } row.Add("InvoiceTypeText", string.IsNullOrEmpty(order.InvoiceTitle) ? "" : EnumDescription.GetEnumDescription((Enum)(object)order.InvoiceType, 0)); bool flag = false; if (order.FightGroupId > 0) { FightGroupInfo fightGroup = VShopHelper.GetFightGroup(order.FightGroupId); if (fightGroup != null) { row.Add("FightGroupActivityId", fightGroup.FightGroupActivityId); if (fightGroup.Status == FightGroupStatus.FightGroupIn && order.OrderStatus != OrderStatus.WaitBuyerPay && order.OrderStatus != OrderStatus.Closed) { flag = true; } } } row.Add("FightGrouping", flag); row.Add("isGiftOrder", order.LineItems.Count <= 0); row["IsError"] = order.IsError; row["ErrorMessage"] = order.ErrorMessage; RefundInfo refundInfo = refundInfos.FirstOrDefault((RefundInfo d) => d.OrderId == order.OrderId); if (refundInfo != null) { row.Add("RefundId", refundInfo.RefundId); } int num = 0; int num2 = 0; bool flag2 = false; string value = "订单中有商品正在进行退货/退款"; AfterSaleTypes?nullable = null; if (order.ItemStatus != 0 || order.OrderStatus == OrderStatus.ApplyForRefund) { if (order.OrderStatus == OrderStatus.ApplyForRefund) { RefundInfo refundInfo2 = TradeHelper.GetRefundInfo(order.OrderId); if (refundInfo2 != null) { flag2 = true; value = "订单已申请退款"; } } else { int num3 = 0; AfterSaleTypes afterSaleTypes = AfterSaleTypes.ReturnAndRefund; int num4 = 0; foreach (LineItemInfo value2 in order.LineItems.Values) { if (value2.ReturnInfo != null || value2.ReplaceInfo != null) { ReturnInfo returnInfo = value2.ReturnInfo; ReplaceInfo replaceInfo = value2.ReplaceInfo; if (num3 == 0 || (returnInfo != null && returnInfo.HandleStatus != ReturnStatus.Refused && returnInfo.HandleStatus != ReturnStatus.Returned) || (replaceInfo != null && (replaceInfo.HandleStatus != ReplaceStatus.Refused || replaceInfo.HandleStatus != ReplaceStatus.Replaced))) { if (value2.ReturnInfo != null) { afterSaleTypes = AfterSaleTypes.ReturnAndRefund; num4 = value2.ReturnInfo.ReturnId; } else { afterSaleTypes = AfterSaleTypes.Replace; num4 = value2.ReplaceInfo.ReplaceId; } } num3++; } } if (order.ItemStatus == OrderItemStatus.HasReturnOrReplace) { value = "订单中有商品正在退货/换货中"; } else if (order.ItemStatus == OrderItemStatus.HasReplace) { value = "订单中有商品正在进行换货"; } else if (order.ItemStatus == OrderItemStatus.HasReturn) { value = "订单中有商品在进行退货/退款操作"; } else if (order.ReturnedCount > 0) { value = "订单中有商品已退货完成"; } if (num3 > 0) { flag2 = true; nullable = afterSaleTypes; if (afterSaleTypes == AfterSaleTypes.ReturnAndRefund) { num = num4; } else { num2 = num4; } } } } row.Add("ReturnId", num); row.Add("ReplaceId", num2); row.Add("AfterSaleType", nullable); row.Add("isShowRefund", flag2); row.Add("RefundStatus", value); } return(dataGridViewModel); }
public void ConfirmPay(HttpContext context) { string text = context.Request["id"]; if (string.IsNullOrWhiteSpace(text)) { throw new HidistroAshxException("错误的编号"); } OrderInfo orderInfo = new OrderDao().GetOrderInfo(text); if (orderInfo == null) { throw new HidistroAshxException("错误的编号"); } if (!orderInfo.CheckAction(OrderActions.SELLER_CONFIRM_PAY)) { throw new HidistroAshxException("权限不足"); } PaymentModeInfo paymentMode = SalesHelper.GetPaymentMode("hishop.plugins.payment.bankrequest"); if (paymentMode != null) { orderInfo.Gateway = paymentMode.Gateway; orderInfo.PaymentType = paymentMode.Name; orderInfo.PaymentTypeId = paymentMode.ModeId; } else { orderInfo.Gateway = "hishop.plugins.payment.bankrequest"; orderInfo.PaymentType = "线下支付"; orderInfo.PaymentTypeId = 0; } int num = 0; int num2 = 0; int num3 = 0; if (orderInfo.CountDownBuyId > 0) { string empty = string.Empty; foreach (KeyValuePair <string, LineItemInfo> lineItem in orderInfo.LineItems) { CountDownInfo countDownInfo = TradeHelper.CheckUserCountDown(lineItem.Value.ProductId, orderInfo.CountDownBuyId, lineItem.Value.SkuId, orderInfo.UserId, orderInfo.GetAllQuantity(true), orderInfo.OrderId, out empty, orderInfo.StoreId); if (countDownInfo == null) { throw new HidistroAshxException(empty); } } } if (orderInfo.FightGroupId > 0) { string empty2 = string.Empty; foreach (KeyValuePair <string, LineItemInfo> lineItem2 in orderInfo.LineItems) { FightGroupActivityInfo fightGroupActivityInfo = VShopHelper.CheckUserFightGroup(lineItem2.Value.ProductId, orderInfo.FightGroupActivityId, orderInfo.FightGroupId, lineItem2.Value.SkuId, orderInfo.UserId, orderInfo.GetAllQuantity(true), orderInfo.OrderId, lineItem2.Value.Quantity, out empty2); if (fightGroupActivityInfo == null) { throw new HidistroAshxException(empty2); } } } if (orderInfo.GroupBuyId > 0) { GroupBuyInfo groupBuy = PromoteHelper.GetGroupBuy(orderInfo.GroupBuyId); if (groupBuy == null || groupBuy.Status != GroupBuyStatus.UnderWay) { throw new HidistroAshxException("当前的订单为团购订单,此团购活动已结束,所以不能支付"); } num2 = PromoteHelper.GetOrderCount(orderInfo.GroupBuyId); num = groupBuy.MaxCount; num3 = orderInfo.GetGroupBuyOerderNumber(); if (num < num2 + num3) { throw new HidistroAshxException("当前的订单为团购订单,订购数量已超过订购总数,所以不能支付"); } } if (orderInfo.PreSaleId > 0) { ProductPreSaleInfo productPreSaleInfo = ProductPreSaleHelper.GetProductPreSaleInfo(orderInfo.PreSaleId); if (productPreSaleInfo == null) { throw new HidistroAshxException("预售活动不存在"); } if (!orderInfo.DepositDate.HasValue && productPreSaleInfo.PreSaleEndDate < DateTime.Now) { throw new HidistroAshxException("预售活动已结束不能支付定金,所以不能确认收款"); } } string empty3 = string.Empty; switch (TradeHelper.CheckOrderBeforePay(orderInfo, out empty3)) { case 1: throw new HidistroAshxException($"当前有商品{empty3}下架或者被删除,不能确认收款"); case 2: if ((orderInfo.PreSaleId <= 0 || orderInfo.DepositDate.HasValue) && orderInfo.PreSaleId > 0) { break; } throw new HidistroAshxException($"当前有商品{empty3}库存不足,不能确认收款"); } if (OrderHelper.ConfirmPay(orderInfo)) { if (orderInfo.GroupBuyId > 0 && num == num2 + num3) { PromoteHelper.SetGroupBuyEndUntreated(orderInfo.GroupBuyId); } if (orderInfo.ParentOrderId == "-1") { OrderQuery orderQuery = new OrderQuery(); orderQuery.ParentOrderId = orderInfo.OrderId; IList <OrderInfo> listUserOrder = MemberProcessor.GetListUserOrder(orderInfo.UserId, orderQuery); foreach (OrderInfo item in listUserOrder) { OrderHelper.OrderConfirmPaySendMessage(item); } } else { OrderHelper.OrderConfirmPaySendMessage(orderInfo); } base.ReturnSuccessResult(context, "成功的确认了订单收款", 0, true); return; } throw new HidistroAshxException("确认订单收款失败"); }
/// <summary> /// Returns an collection of orders for an invoice id (key) /// /// GET /umbraco/Merchello/OrderApi/GetOrdersByInvoiceKey/{guid} /// </summary> /// <param name="id"> /// The invoice key /// </param> /// <returns> /// The collection of <see cref="OrderDisplay"/>. /// </returns> public IEnumerable <OrderDisplay> GetOrdersByInvoiceKey(Guid id) { return(OrderQuery.GetByInvoiceKey(id)); }
private OrderQuery GetDataQuery(HttpContext context) { OrderQuery orderQuery = new OrderQuery(); string parameter = base.GetParameter(context, "InvoiceType", false); int num; if (parameter.ToNullString().Trim() != "") { InvoiceType invoiceType; if (parameter == "0") { OrderQuery orderQuery2 = orderQuery; invoiceType = InvoiceType.Personal; num = invoiceType.GetHashCode(); string arg = num.ToString(); invoiceType = InvoiceType.Enterprise; num = invoiceType.GetHashCode(); orderQuery2.InvoiceTypes = $"{arg},{num.ToString()}"; } else if (parameter == "2") { OrderQuery orderQuery3 = orderQuery; invoiceType = InvoiceType.Personal_Electronic; num = invoiceType.GetHashCode(); string arg2 = num.ToString(); invoiceType = InvoiceType.Enterprise_Electronic; num = invoiceType.GetHashCode(); orderQuery3.InvoiceTypes = $"{arg2},{num.ToString()}"; } else { OrderQuery orderQuery4 = orderQuery; invoiceType = InvoiceType.VATInvoice; num = invoiceType.GetHashCode(); orderQuery4.InvoiceTypes = num.ToString(); } } orderQuery.ItemStatus = 0; orderQuery.IsAllOrder = false; orderQuery.OrderId = Globals.UrlDecode(base.GetParameter(context, "OrderId", false)); orderQuery.ProductName = Globals.UrlDecode(base.GetParameter(context, "ProductName", false)); orderQuery.ShipTo = Globals.UrlDecode(base.GetParameter(context, "ShipTo", false)); orderQuery.UserName = Globals.UrlDecode(base.GetParameter(context, "UserName", false)); orderQuery.StartDate = base.GetDateTimeParam(context, "StartDate"); orderQuery.EndDate = base.GetDateTimeParam(context, "EndDate"); orderQuery.GroupBuyId = base.GetIntParam(context, "GroupBuyId", true); orderQuery.IsPrinted = base.GetIntParam(context, "IsPrinted", true); orderQuery.ShippingModeId = base.GetIntParam(context, "ShippingModeId", true); orderQuery.RegionId = base.GetIntParam(context, "RegionId", true); if (orderQuery.RegionId.HasValue) { orderQuery.FullRegionName = RegionHelper.GetFullRegion(orderQuery.RegionId.Value, ",", true, 0); } orderQuery.SourceOrder = base.GetIntParam(context, "SourceOrder", true); int?intParam = base.GetIntParam(context, "SupplierId", true); if (intParam.HasValue) { orderQuery.SupplierId = intParam.Value; } else { orderQuery.SupplierId = -1; } int?intParam2 = base.GetIntParam(context, "OrderStatus", true); if (intParam2.HasValue) { int?nullable = intParam2; num = 999; if (nullable == num) { orderQuery.TakeOnStore = true; orderQuery.Status = OrderStatus.BuyerAlreadyPaid; } else { orderQuery.Status = (OrderStatus)intParam2.Value; nullable = intParam2; num = 2; if (nullable == num) { orderQuery.TakeOnStore = false; } } } orderQuery.PageIndex = base.CurrentPageIndex; orderQuery.PageSize = base.CurrentPageSize; orderQuery.SortBy = "OrderDate"; orderQuery.SortOrder = SortAction.Desc; return(orderQuery); }
public static DbQueryResult GetOrders(OrderQuery query) { return(new OrderDao().GetOrders(query)); }
protected bool Equals(OrderQuery other) => string.Equals(CustomerID, other.CustomerID);
public async Task <IEnumerable <Order> > GetByQuery(OrderQuery query) { return(await connection.QueryAsync <Order>("GetOrderByQuery", query.Parameters, transaction : transaction, commandType : CommandType.StoredProcedure)); }
public abstract DbQueryResult GetOrders(OrderQuery query);
private OrderQuery GetOrderQuery() { OrderQuery orderQuery = new OrderQuery(); if (!string.IsNullOrEmpty(this.Page.Request.QueryString["orderId"])) { orderQuery.OrderId = this.Page.Request.QueryString["orderId"]; } if (!string.IsNullOrEmpty(this.Page.Request.QueryString["shipId"])) { orderQuery.ShipId = this.Page.Request.QueryString["shipId"]; } if (!string.IsNullOrEmpty(this.Page.Request.QueryString["shipTo"])) { orderQuery.ShipTo = this.Page.Request.QueryString["shipTo"]; } if (!string.IsNullOrEmpty(this.Page.Request.QueryString["ParentOrderId"])) { orderQuery.ParentOrderId = this.Page.Request.QueryString["ParentOrderId"]; } if (!string.IsNullOrEmpty(this.Page.Request.QueryString["startDate"])) { orderQuery.StartDate = Convert.ToDateTime(this.Page.Server.UrlDecode(this.Page.Request.QueryString["startDate"])); } if (!string.IsNullOrEmpty(this.Page.Request.QueryString["endDate"])) { orderQuery.EndDate = Convert.ToDateTime(this.Page.Server.UrlDecode(this.Page.Request.QueryString["endDate"])); } if (!string.IsNullOrEmpty(this.Page.Request.QueryString["orderStatus"])) { int status = 0; if (int.TryParse(this.Page.Request.QueryString["orderStatus"], out status)) { orderQuery.Status = (OrderStatus)status; } } if (!string.IsNullOrEmpty(this.Page.Request.QueryString["itemStatus"])) { int value = 0; if (int.TryParse(this.Page.Request.QueryString["itemStatus"], out value)) { orderQuery.ItemStatus = value; } } if (!string.IsNullOrEmpty(this.Page.Request.QueryString["sortBy"])) { orderQuery.SortBy = this.Page.Request.QueryString["sortBy"]; } if (!string.IsNullOrEmpty(this.Page.Request.QueryString["sortOrder"])) { int sortOrder = 0; if (int.TryParse(this.Page.Request.QueryString["sortOrder"], out sortOrder)) { orderQuery.SortOrder = (SortAction)sortOrder; } } if (!string.IsNullOrEmpty(this.Page.Request.QueryString["productName"])) { orderQuery.ProductName = Globals.UrlDecode(Globals.StripAllTags(this.Page.Request.QueryString["productName"])); } orderQuery.IsServiceOrder = false; orderQuery.PageIndex = this.pager.PageIndex; orderQuery.PageSize = this.pager.PageSize; return(orderQuery); }
public static OrderStatisticsInfo GetUserOrdersNoPage(OrderQuery userOrder) { return new SaleStatisticDao().GetUserOrdersNoPage(userOrder); }