From dc7597ca18c51cc3913247c4029c2841b2799af9 Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Tue, 4 Jul 2023 23:08:44 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=BD=90=E5=BA=93TaskId?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BatchPurchase/BatchPurchaseBusiness.cs | 31 ++++++++++++++++--- .../Db/PurchaseOrder/PurchaseOrderSku.cs | 5 +++ .../QiKuBatchPublicPurchaseTaskV2Response.cs | 18 +++++++++++ 3 files changed, 50 insertions(+), 4 deletions(-) create mode 100644 BBWY.Server.Model/Dto/Response/QK/QiKuBatchPublicPurchaseTaskV2Response.cs diff --git a/BBWY.Server.Business/PurchaseOrderV2/BatchPurchase/BatchPurchaseBusiness.cs b/BBWY.Server.Business/PurchaseOrderV2/BatchPurchase/BatchPurchaseBusiness.cs index 565cffb0..f98ab8fe 100644 --- a/BBWY.Server.Business/PurchaseOrderV2/BatchPurchase/BatchPurchaseBusiness.cs +++ b/BBWY.Server.Business/PurchaseOrderV2/BatchPurchase/BatchPurchaseBusiness.cs @@ -777,23 +777,46 @@ namespace BBWY.Server.Business { Task.Factory.StartNew(() => { + IList> updatePurchaseOrderSkuList = new List>(); foreach (var qikuTask in qikuTaskList) { try { - var qikuResponse = restApiService.SendRequest("http://qiku.qiyue666.com/", + var qikuHttpResult = restApiService.SendRequest("http://qiku.qiyue666.com/", "api/PackPurchaseTask/BatchPublicPurchaseTaskV2", qikuTask, null, HttpMethod.Post); - if (qikuResponse.StatusCode != System.Net.HttpStatusCode.OK) - throw new Exception(qikuResponse.Content); + if (qikuHttpResult.StatusCode != System.Net.HttpStatusCode.OK) + throw new Exception(qikuHttpResult.Content); + var qikuResponse = JsonConvert.DeserializeObject>(qikuHttpResult.Content); + if (!qikuResponse.Success) + throw new Exception(qikuResponse.Msg); + if (qikuResponse.Data.BatchPublicPurchaseTaskV2 != null && qikuResponse.Data.BatchPublicPurchaseTaskV2.Count() > 0) + { + var orderId = qikuResponse.Data.OrderId; + foreach (var task in qikuResponse.Data.BatchPublicPurchaseTaskV2) + { + var update = fsql.Update().Set(posku => posku.QiKuTaskId, task.TaskId) + .Where(posku => posku.PurchaseOrderId == orderId && posku.SkuId == task.SkuId); + updatePurchaseOrderSkuList.Add(update); + } + } } catch (Exception ex) { - nLogManager.GetLogger($"发布齐库采购单任务-{request.ShopName}").Error(ex, JsonConvert.SerializeObject(qikuTask)); + nLogManager.GetLogger($"发布齐库采购单任务-{request.ShopName}").Error(ex); } } + + if (updatePurchaseOrderSkuList.Count() > 0) + { + fsql.Transaction(() => + { + foreach (var update in updatePurchaseOrderSkuList) + update.ExecuteAffrows(); + }); + } }); } diff --git a/BBWY.Server.Model/Db/PurchaseOrder/PurchaseOrderSku.cs b/BBWY.Server.Model/Db/PurchaseOrder/PurchaseOrderSku.cs index 4a908ca0..ce1564cf 100644 --- a/BBWY.Server.Model/Db/PurchaseOrder/PurchaseOrderSku.cs +++ b/BBWY.Server.Model/Db/PurchaseOrder/PurchaseOrderSku.cs @@ -120,6 +120,11 @@ namespace BBWY.Server.Model.Db [Column(MapType = typeof(int?))] public Enums.StockType? StockType { get; set; } + /// + /// 齐库任务Id + /// + public long? QiKuTaskId { get; set; } + } } diff --git a/BBWY.Server.Model/Dto/Response/QK/QiKuBatchPublicPurchaseTaskV2Response.cs b/BBWY.Server.Model/Dto/Response/QK/QiKuBatchPublicPurchaseTaskV2Response.cs new file mode 100644 index 00000000..beeaf5b0 --- /dev/null +++ b/BBWY.Server.Model/Dto/Response/QK/QiKuBatchPublicPurchaseTaskV2Response.cs @@ -0,0 +1,18 @@ +using System.Collections.Generic; + +namespace BBWY.Server.Model.Dto +{ + public class QiKuBatchPublicPurchaseTaskV2Response + { + public string OrderId { get; set; } + + public IList BatchPublicPurchaseTaskV2 { get; set; } + } + + public class QiKuBatchPublicPurchaseTaskV2SkuResponse + { + public string SkuId { get; set; } + + public long TaskId { get; set; } + } +}