From 99179894f31a8468da55b007dd08b0d8b927e109 Mon Sep 17 00:00:00 2001
From: shanj <18996038927@163.com>
Date: Thu, 11 May 2023 02:03:15 +0800
Subject: [PATCH] =?UTF-8?q?=20C=E7=AB=AF=E6=94=B9=E4=BB=B7=E9=80=9A?=
=?UTF-8?q?=E7=9F=A5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Controllers/PurchaseOrderController.cs | 13 +++-
.../PlatformSDK/QuanTanBusiness.cs | 21 +++---
.../PurchaseOrder/PurchaseOrderBusiness.cs | 69 ++++++++++++++++++-
.../OnlinePurchaseOrderSimpleResponse.cs | 7 +-
.../Order/QuanTanEditPriceNotifyRequest.cs | 7 ++
5 files changed, 103 insertions(+), 14 deletions(-)
create mode 100644 QuanTan.SDK/Model/Request/Order/QuanTanEditPriceNotifyRequest.cs
diff --git a/BBWY.Server.API/Controllers/PurchaseOrderController.cs b/BBWY.Server.API/Controllers/PurchaseOrderController.cs
index d64e47fc..1684f932 100644
--- a/BBWY.Server.API/Controllers/PurchaseOrderController.cs
+++ b/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);
+ }
+
+ ///
+ /// 拳探改价回调
+ ///
+ ///
+ [HttpPost]
+ [AllowAnonymous]
+ public void QuanTanEditPriceCallback(QuanTanEditPriceNotifyRequest request)
+ {
+ purchaseOrderBusiness.QuanTanEditPriceCallback(request);
}
}
}
diff --git a/BBWY.Server.Business/PlatformSDK/QuanTanBusiness.cs b/BBWY.Server.Business/PlatformSDK/QuanTanBusiness.cs
index 091e6a23..cc27024b 100644
--- a/BBWY.Server.Business/PlatformSDK/QuanTanBusiness.cs
+++ b/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,
diff --git a/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs b/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs
index c2ba10c9..d9241c0d 100644
--- a/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs
+++ b/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
///
@@ -567,7 +575,7 @@ namespace BBWY.Server.Business
}
///
- /// 采购平台改价回调
+ /// 采购平台改价回调(一件代发)
///
///
///
@@ -706,6 +714,63 @@ namespace BBWY.Server.Business
nLogManager.Default().Error(ex, $"OrderPriceModificationCallback 回调平台{callbackPlatform},采购单号{purchaseOrderId},执行进度[{currentProgress}]");
}
}
+
+ ///
+ /// 采购平台改价回调(采购单)
+ ///
+ ///
+ ///
+ private void OrderPriceNotifitionForPurchaseOrder(string purchaseOrderId, Enums.Platform callbackPlatform)
+ {
+ string currentProgress = string.Empty;
+
+ try
+ {
+ #region 查询数据库采购单
+ var purchaseOrder = fsql.Select(purchaseOrderId).ToOne();
+ if (purchaseOrder == null)
+ throw new Exception($"未查询到采购单");
+ #endregion
+
+ #region 查询采购账号
+ currentProgress = "查询采购账号";
+ var purchaseAccount = fsql.Select().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(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().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
}
}
diff --git a/BBWY.Server.Model/Dto/Response/PurchaseOrder/OnlinePurchase/OnlinePurchaseOrderSimpleResponse.cs b/BBWY.Server.Model/Dto/Response/PurchaseOrder/OnlinePurchase/OnlinePurchaseOrderSimpleResponse.cs
index dc1d6899..18174a0f 100644
--- a/BBWY.Server.Model/Dto/Response/PurchaseOrder/OnlinePurchase/OnlinePurchaseOrderSimpleResponse.cs
+++ b/BBWY.Server.Model/Dto/Response/PurchaseOrder/OnlinePurchase/OnlinePurchaseOrderSimpleResponse.cs
@@ -46,10 +46,15 @@ namespace BBWY.Server.Model.Dto
public string SpecId { get; set; }
///
- /// 货款金额
+ /// 货款
///
public decimal ProductAmount { get; set; }
+ ///
+ /// 运费
+ ///
+ public decimal FreightAmount { get; set; }
+
///
/// 单价
///
diff --git a/QuanTan.SDK/Model/Request/Order/QuanTanEditPriceNotifyRequest.cs b/QuanTan.SDK/Model/Request/Order/QuanTanEditPriceNotifyRequest.cs
new file mode 100644
index 00000000..feaac30e
--- /dev/null
+++ b/QuanTan.SDK/Model/Request/Order/QuanTanEditPriceNotifyRequest.cs
@@ -0,0 +1,7 @@
+namespace QuanTan.SDK.Model
+{
+ public class QuanTanEditPriceNotifyRequest
+ {
+ public string OrderId { get; set; }
+ }
+}