Browse Source

修改商品售价按全量提交

yijia
shanji 2 years ago
parent
commit
532221ecc1
  1. 35
      BBWYB.Server.Business/Product/ProductBusiness.cs
  2. 96
      BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs
  3. 2
      SDKAdapter/OperationPlatform/Models/Request/Product/OP_EditProductPriceRequest.cs

35
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;
@ -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<OP_EditProductSkuPriceRequest>();
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);
}
}

96
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>(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>(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<OrderCostDetail>().SetSource(dbOrderSkuDetail));
}
}
if (isEditOrderPrice)
{
dbOrder.OrderTotalPrice = totalPurchaseProductAmount + totalPurchaseFreight;
dbOrder.OrderSellerPrice = totalPurchaseProductAmount;
dbOrder.FreightPrice = totalPurchaseFreight;
updateOrder = fsql.Update<Order>(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<Order>(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
//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
}
// #region 通知C端改价
// restApiService.SendRequest("https://bbwy.qiyue666.com",
// "/Api/PurchaseOrder/QuanTanEditPriceCallback",
// new { orderId = dbOrder.Id },
// null,
// HttpMethod.Post);
// #endregion
//}
}
catch (Exception ex)
{

2
SDKAdapter/OperationPlatform/Models/Request/Product/OP_EditProductPriceRequest.cs

@ -4,7 +4,7 @@
{
public string Spu { get; set; }
public IList<OP_EditProductSkuPriceRequest> EditSkuList { get; set; }
public List<OP_EditProductSkuPriceRequest> EditSkuList { get; set; }
}
public class OP_EditProductSkuPriceRequest

Loading…
Cancel
Save