diff --git a/BBWYB.Server.Business/JD/JDBusiness.cs b/BBWYB.Server.Business/JD/JDBusiness.cs index 5b2f1ba..2bfe570 100644 --- a/BBWYB.Server.Business/JD/JDBusiness.cs +++ b/BBWYB.Server.Business/JD/JDBusiness.cs @@ -1,7 +1,9 @@ using BBWYB.Common.Http; using BBWYB.Common.Log; using BBWYB.Common.Models; +using BBWYB.Server.Model; using BBWYB.Server.Model.Db; +using FreeSql; using JD.Dto; using Newtonsoft.Json; using System.Text; @@ -62,7 +64,7 @@ namespace BBWYB.Server.Business.JD public void CheckInStoreOrder() { List orderIds = null; - + List> updateOrderList = new List>(); try { var checkTaskList = fsql.Select().Where(x => x.IsChecked == false).ToList(); @@ -131,14 +133,28 @@ namespace BBWYB.Server.Business.JD } else { + bool validateResult = true; foreach (var inStoreOrderRelation in inStoreOrderRelationList) { var jdInStore = inStoreResponse.Data.FirstOrDefault(x => x.poOrderNo == inStoreOrderRelation.InStorePurchaseOrderId); - if (jdInStore == null || jdInStore.storageStatus == "2") + if (jdInStore != null && jdInStore.storageStatus == "2") continue; + + validateResult = false; + var opi = currentPurchaseOrderList.FirstOrDefault(opi => opi.PurchaseOrderId == inStoreOrderRelation.PurchaseOrderId); - if (opi == null) + + if (jdInStore == null) + { + dingdingMsg.AppendLine($"店铺名称:{shop?.ShopName}"); + dingdingMsg.AppendLine($"拳探订单号:{checkTask.OrderSn}"); + dingdingMsg.AppendLine($"采购平台:{opi?.PurchasePlatform}"); + dingdingMsg.AppendLine($"采购单号:{opi?.PurchaseOrderId}"); + dingdingMsg.AppendLine($"入仓采购单号:{inStoreOrderRelation.InStorePurchaseOrderId}"); + dingdingMsg.AppendLine($"未找到该入仓采购单号"); + dingdingMsg.AppendLine(); continue; + } var stateText = ""; switch (jdInStore.storageStatus) @@ -156,12 +172,19 @@ namespace BBWYB.Server.Business.JD dingdingMsg.AppendLine($"店铺名称:{shop?.ShopName}"); dingdingMsg.AppendLine($"拳探订单号:{checkTask.OrderSn}"); - dingdingMsg.AppendLine($"采购平台:{opi.PurchasePlatform}"); - dingdingMsg.AppendLine($"采购单号:{opi.PurchaseOrderId}"); + dingdingMsg.AppendLine($"采购平台:{opi?.PurchasePlatform}"); + dingdingMsg.AppendLine($"采购单号:{opi?.PurchaseOrderId}"); dingdingMsg.AppendLine($"入仓采购单号:{inStoreOrderRelation.InStorePurchaseOrderId}"); dingdingMsg.AppendLine($"入仓采购单状态:{jdInStore.storageStatus} {stateText}"); dingdingMsg.AppendLine(); } + + if (validateResult) + { + var update = fsql.Update().Set(o => o.OrderState, Enums.OrderState.待核算) + .Where(o => o.Id == checkTask.OrderId && o.OrderState == Enums.OrderState.待验收); + updateOrderList.Add(update); + } } } @@ -179,8 +202,17 @@ namespace BBWYB.Server.Business.JD { try { - if (orderIds != null && orderIds.Count() > 0) - fsql.Update().Set(x => x.IsChecked, true).Where(x => orderIds.Contains(x.OrderId)).ExecuteAffrows(); + fsql.Transaction(() => + { + if (updateOrderList.Count() > 0) + { + foreach (var update in updateOrderList) + update.ExecuteAffrows(); + } + + if (orderIds != null && orderIds.Count() > 0) + fsql.Update().Set(x => x.IsChecked, true).Where(x => orderIds.Contains(x.OrderId)).ExecuteAffrows(); + }); } catch { } }