diff --git a/BBWYB.Server.API/Controllers/PurchaseOrderController.cs b/BBWYB.Server.API/Controllers/PurchaseOrderController.cs index a42def9..2b4dd1a 100644 --- a/BBWYB.Server.API/Controllers/PurchaseOrderController.cs +++ b/BBWYB.Server.API/Controllers/PurchaseOrderController.cs @@ -122,6 +122,16 @@ namespace BBWYB.Server.API.Controllers purchaseOrderBusiness.ManualSign(request); } + /// + /// 批量手动收货 + /// + /// + [HttpPost] + public void BatchManualSign([FromBody] BatchManualSignRequest request) + { + purchaseOrderBusiness.BatchManualSign(request); + } + /// /// 1688回调 /// diff --git a/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs b/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs index ce91d6f..9dc23e4 100644 --- a/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs +++ b/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs @@ -1359,6 +1359,21 @@ namespace BBWYB.Server.Business taskSchedulerManager.PurchaseOrderCallbackTaskScheduler); } + public void BatchManualSign(BatchManualSignRequest request) + { + if (request.WayBillNoList == null || request.WayBillNoList.Count() == 0) + throw new BusinessException("缺少快递单号"); + if (request.WayBillNoList.Distinct().Count() < request.WayBillNoList.Count()) + throw new BusinessException("不允许重复的快递单号"); + Task.Factory.StartNew(() => + { + foreach (var waybillNo in request.WayBillNoList) + OnExpressOrderChange(waybillNo, "QianShou", DateTime.Now, "手动签收"); + }, CancellationToken.None, + TaskCreationOptions.LongRunning, + taskSchedulerManager.PurchaseOrderCallbackTaskScheduler); + } + ///// ///// 手动收货 ///// diff --git a/BBWYB.Server.Model/Dto/Request/PurchaseOrder/ManualSignRequest.cs b/BBWYB.Server.Model/Dto/Request/PurchaseOrder/ManualSignRequest.cs index cf5c972..0a2ed94 100644 --- a/BBWYB.Server.Model/Dto/Request/PurchaseOrder/ManualSignRequest.cs +++ b/BBWYB.Server.Model/Dto/Request/PurchaseOrder/ManualSignRequest.cs @@ -18,4 +18,9 @@ public string WayBillNo { get; set; } } + + public class BatchManualSignRequest + { + public IList WayBillNoList { get; set; } + } }