From aca959edb99d32cc96ed1876486b8aed530e7117 Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Tue, 5 Dec 2023 23:24:42 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9C=A8=E7=BA=BF=E9=87=87=E8=B4=AD=E6=8B=A6?= =?UTF-8?q?=E6=88=AA=E4=B8=8D=E5=B1=9E=E4=BA=8E=E5=BD=93=E5=89=8D=E8=AE=A2?= =?UTF-8?q?=E5=8D=95sku=E7=9A=84=E4=B8=8B=E5=8D=95=E8=AF=B7=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PurchaseOrder/PurchaseOrderBusiness.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs b/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs index ca2b873d..3b109dcd 100644 --- a/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs +++ b/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs @@ -131,6 +131,15 @@ namespace BBWY.Server.Business throw new BusinessException("订单不存在"); if (dbOrder.OrderState != Enums.OrderState.等待采购 && dbOrder.OrderState != Enums.OrderState.待出库) throw new BusinessException("只能为等待采购或待出库的订单进行采购"); + if (createOnlinePurchaseOrderRequest.CargoParamList == null || createOnlinePurchaseOrderRequest.CargoParamList.Count() == 0) + throw new BusinessException("缺少下单参数"); + + //拦截不要属于当前订单的请求 + var orderSkus = fsql.Select().Where(osku => osku.Price != 0 && osku.OrderId == createOnlinePurchaseOrderRequest.OrderId).ToList(); + + if (createOnlinePurchaseOrderRequest.CargoParamList.Any(c => !orderSkus.Any(osku => osku.SkuId == c.BelongSkuId))) + throw new BusinessException("非法sku参数,下单sku中存在不属于该笔订单的sku"); + var oldPourchaseIdList = fsql.Select().Where(ocd => ocd.OrderId == dbOrder.Id) .ToList(ocd => ocd.PurchaseOrderPKId); @@ -138,7 +147,6 @@ namespace BBWY.Server.Business var deletePurchaseOrder = fsql.Delete().Where(po => oldPourchaseIdList.Contains(po.Id)); var deleteOrderCostDetail = fsql.Delete().Where(ocd => ocd.OrderId == dbOrder.Id); var isRepurchase = fsql.Select(dbOrder.Id).Any(); - var orderSkus = fsql.Select().Where(osku => osku.Price != 0 && osku.OrderId == createOnlinePurchaseOrderRequest.OrderId).ToList(); var orderSkuIds = orderSkus.Select(osku => osku.Id).ToList(); #region 合并重复的采购sku