diff --git a/BBWYB.Server.Business/Product/ProductBusiness.cs b/BBWYB.Server.Business/Product/ProductBusiness.cs index 0d644cf..1f2e4fc 100644 --- a/BBWYB.Server.Business/Product/ProductBusiness.cs +++ b/BBWYB.Server.Business/Product/ProductBusiness.cs @@ -1,5 +1,6 @@ using BBWYB.Common.Log; using BBWYB.Common.Models; +using BBWYB.Server.Model; using SDKAdapter.OperationPlatform.Client; using SDKAdapter.OperationPlatform.Models; using Yitter.IdGenerator; @@ -14,7 +15,7 @@ namespace BBWYB.Server.Business { this.opPlatformClientFactory = opPlatformClientFactory; } - + public OP_ProductListResponse GetProductList(OP_QueryProductRequest request) { return opPlatformClientFactory.GetClient(request.Platform).GetProductList(request); @@ -27,6 +28,40 @@ namespace BBWYB.Server.Business public void EditProductPrice(OP_EditProductPriceRequest request) { + var skuRequest = new OP_QueryProductSkuRequest() + { + AppKey = request.AppKey, + AppSecret = request.AppSecret, + AppToken = request.AppToken, + PageIndex = 1, + PageSize = 50, + Platform = request.Platform, + Spu = request.Spu + }; + var editSkuList = new List(); + while (true) + { + var response = GetProductSkuList(skuRequest); + if (response.Items.Count > 0) + { + editSkuList.AddRange(response.Items.Select(sku => new OP_EditProductSkuPriceRequest() + { + Sku = sku.Id, + Price = sku.Price, + })); + } + if (response.Items.Count < 50) + break; + skuRequest.PageIndex++; + } + foreach (var editReq in request.EditSkuList) + { + var editSku = editSkuList.FirstOrDefault(x => x.Sku == editReq.Sku); + if (editSku != null) + editSku.Price = editReq.Price; + } + request.EditSkuList.Clear(); + request.EditSkuList.AddRange(editSkuList); opPlatformClientFactory.GetClient(request.Platform).EditProductPrice(request); } } diff --git a/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs b/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs index a661ad6..5b3aaf9 100644 --- a/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs +++ b/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs @@ -2465,21 +2465,21 @@ namespace BBWYB.Server.Business #region 订单sku平价 var orderSku = dbOrderSkus.FirstOrDefault(osku => osku.SkuId == belongSkuId); - if (isEditOrderPrice) - { - orderSku.Price = currentOrderSkuProductAmount / orderSku.ItemTotal; - orderSku.BuyerPayFreight = currentPurchaseFreight; - op_EditPriceSkuRequests.Add(new OP_EditPriceSkuRequest() - { - Freight = currentPurchaseFreight ?? 0M, - InPackAmountPrice = orderSku.InPackAmount ?? 0M, - OrderSkuId = orderSku.Id.ToString(), - Price = orderSku.Price ?? 0M, - SkuId = orderSku.SkuId - }); - updateOrderSkuList.Add(fsql.Update(orderSku.Id).Set(osku => osku.Price, orderSku.Price) - .Set(osku => osku.BuyerPayFreight, orderSku.BuyerPayFreight)); - } + //if (isEditOrderPrice) + //{ + // orderSku.Price = currentOrderSkuProductAmount / orderSku.ItemTotal; + // orderSku.BuyerPayFreight = currentPurchaseFreight; + // op_EditPriceSkuRequests.Add(new OP_EditPriceSkuRequest() + // { + // Freight = currentPurchaseFreight ?? 0M, + // InPackAmountPrice = orderSku.InPackAmount ?? 0M, + // OrderSkuId = orderSku.Id.ToString(), + // Price = orderSku.Price ?? 0M, + // SkuId = orderSku.SkuId + // }); + // updateOrderSkuList.Add(fsql.Update(orderSku.Id).Set(osku => osku.Price, orderSku.Price) + // .Set(osku => osku.BuyerPayFreight, orderSku.BuyerPayFreight)); + //} #endregion var dbOrderSkuDetail = dbOrderCostDetails.FirstOrDefault(ocd => ocd.SkuId == belongSkuId && ocd.PurchaseOrderId == opi.PurchaseOrderId); @@ -2493,15 +2493,15 @@ namespace BBWYB.Server.Business updateOrderCostDetailList.Add(fsql.Update().SetSource(dbOrderSkuDetail)); } } - if (isEditOrderPrice) - { - dbOrder.OrderTotalPrice = totalPurchaseProductAmount + totalPurchaseFreight; - dbOrder.OrderSellerPrice = totalPurchaseProductAmount; - dbOrder.FreightPrice = totalPurchaseFreight; - updateOrder = fsql.Update(dbOrder.Id).Set(o => o.OrderTotalPrice, dbOrder.OrderTotalPrice) - .Set(o => o.OrderSellerPrice, dbOrder.OrderSellerPrice) - .Set(o => o.FreightPrice, dbOrder.FreightPrice); - } + //if (isEditOrderPrice) + //{ + // dbOrder.OrderTotalPrice = totalPurchaseProductAmount + totalPurchaseFreight; + // dbOrder.OrderSellerPrice = totalPurchaseProductAmount; + // dbOrder.FreightPrice = totalPurchaseFreight; + // updateOrder = fsql.Update(dbOrder.Id).Set(o => o.OrderTotalPrice, dbOrder.OrderTotalPrice) + // .Set(o => o.OrderSellerPrice, dbOrder.OrderSellerPrice) + // .Set(o => o.FreightPrice, dbOrder.FreightPrice); + //} dbOrderCost.CalculationOrderCostCostAndProfit(dbOrder.OrderTotalPrice ?? 0M, totalPurchaseProductAmount, @@ -2515,34 +2515,34 @@ namespace BBWYB.Server.Business foreach (var update in updateOrderCostDetailList) update.ExecuteAffrows(); updateOrderCost?.ExecuteAffrows(); - foreach (var update in updateOrderSkuList) - update.ExecuteAffrows(); - updateOrder?.ExecuteAffrows(); + //foreach (var update in updateOrderSkuList) + // update.ExecuteAffrows(); + //updateOrder?.ExecuteAffrows(); }); - if (isEditOrderPrice) - { - #region 通知拳探改价 - var opclient = opPlatformClientFactory.GetClient(AdapterEnums.PlatformType.拳探); - opclient.EditPrice(new OP_EditPriceRequest() - { - AppKey = shop.AppKey, - AppSecret = shop.AppSecret, - AppToken = shop.AppToken, - OrderId = dbOrder.Id, - EditItems = op_EditPriceSkuRequests - }); - #endregion - - #region 通知C端改价 - restApiService.SendRequest("https://bbwy.qiyue666.com", - "/Api/PurchaseOrder/QuanTanEditPriceCallback", - new { orderId = dbOrder.Id }, - null, - HttpMethod.Post); - #endregion - } + //if (isEditOrderPrice) + //{ + // #region 通知拳探改价 + // var opclient = opPlatformClientFactory.GetClient(AdapterEnums.PlatformType.拳探); + // opclient.EditPrice(new OP_EditPriceRequest() + // { + // AppKey = shop.AppKey, + // AppSecret = shop.AppSecret, + // AppToken = shop.AppToken, + // OrderId = dbOrder.Id, + // EditItems = op_EditPriceSkuRequests + // }); + // #endregion + + // #region 通知C端改价 + // restApiService.SendRequest("https://bbwy.qiyue666.com", + // "/Api/PurchaseOrder/QuanTanEditPriceCallback", + // new { orderId = dbOrder.Id }, + // null, + // HttpMethod.Post); + // #endregion + //} } catch (Exception ex) { diff --git a/SDKAdapter/OperationPlatform/Models/Request/Product/OP_EditProductPriceRequest.cs b/SDKAdapter/OperationPlatform/Models/Request/Product/OP_EditProductPriceRequest.cs index 2c9c420..78828c9 100644 --- a/SDKAdapter/OperationPlatform/Models/Request/Product/OP_EditProductPriceRequest.cs +++ b/SDKAdapter/OperationPlatform/Models/Request/Product/OP_EditProductPriceRequest.cs @@ -4,7 +4,7 @@ { public string Spu { get; set; } - public IList EditSkuList { get; set; } + public List EditSkuList { get; set; } } public class OP_EditProductSkuPriceRequest