Browse Source

C端改价通知

AddValidOverTime
shanji 2 years ago
parent
commit
99179894f3
  1. 13
      BBWY.Server.API/Controllers/PurchaseOrderController.cs
  2. 9
      BBWY.Server.Business/PlatformSDK/QuanTanBusiness.cs
  3. 69
      BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs
  4. 7
      BBWY.Server.Model/Dto/Response/PurchaseOrder/OnlinePurchase/OnlinePurchaseOrderSimpleResponse.cs
  5. 7
      QuanTan.SDK/Model/Request/Order/QuanTanEditPriceNotifyRequest.cs

13
BBWY.Server.API/Controllers/PurchaseOrderController.cs

@ -96,7 +96,18 @@ namespace BBWY.Server.API.Controllers
[AllowAnonymous] [AllowAnonymous]
public void QuanTanSendGoodsCallback([FromBody] QuanTanSendGoodsNotifyRequest request) public void QuanTanSendGoodsCallback([FromBody] QuanTanSendGoodsNotifyRequest request)
{ {
purchaseOrderBusiness.QuanTan_SendGoodsCallback(request); purchaseOrderBusiness.QuanTanSendGoodsCallback(request);
}
/// <summary>
/// 拳探改价回调
/// </summary>
/// <param name="request"></param>
[HttpPost]
[AllowAnonymous]
public void QuanTanEditPriceCallback(QuanTanEditPriceNotifyRequest request)
{
purchaseOrderBusiness.QuanTanEditPriceCallback(request);
} }
} }
} }

9
BBWY.Server.Business/PlatformSDK/QuanTanBusiness.cs

