From e39e85fb5ecb3467bd86846f14e91aa987c5b844 Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Mon, 10 Jul 2023 01:25:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9C=A8=E7=BA=BF=E9=87=87=E8=B4=AD=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E9=87=87=E8=B4=AD=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PurchaseOrder/PurchaseOrderBusiness.cs | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs b/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs index f149f2c..fb8599d 100644 --- a/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs +++ b/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs @@ -257,6 +257,7 @@ namespace BBWYB.Server.Business List insertOrderPurchaseSkuInfos = new List(); List updatePurchaseTimeSchemeIdList = new List(); List insertOrderPurchaseRelationInfoList = new List(); + List updatePurchaseTimeLimitTaskOrderSkuList = new List(); #region 待更新 IList updateOrderCostDetailIdList = fsql.Select() @@ -342,6 +343,7 @@ namespace BBWYB.Server.Business //采购单总件数,由于1688运费只存在订单层,sku层没有运费,所以需要以订单总件数为基础等比计算采购运费 var purchaseSkuTotalQuantity = purchaseOrderSimpleInfo.ItemList.Sum(x => x.Quantity); var belongSkuGroups = cargoParamGroup.CargoParamList.GroupBy(p => p.BelongSkuId); + var belongSkuIdList = belongSkuGroups.Select(bsg => bsg.Key).ToList(); foreach (var belongSkuGroup in belongSkuGroups) { var belongSkuId = belongSkuGroup.Key; @@ -402,7 +404,7 @@ namespace BBWYB.Server.Business PurchaserId = cargoParamGroup.PurchaserId, PurchaserName = cargoParamGroup.PurchaserName, ShopId = request.ShopId, - BelongSkuIds = string.Join(",", belongSkuGroups.Select(bsg => bsg.Key)), + BelongSkuIds = string.Join(",", belongSkuIdList), IsEnabled = true, Remark = !string.IsNullOrEmpty(cargoParamGroup.Remark) ? cargoParamGroup.Remark : request.Remark }; @@ -425,6 +427,14 @@ namespace BBWYB.Server.Business insertOrderPurchaseSkuInfos.Add(orderPurchaseSkuInfo); } #endregion + + #region 采购限时任务 + foreach (var belongSkuId in belongSkuIdList) + { + if (!updatePurchaseTimeLimitTaskOrderSkuList.Any(x => x == belongSkuId)) + updatePurchaseTimeLimitTaskOrderSkuList.Add(belongSkuId); + } + #endregion } #region 订单成本 @@ -464,6 +474,15 @@ namespace BBWYB.Server.Business fsql.Update(updatePurchaseOrderIdList).Set(opi => opi.IsEnabled, false).ExecuteAffrows(); if (updateOrderCostDetailIdList.Count() > 0) fsql.Update(updateOrderCostDetailIdList).Set(ocd => ocd.IsEnabled, false).ExecuteAffrows(); + if (updatePurchaseTimeLimitTaskOrderSkuList.Count() > 0) + { + fsql.Update().Set(t => t.CompletionTime, DateTime.Now) + .SetIf(dbOrder.PayTime != null, t => t.IsTimely == DateTime.Now < t.ExpirationTime) + .Where(t => t.OrderId == request.OrderId) + .Where(t => updatePurchaseTimeLimitTaskOrderSkuList.Contains(t.SkuId)) + .Where(t => t.CompletionTime == null) + .ExecuteAffrows(); + } fsql.Insert(insertOrderCostDetails).ExecuteAffrows(); fsql.Insert(insertOrderPurchaseInfos).ExecuteAffrows();