From 01c80a09964dfcc4b495b7ab28bab688d5bc9251 Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Sun, 31 Jul 2022 05:31:05 +0800 Subject: [PATCH] sync product --- BBWY.Server.Business/PlatformSDK/JDBusiness.cs | 10 ++++++---- .../PurchaseOrder/PurchaseOrderBusiness.cs | 3 ++- BBWY.Server.Business/Sync/ProductSyncBusiness.cs | 15 +++++++-------- BBWY.Server.Model/Db/Product/Product.cs | 5 +++++ BBWY.Server.Model/Db/Product/ProductSku.cs | 5 +++++ .../Dto/Response/Product/ProductResponse.cs | 10 ++++++++++ 6 files changed, 35 insertions(+), 13 deletions(-) diff --git a/BBWY.Server.Business/PlatformSDK/JDBusiness.cs b/BBWY.Server.Business/PlatformSDK/JDBusiness.cs index a81b9335..51f975b3 100644 --- a/BBWY.Server.Business/PlatformSDK/JDBusiness.cs +++ b/BBWY.Server.Business/PlatformSDK/JDBusiness.cs @@ -80,7 +80,7 @@ namespace BBWY.Server.Business var jdClient = GetJdClient(searchProductRequest.AppKey, searchProductRequest.AppSecret); var req_productList = new WareReadSearchWare4ValidRequest() { - orderField = "modified", + orderField = "modified,wareStatus", orderType = "desc", pageSize = searchProductRequest.PageSize, pageNo = searchProductRequest.PageIndex @@ -105,7 +105,8 @@ namespace BBWY.Server.Business { Id = p.Value("wareId"), Title = p.Value("title"), - ProductItemNum = p.Value("itemNum") + ProductItemNum = p.Value("itemNum"), + State = p.Value("wareStatus") }).ToList() }; } @@ -116,7 +117,7 @@ namespace BBWY.Server.Business var req_skuList = new SkuReadSearchSkuListRequest() { pageSize = 50,//50 - field = "logo,saleAttrs" + field = "logo,saleAttrs,status" }; if (!string.IsNullOrEmpty(searchProductSkuRequest.Spu)) @@ -133,7 +134,8 @@ namespace BBWY.Server.Business ProductId = s.Value("wareId"), Price = s.Value("jdPrice"), Title = string.Join("-", s["saleAttrs"].Select(a => a["attrValueAlias"][0].ToString())), - Logo = $"https://img13.360buyimg.com/n9/s80x80_{s.Value("logo")}" + Logo = $"https://img13.360buyimg.com/n9/s80x80_{s.Value("logo")}", + State = s.Value("status") }).ToList(); } diff --git a/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs b/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs index 2b92c914..1f289e8f 100644 --- a/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs +++ b/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs @@ -612,7 +612,8 @@ namespace BBWY.Server.Business orderCost.PlatformCommissionAmount; orderDropshipping.PurchaseAmount = purchaseOrderSimpleInfo.TotalAmount; - + orderDropshipping.SkuAmount = purchaseOrderSimpleInfo.ProductAmount; + orderDropshipping.PurchaseFreight = purchaseOrderSimpleInfo.FreightAmount; fsql.Transaction(() => { foreach (var update in updatePurchaseOrders) diff --git a/BBWY.Server.Business/Sync/ProductSyncBusiness.cs b/BBWY.Server.Business/Sync/ProductSyncBusiness.cs index 711eaf61..e85d0f5b 100644 --- a/BBWY.Server.Business/Sync/ProductSyncBusiness.cs +++ b/BBWY.Server.Business/Sync/ProductSyncBusiness.cs @@ -56,19 +56,15 @@ namespace BBWY.Server.Business.Sync var productIds = productList.Items.Select(p => p.Id); - var dbProductIds = fsql.Select().Where(p => p.ShopId == shopId && p.Platform == shop.PlatformId && productIds.Contains(p.Id)).ToList(p => p.Id); - var noExtisProductIds = productIds.Except(dbProductIds).ToList(); - if (noExtisProductIds.Count() == 0) - return; - - var insertProductList = productList.Items.Where(p => noExtisProductIds.Contains(p.Id)).Select(p => new Product() + var insertProductList = productList.Items.Select(p => new Product() { Id = p.Id, CreateTime = DateTime.Now, Platform = shop.PlatformId, ProductItemNum = p.ProductItemNum, ShopId = shopId, - Title = p.Title + Title = p.Title, + State = p.State }).ToList(); var inserSkuList = new List(); @@ -91,12 +87,15 @@ namespace BBWY.Server.Business.Sync Price = s.Price, ProductId = s.ProductId, ShopId = shopId, - Title = s.Title + Title = s.Title, + State = s.State })); } fsql.Transaction(() => { + fsql.Delete().Where(p => p.ShopId == shopId && productIds.Contains(p.Id)).ExecuteAffrows(); + fsql.Delete().Where(s => s.ShopId == shopId && productIds.Contains(s.ProductId)).ExecuteAffrows(); fsql.Insert(insertProductList).ExecuteAffrows(); fsql.Insert(inserSkuList).ExecuteAffrows(); }); diff --git a/BBWY.Server.Model/Db/Product/Product.cs b/BBWY.Server.Model/Db/Product/Product.cs index c20b4913..5229fbf3 100644 --- a/BBWY.Server.Model/Db/Product/Product.cs +++ b/BBWY.Server.Model/Db/Product/Product.cs @@ -34,6 +34,11 @@ namespace BBWY.Server.Model.Db public string Title { get; set; } + /// + /// 京东商品状态【-1:删除 1:从未上架 2:自主下架 4:系统下架 8:上架 513:从未上架待审 514:自主下架待审 516:系统下架待审 520:上架待审核 1028:系统下架审核失败】 + /// + public int? State { get; set; } + } } diff --git a/BBWY.Server.Model/Db/Product/ProductSku.cs b/BBWY.Server.Model/Db/Product/ProductSku.cs index 1fb50e41..daa0469a 100644 --- a/BBWY.Server.Model/Db/Product/ProductSku.cs +++ b/BBWY.Server.Model/Db/Product/ProductSku.cs @@ -41,6 +41,11 @@ namespace BBWY.Server.Model.Db public string Title { get; set; } + /// + /// 京东Sku状态【1:上架 2:下架 4:删除】 + /// + public int? State { get; set; } + } } diff --git a/BBWY.Server.Model/Dto/Response/Product/ProductResponse.cs b/BBWY.Server.Model/Dto/Response/Product/ProductResponse.cs index afaa5d60..2ad2e18f 100644 --- a/BBWY.Server.Model/Dto/Response/Product/ProductResponse.cs +++ b/BBWY.Server.Model/Dto/Response/Product/ProductResponse.cs @@ -20,6 +20,11 @@ namespace BBWY.Server.Model.Dto /// 商品标题 /// public string Title { get; set; } + + /// + /// 京东商品状态【-1:删除 1:从未上架 2:自主下架 4:系统下架 8:上架 513:从未上架待审 514:自主下架待审 516:系统下架待审 520:上架待审核 1028:系统下架审核失败】 + /// + public int State { get; set; } } public class ProductListResponse @@ -43,6 +48,11 @@ namespace BBWY.Server.Model.Dto public string Title { get; set; } public string Logo { get; set; } + + /// + /// 京东Sku状态【1:上架 2:下架 4:删除】 + /// + public int State { get; set; } } public class SimpleProductSkuResponse