Browse Source

sync product

qianyi
shanji 3 years ago
parent
commit
01c80a0996
  1. 10
      BBWY.Server.Business/PlatformSDK/JDBusiness.cs
  2. 3
      BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs
  3. 15
      BBWY.Server.Business/Sync/ProductSyncBusiness.cs
  4. 5
      BBWY.Server.Model/Db/Product/Product.cs
  5. 5
      BBWY.Server.Model/Db/Product/ProductSku.cs
  6. 10
      BBWY.Server.Model/Dto/Response/Product/ProductResponse.cs

10
BBWY.Server.Business/PlatformSDK/JDBusiness.cs

@ -80,7 +80,7 @@ namespace BBWY.Server.Business
var jdClient = GetJdClient(searchProductRequest.AppKey, searchProductRequest.AppSecret); var jdClient = GetJdClient(searchProductRequest.AppKey, searchProductRequest.AppSecret);
var req_productList = new WareReadSearchWare4ValidRequest() var req_productList = new WareReadSearchWare4ValidRequest()
{ {
orderField = "modified", orderField = "modified,wareStatus",
orderType = "desc", orderType = "desc",
pageSize = searchProductRequest.PageSize, pageSize = searchProductRequest.PageSize,
pageNo = searchProductRequest.PageIndex pageNo = searchProductRequest.PageIndex
@ -105,7 +105,8 @@ namespace BBWY.Server.Business
{ {
Id = p.Value<string>("wareId"), Id = p.Value<string>("wareId"),
Title = p.Value<string>("title"), Title = p.Value<string>("title"),
ProductItemNum = p.Value<string>("itemNum") ProductItemNum = p.Value<string>("itemNum"),
State = p.Value<int>("wareStatus")
}).ToList() }).ToList()
}; };
} }
@ -116,7 +117,7 @@ namespace BBWY.Server.Business
var req_skuList = new SkuReadSearchSkuListRequest() var req_skuList = new SkuReadSearchSkuListRequest()
{ {
pageSize = 50,//50 pageSize = 50,//50
field = "logo,saleAttrs" field = "logo,saleAttrs,status"
}; };
if (!string.IsNullOrEmpty(searchProductSkuRequest.Spu)) if (!string.IsNullOrEmpty(searchProductSkuRequest.Spu))
@ -133,7 +134,8 @@ namespace BBWY.Server.Business
ProductId = s.Value<string>("wareId"), ProductId = s.Value<string>("wareId"),
Price = s.Value<decimal>("jdPrice"), Price = s.Value<decimal>("jdPrice"),
Title = string.Join("-", s["saleAttrs"].Select(a => a["attrValueAlias"][0].ToString())), Title = string.Join("-", s["saleAttrs"].Select(a => a["attrValueAlias"][0].ToString())),
Logo = $"https://img13.360buyimg.com/n9/s80x80_{s.Value<string>("logo")}" Logo = $"https://img13.360buyimg.com/n9/s80x80_{s.Value<string>("logo")}",
State = s.Value<int>("status")
}).ToList(); }).ToList();
} }

3
BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs

@ -612,7 +612,8 @@ namespace BBWY.Server.Business
orderCost.PlatformCommissionAmount; orderCost.PlatformCommissionAmount;
orderDropshipping.PurchaseAmount = purchaseOrderSimpleInfo.TotalAmount; orderDropshipping.PurchaseAmount = purchaseOrderSimpleInfo.TotalAmount;
orderDropshipping.SkuAmount = purchaseOrderSimpleInfo.ProductAmount;
orderDropshipping.PurchaseFreight = purchaseOrderSimpleInfo.FreightAmount;
fsql.Transaction(() => fsql.Transaction(() =>
{ {
foreach (var update in updatePurchaseOrders) foreach (var update in updatePurchaseOrders)

15
BBWY.Server.Business/Sync/ProductSyncBusiness.cs

@ -56,19 +56,15 @@ namespace BBWY.Server.Business.Sync
var productIds = productList.Items.Select(p => p.Id); var productIds = productList.Items.Select(p => p.Id);
var dbProductIds = fsql.Select<Product>().Where(p => p.ShopId == shopId && p.Platform == shop.PlatformId && productIds.Contains(p.Id)).ToList(p => p.Id); var insertProductList = productList.Items.Select(p => new Product()
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()
{ {
Id = p.Id, Id = p.Id,
CreateTime = DateTime.Now, CreateTime = DateTime.Now,
Platform = shop.PlatformId, Platform = shop.PlatformId,
ProductItemNum = p.ProductItemNum, ProductItemNum = p.ProductItemNum,
ShopId = shopId, ShopId = shopId,
Title = p.Title Title = p.Title,
State = p.State
}).ToList(); }).ToList();
var inserSkuList = new List<ProductSku>(); var inserSkuList = new List<ProductSku>();
@ -91,12 +87,15 @@ namespace BBWY.Server.Business.Sync
Price = s.Price, Price = s.Price,
ProductId = s.ProductId, ProductId = s.ProductId,
ShopId = shopId, ShopId = shopId,
Title = s.Title Title = s.Title,
State = s.State
})); }));
} }
fsql.Transaction(() => fsql.Transaction(() =>
{ {
fsql.Delete<Product>().Where(p => p.ShopId == shopId && productIds.Contains(p.Id)).ExecuteAffrows();
fsql.Delete<ProductSku>().Where(s => s.ShopId == shopId && productIds.Contains(s.ProductId)).ExecuteAffrows();
fsql.Insert(insertProductList).ExecuteAffrows(); fsql.Insert(insertProductList).ExecuteAffrows();
fsql.Insert(inserSkuList).ExecuteAffrows(); fsql.Insert(inserSkuList).ExecuteAffrows();
}); });

5
BBWY.Server.Model/Db/Product/Product.cs

@ -34,6 +34,11 @@ namespace BBWY.Server.Model.Db
public string Title { get; set; } public string Title { get; set; }
/// <summary>
/// 京东商品状态【-1:删除 1:从未上架 2:自主下架 4:系统下架 8:上架 513:从未上架待审 514:自主下架待审 516:系统下架待审 520:上架待审核 1028:系统下架审核失败】
/// </summary>
public int? State { get; set; }
} }
} }

5
BBWY.Server.Model/Db/Product/ProductSku.cs

@ -41,6 +41,11 @@ namespace BBWY.Server.Model.Db
public string Title { get; set; } public string Title { get; set; }
/// <summary>
/// 京东Sku状态【1:上架 2:下架 4:删除】
/// </summary>
public int? State { get; set; }
} }
} }

10
BBWY.Server.Model/Dto/Response/Product/ProductResponse.cs

@ -20,6 +20,11 @@ namespace BBWY.Server.Model.Dto
/// 商品标题 /// 商品标题
/// </summary> /// </summary>
public string Title { get; set; } public string Title { get; set; }
/// <summary>
/// 京东商品状态【-1:删除 1:从未上架 2:自主下架 4:系统下架 8:上架 513:从未上架待审 514:自主下架待审 516:系统下架待审 520:上架待审核 1028:系统下架审核失败】
/// </summary>
public int State { get; set; }
} }
public class ProductListResponse public class ProductListResponse
@ -43,6 +48,11 @@ namespace BBWY.Server.Model.Dto
public string Title { get; set; } public string Title { get; set; }
public string Logo { get; set; } public string Logo { get; set; }
/// <summary>
/// 京东Sku状态【1:上架 2:下架 4:删除】
/// </summary>
public int State { get; set; }
} }
public class SimpleProductSkuResponse public class SimpleProductSkuResponse

Loading…
Cancel
Save