Browse Source

C端改价通知

AddValidOverTime
shanji 2 years ago
parent
commit
99179894f3
  1. 13
      BBWY.Server.API/Controllers/PurchaseOrderController.cs
  2. 21
      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]
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);
}
}
}

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

@ -29,7 +29,7 @@ namespace BBWY.Server.Business
orderId = payPurchaseOrderRequest.OrderId,
userAccount = data.AccountName
}, 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("已支付"))
{
@ -40,7 +40,7 @@ namespace BBWY.Server.Business
}, payPurchaseOrderRequest.PurchaseAccount.AppKey, payPurchaseOrderRequest.PurchaseAccount.AppSecret);
if (res.Status == 200)
{
PurchaseOrderState purchaseOrder= PurchaseOrderState.;
PurchaseOrderState purchaseOrder = PurchaseOrderState.;
switch (res.Data.Status)
{
case -1:
@ -53,12 +53,12 @@ namespace BBWY.Server.Business
purchaseOrder = PurchaseOrderState.;
break;
case 2:
case 3:
purchaseOrder = PurchaseOrderState.;
break;
}
return new PayPurchaseOrderResponse { Success = true , PurchaseOrderState= purchaseOrder };
return new PayPurchaseOrderResponse { Success = true, PurchaseOrderState = purchaseOrder };
}
@ -86,19 +86,19 @@ namespace BBWY.Server.Business
}, request.AppKey, request.AppSecret);
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 = false,
Msg = qtResponse.Message
};
{
Success = false,
Msg = qtResponse.Message
};
//将数据库设置取消
}
@ -201,6 +201,7 @@ namespace BBWY.Server.Business
ItemList = qtResponse.Data.OrderProduct.Select(o => new OnlinePurchaseOrderSkuSimpleResponse()
{
ProductAmount = o.ProductPrice,
FreightAmount = o.PostagePrice,
Price = o.Price,
ProductId = o.ProductId,
SkuId = o.ProductSku,

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

@ -411,7 +411,7 @@ namespace BBWY.Server.Business
#endregion
#region 拳探回调
public void QuanTan_SendGoodsCallback(QuanTanSendGoodsNotifyRequest request)
public void QuanTanSendGoodsCallback(QuanTanSendGoodsNotifyRequest request)
{
Task.Factory.StartNew(() => DeliveryCallback(request.OrderId, new WayBillNoResponse()
{
@ -427,6 +427,14 @@ namespace BBWY.Server.Business
// WayBillNo = request.WayBillNo,
//}, 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
/// <summary>
@ -567,7 +575,7 @@ namespace BBWY.Server.Business
}
/// <summary>
/// 采购平台改价回调
/// 采购平台改价回调(一件代发)
/// </summary>
/// <param name="purchaseOrderId"></param>
/// <param name="callbackPlatform"></param>
@ -706,6 +714,63 @@ namespace BBWY.Server.Business
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
}
}

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

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