@ -29,7 +29,7 @@ namespace BBWY.Server.Business
orderId = payPurchaseOrderRequest.OrderId, orderId = payPurchaseOrderRequest.OrderId,
userAccount = data.AccountName userAccount = data.AccountName
}, payPurchaseOrderRequest.PurchaseAccount.AppKey, payPurchaseOrderRequest.PurchaseAccount.AppSecret); }, payPurchaseOrderRequest.PurchaseAccount.AppKey, payPurchaseOrderRequest.PurchaseAccount.AppSecret);
if (qtResponse.Status == 200) return new PayPurchaseOrderResponse { Success = true, PurchaseOrderState= PurchaseOrderState. }; if (qtResponse.Status == 200) return new PayPurchaseOrderResponse { Success = true, PurchaseOrderState = PurchaseOrderState. };
if (qtResponse.Message != null && qtResponse.Message.Contains("已支付")) if (qtResponse.Message != null && qtResponse.Message.Contains("已支付"))
{ {
@ -40,7 +40,7 @@ namespace BBWY.Server.Business
}, payPurchaseOrderRequest.PurchaseAccount.AppKey, payPurchaseOrderRequest.PurchaseAccount.AppSecret); }, payPurchaseOrderRequest.PurchaseAccount.AppKey, payPurchaseOrderRequest.PurchaseAccount.AppSecret);
if (res.Status == 200) if (res.Status == 200)
{ {
PurchaseOrderState purchaseOrder= PurchaseOrderState.; PurchaseOrderState purchaseOrder = PurchaseOrderState.;
switch (res.Data.Status) switch (res.Data.Status)
{ {
case -1: case -1:
@ -58,7 +58,7 @@ namespace BBWY.Server.Business
purchaseOrder = PurchaseOrderState.; purchaseOrder = PurchaseOrderState.;
break; break;
} }
return new PayPurchaseOrderResponse { Success = true , PurchaseOrderState= purchaseOrder }; return new PayPurchaseOrderResponse { Success = true, PurchaseOrderState = purchaseOrder };
} }
@ -86,7 +86,7 @@ namespace BBWY.Server.Business
}, request.AppKey, request.AppSecret); }, request.AppKey, request.AppSecret);
if (qtResponse.Status == 200) return new CancelPurchaseOrderResponse { Success = true }; if (qtResponse.Status == 200) return new CancelPurchaseOrderResponse { Success = true };
if (qtResponse.Message != null&&qtResponse.Message.Contains("已删除")) if (qtResponse.Message != null && qtResponse.Message.Contains("已删除"))
{ {
return new CancelPurchaseOrderResponse { Success = true }; return new CancelPurchaseOrderResponse { Success = true };
} }
@ -201,6 +201,7 @@ namespace BBWY.Server.Business
ItemList = qtResponse.Data.OrderProduct.Select(o => new OnlinePurchaseOrderSkuSimpleResponse() ItemList = qtResponse.Data.OrderProduct.Select(o => new OnlinePurchaseOrderSkuSimpleResponse()
{ {
ProductAmount = o.ProductPrice, ProductAmount = o.ProductPrice,
FreightAmount = o.PostagePrice,
Price = o.Price, Price = o.Price,
ProductId = o.ProductId, ProductId = o.ProductId,
SkuId = o.ProductSku, SkuId = o.ProductSku,

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

@ -411,7 +411,7 @@ namespace BBWY.Server.Business
#endregion #endregion
#region 拳探回调 #region 拳探回调
public void QuanTan_SendGoodsCallback(QuanTanSendGoodsNotifyRequest request) public void QuanTanSendGoodsCallback(QuanTanSendGoodsNotifyRequest request)
{ {
Task.Factory.StartNew(() => DeliveryCallback(request.OrderId, new WayBillNoResponse() Task.Factory.StartNew(() => DeliveryCallback(request.OrderId, new WayBillNoResponse()
{ {
@ -427,6 +427,14 @@ namespace BBWY.Server.Business
// WayBillNo = request.WayBillNo, // WayBillNo = request.WayBillNo,
//}, Enums.Platform.拳探), CancellationToken.None, TaskCreationOptions.LongRunning, taskSchedulerManager.PurchaseOrderCallbackTaskScheduler); //}, Enums.Platform.拳探), CancellationToken.None, TaskCreationOptions.LongRunning, taskSchedulerManager.PurchaseOrderCallbackTaskScheduler);
} }
public void QuanTanEditPriceCallback(QuanTanEditPriceNotifyRequest request)
{
//Task.Factory.StartNew(() => OrderPriceModificationCallback(request.OrderId, Enums.Platform.拳探), CancellationToken.None, TaskCreationOptions.LongRunning, taskSchedulerManager.PurchaseOrderCallbackTaskScheduler);
Task.Factory.StartNew(() => OrderPriceNotifitionForPurchaseOrder(request.OrderId, Enums.Platform.), CancellationToken.None, TaskCreationOptions.LongRunning, taskSchedulerManager.PurchaseOrderCallbackTaskScheduler);
}
#endregion #endregion
/// <summary> /// <summary>
@ -567,7 +575,7 @@ namespace BBWY.Server.Business
} }
/// <summary> /// <summary>
/// 采购平台改价回调 /// 采购平台改价回调(一件代发)
/// </summary> /// </summary>
/// <param name="purchaseOrderId"></param> /// <param name="purchaseOrderId"></param>
/// <param name="callbackPlatform"></param> /// <param name="callbackPlatform"></param>
@ -706,6 +714,63 @@ namespace BBWY.Server.Business
nLogManager.Default().Error(ex, $"OrderPriceModificationCallback 回调平台{callbackPlatform},采购单号{purchaseOrderId},执行进度[{currentProgress}]"); nLogManager.Default().Error(ex, $"OrderPriceModificationCallback 回调平台{callbackPlatform},采购单号{purchaseOrderId},执行进度[{currentProgress}]");
} }
} }
/// <summary>
/// 采购平台改价回调(采购单)
/// </summary>
/// <param name="purchaseOrderId"></param>
/// <param name="callbackPlatform"></param>
private void OrderPriceNotifitionForPurchaseOrder(string purchaseOrderId, Enums.Platform callbackPlatform)
{
string currentProgress = string.Empty;
try
{
#region 查询数据库采购单
var purchaseOrder = fsql.Select<PurchaseOrderV2>(purchaseOrderId).ToOne();
if (purchaseOrder == null)
throw new Exception($"未查询到采购单");
#endregion
#region 查询采购账号
currentProgress = "查询采购账号";
var purchaseAccount = fsql.Select<PurchaseAccount>().Where(pa => pa.Id == purchaseOrder.PurchaseAccountId).ToOne();
if (purchaseAccount == null)
throw new Exception($"未查询到采购账号");
#endregion
#region 查询接口采购单
var purchaseOrderSimpleInfo = platformSDKBusinessList.FirstOrDefault(p => p.Platform == callbackPlatform).GetOrderSimpleInfo(new GetOrderInfoRequest()
{
AppKey = purchaseAccount.AppKey,
AppSecret = purchaseAccount.AppSecret,
AppToken = purchaseAccount.AppToken,
OrderId = purchaseOrderId,
Platform = callbackPlatform
});
#endregion
fsql.Transaction(() =>
{
fsql.Update<PurchaseOrderV2>(purchaseOrderId).Set(po => po.ProductAmount, purchaseOrderSimpleInfo.ProductAmount)
.Set(po => po.PurchaseFreight, purchaseOrderSimpleInfo.FreightAmount)
.Set(po => po.PurchaseAmount, purchaseOrderSimpleInfo.TotalAmount)
.ExecuteAffrows();
foreach (var purchaseOrderSku in purchaseOrderSimpleInfo.ItemList)
{
fsql.Update<PurchaseOrderSku>().Where(pos => pos.PurchaseOrderId == purchaseOrderId && pos.PurchaseSkuIds == purchaseOrderSku.SkuId)
.Set(pos => pos.ProductAmount, purchaseOrderSku.ProductAmount)
.Set(pos => pos.PurchaseFreight, purchaseOrderSku.FreightAmount)
.Set(pos => pos.PurchaseAmount, purchaseOrderSku.ProductAmount + purchaseOrderSku.FreightAmount)
.ExecuteAffrows();
}
});
}
catch (Exception ex)
{
nLogManager.Default().Error(ex, $"OrderPriceNotifitionForPurchaseOrder 回调平台{callbackPlatform},采购单号{purchaseOrderId},执行进度[{currentProgress}]");
}
}
#endregion #endregion
} }
} }

7
BBWY.Server.Model/Dto/Response/PurchaseOrder/OnlinePurchase/OnlinePurchaseOrderSimpleResponse.cs

@ -46,10 +46,15 @@ namespace BBWY.Server.Model.Dto
public string SpecId { get; set; } public string SpecId { get; set; }
/// <summary> /// <summary>
/// 货款金额 /// 货款
/// </summary> /// </summary>
public decimal ProductAmount { get; set; } public decimal ProductAmount { get; set; }
/// <summary>
/// 运费
/// </summary>
public decimal FreightAmount { get; set; }
/// <summary> /// <summary>
/// 单价 /// 单价
/// </summary> /// </summary>

7
QuanTan.SDK/Model/Request/Order/QuanTanEditPriceNotifyRequest.cs

@ -0,0 +1,7 @@
namespace QuanTan.SDK.Model
{
public class QuanTanEditPriceNotifyRequest
{
public string OrderId { get; set; }
}
}
Loading…
Cancel
Save