/// <summary> /// 搜索门店订单 /// </summary> /// <param name="query"></param> /// <returns></returns> public List <DTO.FullOrder> PostSearchShopBranchOrder(OrderQuery query) { if (query.PageNo < 1) { query.PageNo = 1; } if (query.PageSize < 1) { query.PageSize = 10; } CheckUserLogin(); query.ShopBranchId = CurrentShopBranch.Id; var status = new[] { OrderInfo.OrderOperateStatus.WaitPay, OrderInfo.OrderOperateStatus.WaitDelivery, OrderInfo.OrderOperateStatus.WaitReceiving, OrderInfo.OrderOperateStatus.WaitSelfPickUp, OrderInfo.OrderOperateStatus.Finish, OrderInfo.OrderOperateStatus.Close }; if (query.Status == null || !status.Contains(query.Status.Value))//门店只能查询这几种状态的订单 { query.Status = OrderInfo.OrderOperateStatus.WaitSelfPickUp; } var data = OrderApplication.GetFullOrders(query); return(data.Models); }
public JsonResult List(OrderQuery query, int page, int rows) { query.PageNo = page; query.PageSize = rows; query.Operator = Operator.Admin; query.PaymentTypeGateways = PaymentApplication.GetPaymentIdByDesc(query.PaymentTypeGateway); var fullOrders = OrderApplication.GetFullOrders(query); var models = fullOrders.Models.ToList(); var shops = ShopApplication.GetShops(fullOrders.Models.Select(p => p.ShopId).ToList()); var shopBranchs = ShopBranchApplication.GetShopBranchs(models.Where(p => p.DeliveryType == CommonModel.DeliveryType.SelfTake && p.ShopBranchId != 0).Select(p => p.ShopBranchId).ToList()); IEnumerable <OrderModel> orderModels = models.Select(item => { var shop = shops.FirstOrDefault(sp => sp.Id == item.ShopId); return(new OrderModel() { OrderId = item.Id, OrderStatus = item.OrderStatus.ToDescription(), OrderState = (int)item.OrderStatus, OrderDate = item.OrderDate.ToString("yyyy-MM-dd HH:mm:ss"), ShopId = item.ShopId, ShopName = item.ShopBranchId > 0 ? item.ShopBranchName : item.ShopName, ShopBranchName = item.DeliveryType == CommonModel.DeliveryType.SelfTake && item.ShopBranchId > 0 && shopBranchs.FirstOrDefault(sb => sb.Id == item.ShopBranchId) != null ? shopBranchs.FirstOrDefault(sb => sb.Id == item.ShopBranchId).ShopBranchName : "", UserId = item.UserId, UserName = item.UserName, TotalPrice = item.OrderTotalAmount, PaymentTypeName = item.PaymentTypeName, PlatForm = (int)item.Platform, IconSrc = GetIconSrc(item.Platform), PlatformText = item.Platform.ToDescription(), PaymentTypeGateway = item.PaymentTypeGateway, PayDate = item.PayDate, PaymentTypeStr = item.PaymentTypeDesc, PaymentType = item.PaymentType, OrderType = item.OrderType, GatewayOrderId = item.GatewayOrderId, Payee = shop.ContactsName, CellPhone = item.CellPhone, RegionFullName = item.RegionFullName, Address = item.Address, SellerRemark = item.SellerRemark, UserRemark = item.UserRemark, OrderItems = item.OrderItems, SellerRemarkFlag = item.SellerRemarkFlag, IsVirtual = item.OrderType == OrderInfo.OrderTypes.Virtual }); }); DataGridModel <OrderModel> dataGrid = new DataGridModel <OrderModel>() { rows = orderModels, total = fullOrders.Total }; return(Json(dataGrid)); }
public ActionResult Index(string orderDate, string keywords, int pageNo = 1, int pageSize = 10) { DateTime?startDate = null; DateTime?endDate = null; if (!string.IsNullOrEmpty(orderDate) && orderDate.ToLower() != "all") { switch (orderDate.ToLower()) { case "threemonth": startDate = DateTime.Now.AddMonths(-3); break; case "halfyear": startDate = DateTime.Now.AddMonths(-6); break; case "year": startDate = DateTime.Now.AddYears(-1); break; case "yearago": endDate = DateTime.Now.AddYears(-1); break; } } var queryModel = new OrderQuery() { StartDate = startDate, EndDate = endDate, Status = OrderInfo.OrderOperateStatus.Finish, UserId = CurrentUser.Id, SearchKeyWords = keywords, PageSize = pageSize, PageNo = pageNo }; queryModel.MoreStatus = new List <OrderInfo.OrderOperateStatus>(); queryModel.MoreStatus.Add(OrderInfo.OrderOperateStatus.WaitReceiving); var orders = OrderApplication.GetFullOrders(queryModel); PagingInfo info = new PagingInfo { CurrentPage = pageNo, ItemsPerPage = pageSize, TotalItems = orders.Total }; ViewBag.UserId = CurrentUser.Id; ViewBag.pageInfo = info; ViewBag.SalesRefundTimeout = SiteSettingApplication.SiteSettings.SalesReturnTimeout; ViewBag.Keyword = string.IsNullOrWhiteSpace(SiteSettings.SearchKeyword) ? SiteSettings.Keyword : SiteSettings.SearchKeyword; ViewBag.Keywords = SiteSettings.HotKeyWords; return(View(orders.Models)); }
public JsonResult List(OrderQuery query, int page, int rows) { query.PageNo = page; query.PageSize = rows; //var orders = OrderApplication.GetOrders(query); var fullOrders = OrderApplication.GetFullOrders(query); var models = fullOrders.Models.ToList(); var shops = Application.ShopApplication.GetShops(fullOrders.Models.Select(p => p.ShopId).ToArray()); var shopBranchs = Application.ShopBranchApplication.GetShopBranchs(models.Where(p => p.DeliveryType == CommonModel.Enum.DeliveryType.SelfTake && p.ShopBranchId.HasValue && p.ShopBranchId.Value != 0).Select(p => p.ShopBranchId.Value)); IEnumerable <OrderModel> orderModels = models.Select(item => { var shop = shops.FirstOrDefault(sp => sp.Id == item.ShopId); var Newmodel = GetNewmodel(item.Id); return(new OrderModel() { OrderId = item.Id, OrderStatus = item.OrderStatus.ToDescription(), OrderState = (int)item.OrderStatus, OrderDate = item.OrderDate.ToString("yyyy-MM-dd HH:mm:ss"), ShopId = item.ShopId, ShopName = item.ShopName, ShopBranchName = item.DeliveryType == CommonModel.Enum.DeliveryType.SelfTake && item.ShopBranchId.HasValue && item.ShopBranchId.Value != 0 ? shopBranchs.FirstOrDefault(sb => sb.Id == item.ShopBranchId.Value).ShopBranchName : "", UserId = item.UserId, UserName = item.UserName, ShipTo = item.ShipTo, TotalPrice = item.OrderTotalAmount, PaymentTypeName = item.PaymentTypeName, PlatForm = (int)item.Platform, IconSrc = GetIconSrc(item.Platform), PlatformText = item.Platform.ToDescription(), PaymentTypeGateway = item.PaymentTypeGateway, PayDate = item.PayDate, PaymentTypeStr = item.PaymentType.ToDescription(), PaymentType = item.PaymentType, OrderType = item.OrderType, GatewayOrderId = item.GatewayOrderId, Payee = shop.ContactsName, CellPhone = item.CellPhone, RegionFullName = item.RegionFullName, Address = item.Address, SellerRemark = item.SellerRemark, UserRemark = item.UserRemark, OrderItems = item.OrderItems, SellerRemarkFlag = item.SellerRemarkFlag, YYDate = Newmodel[0].ReceiveDate.ToString("yyyy-MM-dd"), ReceiveDate = Newmodel[0].ReceiveDate, ReceiveStartTime = Newmodel[0].ReceiveStartTime, ReceiveEndTime = Newmodel[0].ReceiveEndTime, doctorName = Newmodel[0].doctorName, SellerAddress = item.SellerAddress, }); }); //开始结束时间 if (query.StartDate.HasValue) { DateTime sdt = query.StartDate.Value; orderModels = orderModels.Where(d => d.ReceiveDate >= sdt); } if (query.EndDate.HasValue) { DateTime edt = query.EndDate.Value.AddDays(1); orderModels = orderModels.Where(d => d.ReceiveDate < edt); } DataGridModel <OrderModel> dataGrid = new DataGridModel <OrderModel>() { rows = orderModels, total = fullOrders.Total }; return(Json(dataGrid)); }
/// <summary> /// 查询订单 /// </summary> /// <param name="context"></param> /// <returns></returns> public string GetOrder(HttpContext context) { string bizcontent = context.Request["bizcontent"]; JObject jo = (JObject)JsonConvert.DeserializeObject(bizcontent); string OrderStatus = GetJObjectValue <string>(jo, "OrderStatus"); string PlatOrderNo = GetJObjectValue <string>(jo, "PlatOrderNo"); string StartTime = GetJObjectValue <string>(jo, "StartTime");; string EndTime = GetJObjectValue <string>(jo, "EndTime"); string TimeType = GetJObjectValue <string>(jo, "TimeType"); //未使用,所有都是按订单创建时间搜索 int PageIndex = GetJObjectValue <int>(jo, "PageIndex"); int PageSize = GetJObjectValue <int>(jo, "PageSize"); if (PageIndex <= 0) { PageIndex = 1; } if (PageSize <= 0) { PageSize = 10; } OrderQuery query = new OrderQuery { ShopId = CurShopId }; switch (OrderStatus) { case "JH_01": query.Status = Entities.OrderInfo.OrderOperateStatus.WaitPay; break; case "JH_02": query.Status = Entities.OrderInfo.OrderOperateStatus.WaitDelivery; if (query.MoreStatus == null) { query.MoreStatus = new List <OrderInfo.OrderOperateStatus>() { }; } query.MoreStatus.Add(OrderInfo.OrderOperateStatus.WaitSelfPickUp); break; case "JH_03": query.Status = Entities.OrderInfo.OrderOperateStatus.WaitReceiving; break; case "JH_04": query.Status = Entities.OrderInfo.OrderOperateStatus.Finish; break; case "JH_05": query.Status = Entities.OrderInfo.OrderOperateStatus.Close; break; case "JH_99": query.Status = null; //所有 break; } if (!string.IsNullOrEmpty(PlatOrderNo) && PlatOrderNo != "") { query.OrderId = PlatOrderNo; } else { //检测参数 if (string.IsNullOrWhiteSpace(StartTime) || string.IsNullOrWhiteSpace(EndTime) || string.IsNullOrWhiteSpace(OrderStatus) ) { throw new HimallApiException("参数错误,有必填参数未给值"); } query.StartDate = DateTime.Parse(StartTime); query.EndDate = DateTime.Parse(EndTime); } query.PageNo = PageIndex; query.PageSize = PageSize; var orders = OrderApplication.GetFullOrders(query); bool ishasnextpage = false; if (orders.Total > 0) { ishasnextpage = orders.Models.Count == PageSize; } StringBuilder sb = new StringBuilder(); sb.Append("{"); sb.Append("\"code\":" + "\"" + "10000" + "\""); sb.Append(",\"message\":" + "\"" + "SUCCESS" + "\""); sb.Append(",\"numtotalorder\":" + "\"" + orders.Total + "\""); sb.Append(",\"ishasnextpage\":" + "\"" + (ishasnextpage ? "1" : "0") + "\""); sb.Append(",\"orders\":"); sb.Append("["); int curordernum = 0; foreach (var order in orders.Models) { if (curordernum > 0) { sb.Append(","); } sb.Append("{"); sb.Append("\"PlatOrderNo\":" + "\"" + order.OrderId + "\""); string tradeStatus = ""; string tradeStatusName = ""; string itemStatus = ""; switch (order.OrderStatus) { case Entities.OrderInfo.OrderOperateStatus.WaitPay: tradeStatus = "JH_01"; tradeStatusName = "等待买家付款"; itemStatus = "JH_01"; break; case Entities.OrderInfo.OrderOperateStatus.WaitDelivery: tradeStatus = "JH_02"; tradeStatusName = "等待卖家发货"; itemStatus = "JH_02"; break; case Entities.OrderInfo.OrderOperateStatus.WaitReceiving: tradeStatus = "JH_03"; tradeStatusName = "等待买家确认收货"; itemStatus = "JH_03"; break; case Entities.OrderInfo.OrderOperateStatus.Close: tradeStatus = "JH_05"; tradeStatusName = "交易关闭"; itemStatus = "JH_05"; break; case Entities.OrderInfo.OrderOperateStatus.Finish: tradeStatus = "JH_04"; tradeStatusName = "交易完成"; itemStatus = "JH_04"; break; case Entities.OrderInfo.OrderOperateStatus.WaitSelfPickUp: tradeStatus = "JH_02"; tradeStatusName = "等待卖家发货"; itemStatus = "JH_02"; break; default: tradeStatus = "JH_99"; tradeStatusName = "其他"; itemStatus = "JH_99"; break; } sb.Append(",\"tradeStatus\":" + "\"" + tradeStatus + "\""); sb.Append(",\"tradeStatusdescription\":" + "\"" + tradeStatusName + "\""); sb.Append(",\"tradetime\":" + "\"" + order.OrderDate.ToString("yyyy-MM-dd HH:mm:ss") + "\""); sb.Append(",\"payorderno\":" + "\"" + "" + "\""); sb.Append(",\"country\":" + "\"" + "CN" + "\""); string[] ShippingRegion = order.RegionFullName.Split(' '); string province = ""; if (ShippingRegion.Length > 0) { province = ShippingRegion[0]; } string city = ""; if (ShippingRegion.Length > 1) { city = ShippingRegion[1]; } string area = ""; if (ShippingRegion.Length > 2) { area = ShippingRegion[2]; } string town = ""; if (ShippingRegion.Length > 3) { town = ShippingRegion[3]; } sb.Append(",\"province\":" + "\"" + province + "\""); sb.Append(",\"city\":" + "\"" + city + "\""); sb.Append(",\"area\":" + "\"" + area + "\""); sb.Append(",\"town\":" + "\"" + town + "\""); sb.Append(",\"address\":" + "\"" + order.Address + "\""); sb.Append(",\"zip\":" + "\"\""); sb.Append(",\"phone\":" + "\"\""); sb.Append(",\"mobile\":" + "\"" + order.CellPhone + "\""); sb.Append(",\"email\":" + "\"\""); sb.Append(",\"customerremark\":" + "\"" + order.OrderRemarks + "\""); sb.Append(",\"sellerremark\":" + "\"" + order.SellerRemark + "\""); sb.Append(",\"postfee\":" + "\"" + order.Freight.ToString("F2") + "\""); sb.Append(",\"goodsfee\":" + "\"" + order.ProductTotalAmount.ToString("F2") + "\""); sb.Append(",\"totalmoney\":" + "\"" + order.OrderTotalAmount.ToString("F2") + "\""); sb.Append(",\"favourablemoney\":" + "\"" + (order.DiscountAmount + order.FullDiscount + order.IntegralDiscount).ToString("F2") + "\""); sb.Append(",\"commissionvalue\":" + "\"" + "" + "\""); sb.Append(",\"taxamount\":" + "\"0\""); sb.Append(",\"tariffamount\":" + "\"" + "" + "\""); sb.Append(",\"addedvalueamount\":" + "\"" + order.Tax + "\""); sb.Append(",\"consumptiondutyamount\":" + "\"" + "" + "\""); sb.Append(",\"sendstyle\":" + "\"" + order.DeliveryType.ToDescription() + "\""); sb.Append(",\"paytime\":" + "\"" + GetDateTimeString(order.PayDate, "yyyy-MM-dd HH:mm:ss") + "\""); sb.Append(",\"invoicetitle\":" + "\"" + order.InvoiceTitle + "\""); sb.Append(",\"taxpayerident\":" + "\"" + order.InvoiceCode + "\""); sb.Append(",\"codservicefee\":" + "\"" + "" + "\""); sb.Append(",\"receivername\":" + "\"" + order.ShipTo + "\""); sb.Append(",\"nick\":" + "\"" + order.UserName + "\""); sb.Append(",\"whsecode\":" + "\"" + "" + "\""); sb.Append(",\"IsHwgFlag\":" + "\"" + "0" + "\""); sb.Append(",\"ShouldPayType\":" + "\"" + GetShouldPayType(order.PaymentType) + "\""); sb.Append(",\"StoreName\":" + "\"" + order.ShopBranchName + "\""); sb.Append(",\"StoreId\":" + "\"" + order.ShopBranchId + "\""); sb.Append(",\"VerifyCode\":" + "\"" + order.PickupCode + "\""); //订单项 sb.Append(",\"goodinfos\":"); sb.Append("["); int curitemnum = 0; foreach (var item in order.OrderItems) { var sku = ProductManagerApplication.GetSKU(item.SkuId); if (curitemnum > 0) { sb.Append(","); } var skuproid = item.SkuId; if (!string.IsNullOrWhiteSpace(sku.Sku)) { skuproid = sku.Sku; } if (skuproid.IndexOf("_0_0_0") > -1 || string.IsNullOrWhiteSpace(skuproid)) { var _pro = ProductManagerApplication.GetProduct(item.ProductId); skuproid = _pro.ProductCode; } sb.Append("{"); sb.Append("\"ProductId\":" + "\"" + item.SkuId + "\""); sb.Append(",\"suborderno\":" + "\"" + "" + "\""); sb.Append(",\"tradegoodsno\":" + "\"" + skuproid + "\""); sb.Append(",\"tradegoodsname\":" + "\"" + item.ProductName + "\""); sb.Append(",\"tradegoodsspec\":" + "\"" + item.SKU + "\""); sb.Append(",\"goodscount\":" + "\"" + item.Quantity + "\""); sb.Append(",\"price\":" + "\"" + item.Price.ToString("F2") + "\""); sb.Append(",\"discountmoney\":" + "\"" + (item.FullDiscount + item.CouponDiscount + item.DiscountAmount).ToString("F2") + "\""); sb.Append(",\"taxamount\":" + "\"0\""); sb.Append(",\"addedvalueamount\":" + "\"0\""); sb.Append(",\"consumptiondutyamount\":" + "\"0\""); string refundStatus = "JH_07"; switch (item.RefundStats) { case 1: refundStatus = "JH_01"; break; case 2: refundStatus = "JH_02"; break; case 3: refundStatus = "JH_03"; break; case 4: refundStatus = "JH_04"; break; case 5: case 6: refundStatus = "JH_99"; break; case 7: refundStatus = "JH_07"; break; } sb.Append(",\"refundStatus\":" + "\"" + refundStatus + "\""); sb.Append(",\"status\":" + "\"" + itemStatus + "\""); sb.Append(",\"remark\":" + "\"" + "" + "\""); sb.Append("}"); curitemnum++; } sb.Append("]"); //优惠 sb.Append(",\"coupondetails\":"); sb.Append("["); curitemnum = 0; foreach (var item in order.OrderItems) { if (item.FullDiscount > 0) { if (curitemnum > 0) { sb.Append(","); } sb.Append(AddCouponDetail(item.SkuId, "JH_OffFreeCoupon", "满减", item.FullDiscount.ToString("F2"))); curitemnum++; } if (item.CouponDiscount > 0) { if (curitemnum > 0) { sb.Append(","); } sb.Append(AddCouponDetail(item.SkuId, "JH_Coupon", "优惠券", item.CouponDiscount.ToString("F2"))); curitemnum++; } if (item.EnabledRefundIntegral > 0) { if (curitemnum > 0) { sb.Append(","); } sb.Append(AddCouponDetail(item.SkuId, "JH_Point", "积分抵扣", item.EnabledRefundIntegral.Value.ToString("F2"))); curitemnum++; } if (item.DiscountAmount > 0) { if (curitemnum > 0) { sb.Append(","); } sb.Append(AddCouponDetail(item.SkuId, "JH_PeopleCoupon", "人工优惠", item.EnabledRefundIntegral.Value.ToString("F2"))); curitemnum++; } } sb.Append("]"); sb.Append("}"); curordernum++; } sb.Append("]"); sb.Append("}"); return(sb.ToString()); }