diff --git a/TradeManageNew/DD_OrderServiceNew.asmx.cs b/TradeManageNew/DD_OrderServiceNew.asmx.cs index 59f23b9..fc9c6fb 100644 --- a/TradeManageNew/DD_OrderServiceNew.asmx.cs +++ b/TradeManageNew/DD_OrderServiceNew.asmx.cs @@ -29,6 +29,7 @@ using TradeManageNew.APIClients.FedexApi.Models.Ship; using TradeManageNew.APIClients.ShopifyAPI; using TradeManageNew.Models.ShopifyUsedSale; using TradeModel; +using TradeUsedSale.Enums; using Match = System.Text.RegularExpressions.Match; namespace TradeManageNew @@ -28669,10 +28670,10 @@ namespace TradeManageNew /// /// [WebMethod(EnableSession = true)] - public JsonModel> OrderUsedSalePlatformPage(string Code,string BarCode,bool? IsPrinted,TradeUsedSale.Enums.UsedSalePlatformStatus? Status,string WarehousePositionCode,int PageIndex=1,int PageSize=50) + public JsonModel> OrderUsedSalePlatformPage(string Code,string BarCode,bool? IsPrinted,TradeUsedSale.Enums.UsedSalePlatformStatus? Status,string WarehousePositionCode,int PageIndex=1,int PageSize=50) { // PagesNew.Login(base.Session); - var result = new JsonModel>(); + var result = new JsonModel>(); using (var db = new TradeUsedSale.Repositories.ErpDbContext()) { var query = db.DT_OrderUsedSalePlatform.AsQueryable(); @@ -28709,7 +28710,87 @@ namespace TradeManageNew if (count > 0) { var page= query.Skip((PageIndex - 1) * PageSize).Take(PageSize).ToList(); - result.DataSource = page; + result.DataSource = new List(); + + var productIds = page.Select(x => x.ProductId).ToList(); + + var products = db.HW_GoodsInfo.Where(x => productIds.Contains(x.GoodsId)).Select(o => new + { + ProductId = o.GoodsId, + FirstImgUrl = o.FirstImgUrl + }).ToList(); + + foreach (var pageItem in page) + { + var resultItem = new OrderUsedSalePlatformPageDto + { + Id = pageItem.Id, + ProductId = pageItem.ProductId, + ProductCode = pageItem.ProductCode, + ProductImageUrl = products.FirstOrDefault(x => x.ProductId == pageItem.ProductId) + ?.FirstImgUrl, + SkuId = pageItem.SkuId, + SkuCode = pageItem.SkuCode, + BarCode = pageItem.BarCode, + IsPrinted = pageItem.IsPrinted, + Status = pageItem.Status, + WarehouseLocation = pageItem.WarehouseLocation, + WarehousePositionId = pageItem.WarehousePositionId, + WarehousePositionCode = pageItem.WarehousePositionCode, + ImageUrls = JsonConvert.DeserializeObject>(pageItem.ImageUrls), + ShippingMethod = pageItem.ShippingMethod, + IsNew = pageItem.IsNew, + CreationTime = pageItem.CreationTime, + CreatorId = pageItem.CreatorId, + PublishMessage = pageItem.PublishMessage, + }; + result.DataSource.Add(resultItem); + } + + var barCodes = result.DataSource.Select(x => x.BarCode).ToList(); + + var shopifyOrderItems = db.DT_ShopifyUsedSaleOrderItem.Where(x => barCodes.Contains(x.ProductCode)) + .ToList(); + + var shopifyOrderIds = shopifyOrderItems.Select(x => x.DtShopifyUsedSaleOrderId).ToList(); + + if (shopifyOrderIds.Any()) + { + var shopifyOrders = db.DT_ShopifyUsedSaleOrder.Where(x => shopifyOrderIds.Contains(x.Id)) + .ToList(); + + foreach (var resultItem in result.DataSource) + { + var shopifyOrderItem = + shopifyOrderItems.FirstOrDefault(x => x.ProductCode == resultItem.BarCode); + + if (shopifyOrderItem != null) + { + var shopifyOrder = shopifyOrders.FirstOrDefault(x => + x.Id == shopifyOrderItem.DtShopifyUsedSaleOrderId); + + resultItem.OrderId = shopifyOrder?.OrderId; + resultItem.OrderNumber = shopifyOrder?.OrderNumber; + resultItem.OrderName = shopifyOrder?.OrderName; + resultItem.CreatedAt = shopifyOrder?.CreatedAt; + resultItem.UpdatedAt = shopifyOrder?.UpdatedAt; + resultItem.ProcessedAt = shopifyOrder?.ProcessedAt; + resultItem.Name = shopifyOrder?.Name; + resultItem.Phone = shopifyOrder?.Phone; + resultItem.Full = shopifyOrder?.Full; + resultItem.Detail = shopifyOrder?.Detail; + resultItem.Detail2 = shopifyOrder?.Detail2; + resultItem.City = shopifyOrder?.City; + resultItem.Province = shopifyOrder?.Province; + resultItem.ProvinceCode = shopifyOrder?.ProvinceCode; + resultItem.Zip = shopifyOrder?.Zip; + resultItem.Country = shopifyOrder?.Country; + resultItem.CountryCode = shopifyOrder?.CountryCode; + resultItem.Currency = shopifyOrder?.Currency; + resultItem.TotalPrice = shopifyOrder?.TotalPrice; + } + } + } } } @@ -29397,15 +29478,14 @@ namespace TradeManageNew Datas = null }; } - - + + [WebMethod(EnableSession = true)] public APIReturnModel GetOrderUsedSalePlatformLabel(int Id) { // PagesNew.Login(base.Session); using (var db = new TradeUsedSale.Repositories.ErpDbContext()) { - var orderUsedSalePlatform = db.DT_OrderUsedSalePlatform.FirstOrDefault(x => - x.Id == Id && x.Status == TradeUsedSale.Enums.UsedSalePlatformStatus.PendingPickup); + var orderUsedSalePlatform = db.DT_OrderUsedSalePlatform.FirstOrDefault(x => x.Id == Id); if (orderUsedSalePlatform is null) { @@ -29416,6 +29496,16 @@ namespace TradeManageNew Datas = null }; } + + if (orderUsedSalePlatform.Status != TradeUsedSale.Enums.UsedSalePlatformStatus.PendingPickup) + { + return new APIReturnModel + { + Code = 0, + Message = $"二手售卖商品[{orderUsedSalePlatform.SkuCode}]不处于待发货状态", + Datas = null + }; + } var product = db.HW_GoodsInfo.FirstOrDefault(x => x.GoodsId == orderUsedSalePlatform.ProductId); if (product is null) @@ -29462,16 +29552,6 @@ namespace TradeManageNew Datas = null }; } - - if (orderUsedSalePlatform.Status != TradeUsedSale.Enums.UsedSalePlatformStatus.PendingPickup) - { - return new APIReturnModel - { - Code = 0, - Message = $"二手售卖商品[{orderUsedSalePlatform.SkuCode}]不处于待发货状态", - Datas = null - }; - } //Shopify订单信息 var shopifyUsedSaleOrderItem = db.DT_ShopifyUsedSaleOrderItem.FirstOrDefault(x => x.ProductCode == orderUsedSalePlatform.BarCode); @@ -29510,7 +29590,7 @@ namespace TradeManageNew var serviceTypes = new List() { RequestedShipmentServiceType.GROUND_HOME_DELIVERY, - RequestedShipmentServiceType.SMART_POST, + //RequestedShipmentServiceType.SMART_POST, RequestedShipmentServiceType.FEDEX_GROUND, }; @@ -29621,9 +29701,9 @@ namespace TradeManageNew var labelSpecification = new LabelSpecification() { - ImageType = LabelSpecificationImageType.PDF, + ImageType = LabelSpecificationImageType.PNG, LabelFormatType = LabelSpecificationLabelFormatType.COMMON2D, - LabelStockType = LabelSpecificationLabelStockType.PAPER_4X8, + LabelStockType = LabelSpecificationLabelStockType.PAPER_4X6, }; #endregion @@ -29675,18 +29755,6 @@ namespace TradeManageNew } catch (Exception ex) { - var apiRequestStr = apiRequestInfo.ToString(); - if (!string.IsNullOrWhiteSpace(apiRequestStr)) - { - db.InsertWithInt32Identity(new TradeUsedSale.Repositories.Models.DT_TrackCodeApplyLog - { - UsedSaleBarCode = orderUsedSalePlatform.BarCode, - ServiceType = serviceType.ToString(), - Remark = apiRequestStr, - CreationTime = DateTime.Now - }); - } - db.InsertWithInt32Identity(new TradeUsedSale.Repositories.Models.DT_TrackCodeApplyLog { UsedSaleBarCode = orderUsedSalePlatform.BarCode, @@ -29695,6 +29763,18 @@ namespace TradeManageNew CreationTime = DateTime.Now }); } + + var apiRequestStr = apiRequestInfo.ToString(); + if (!string.IsNullOrWhiteSpace(apiRequestStr)) + { + db.InsertWithInt32Identity(new TradeUsedSale.Repositories.Models.DT_TrackCodeApplyLog + { + UsedSaleBarCode = orderUsedSalePlatform.BarCode, + ServiceType = serviceType.ToString(), + Remark = apiRequestStr, + CreationTime = DateTime.Now + }); + } } } diff --git a/TradeManageNew/Models/ShopifyUsedSale/OrderUsedSalePlatformPageDto.cs b/TradeManageNew/Models/ShopifyUsedSale/OrderUsedSalePlatformPageDto.cs new file mode 100644 index 0000000..4b4d845 --- /dev/null +++ b/TradeManageNew/Models/ShopifyUsedSale/OrderUsedSalePlatformPageDto.cs @@ -0,0 +1,167 @@ +using System; +using System.Collections.Generic; +using TradeUsedSale.Enums; + +namespace TradeManageNew.Models.ShopifyUsedSale +{ + public class OrderUsedSalePlatformPageDto + { + public int Id { get; set; } + + /// + /// 产品Id + /// + public int ProductId { get; set; } + + /// + /// 产品编码 + /// + public string ProductCode { get; set; } + + /// + /// 产品图片 + /// + public string ProductImageUrl { get; set; } + + /// + /// SKU ID + /// + public int SkuId { get; set; } + + /// + /// SKU Code + /// + public string SkuCode { get; set; } + + /// + /// 打印条码 + /// + public string BarCode { get; set; } + + /// + /// 是否已打印 + /// + public bool IsPrinted { get; set; } + + /// + /// 状态 + /// + public UsedSalePlatformStatus Status { get; set; } + + /// + /// 仓库 + /// + public WarehouseLocation WarehouseLocation { get; set; } + + /// + /// 库位Id + /// + public int WarehousePositionId { get; set; } + + /// + /// 库位编码 + /// + public string WarehousePositionCode { get; set; } + + /// + /// 拍照图片信息 + /// + public List ImageUrls { get; set; } + + /// + /// 交易方式 + /// + public ShippingMethod? ShippingMethod { get; set; } + + /// + /// 是否全新 + /// + public bool? IsNew { get; set; } + + /// + /// 创建时间 + /// + public DateTime CreationTime { get; set; } + + /// + /// 创建人 + /// + public int CreatorId { get; set; } + + /// + /// 推送至平台信息 + /// + public string PublishMessage { get; set; } + + public string OrderId { get; set; } + + public string OrderNumber { get; set; } + + public string OrderName { get; set; } + + public DateTime? CreatedAt { get; set; } + + public DateTime? UpdatedAt { get; set; } + + public DateTime? ProcessedAt { get; set; } + + /// + /// 收件人 + /// + public string Name { get; set; } + + /// + /// 收件人电话 + /// + public string Phone { get; set; } + + /// + /// 完整地址 + /// + public string Full { get; set; } + + /// + /// 地址1 + /// + public string Detail { get; set; } + + /// + /// 地址2 + /// + public string Detail2 { get; set; } + + /// + /// 城市 + /// + public string City { get; set; } + + /// + /// 省 + /// + public string Province { get; set; } + + /// + /// 省编码 + /// + public string ProvinceCode { get; set; } + + /// + /// 邮编 + /// + public string Zip { get; set; } + + /// + /// 国家 + /// + public string Country { get; set; } + + /// + /// 国家编码 + /// + public string CountryCode { get; set; } + + public string Currency { get; set; } + + public decimal? TotalPrice { get; set; } + } +} \ No newline at end of file diff --git a/TradeManageNew/TradeManageNew.csproj b/TradeManageNew/TradeManageNew.csproj index 9d6d944..5acd1a6 100644 --- a/TradeManageNew/TradeManageNew.csproj +++ b/TradeManageNew/TradeManageNew.csproj @@ -2924,6 +2924,7 @@ + OrderAPI.ashx