diff --git a/BBWYB.Server.API/Controllers/DataRepairController.cs b/BBWYB.Server.API/Controllers/DataRepairController.cs
index a14d0c6..af2ca5e 100644
--- a/BBWYB.Server.API/Controllers/DataRepairController.cs
+++ b/BBWYB.Server.API/Controllers/DataRepairController.cs
@@ -46,5 +46,16 @@ namespace BBWYB.Server.API.Controllers
{
dataRepairBusiness.RepairOrderState(orderId);
}
+
+ ///
+ /// 修复订单状态
+ ///
+ ///
+ [HttpPost]
+ public void BatchRepairOrderState([FromBody] IList orderIds)
+ {
+ foreach (var orderId in orderIds)
+ dataRepairBusiness.RepairOrderState(orderId);
+ }
}
}
diff --git a/BBWYB.Server.Business/Extensions/OrderStateExtension.cs b/BBWYB.Server.Business/Extensions/OrderStateExtension.cs
index f57b86f..8cf2adc 100644
--- a/BBWYB.Server.Business/Extensions/OrderStateExtension.cs
+++ b/BBWYB.Server.Business/Extensions/OrderStateExtension.cs
@@ -59,12 +59,19 @@ namespace BBWYB.Server.Business
#region 部分发货
if (orderPurchaseInfoList.Any(opi => opi.OrderState == Enums.PurchaseOrderState.待收货 ||
- opi.OrderState == Enums.PurchaseOrderState.部分发货) &&
- orderPurchaseInfoList.Count(opi => opi.OrderState == Enums.PurchaseOrderState.待收货 ||
- opi.OrderState == Enums.PurchaseOrderState.部分发货) < orderPurchaseInfoList.Count())
+ opi.OrderState == Enums.PurchaseOrderState.部分发货))
{
- order.OrderState = Enums.OrderState.部分发货;
- return;
+ if (orderPurchaseInfoList.Count(opi => opi.OrderState == Enums.PurchaseOrderState.待收货 ||
+ opi.OrderState == Enums.PurchaseOrderState.部分发货) < orderPurchaseInfoList.Count())
+ {
+ order.OrderState = Enums.OrderState.部分发货;
+ return;
+ }
+ if (orderPurchaseInfoList.Count(opi => opi.OrderState == Enums.PurchaseOrderState.部分发货) == orderPurchaseInfoList.Count())
+ {
+ order.OrderState = Enums.OrderState.部分发货;
+ return;
+ }
}
#endregion
@@ -78,12 +85,20 @@ namespace BBWYB.Server.Business
#region 部分收货
if (orderPurchaseInfoList.Any(opi => opi.OrderState == Enums.PurchaseOrderState.已签收 ||
- opi.OrderState == Enums.PurchaseOrderState.部分收货) &&
- orderPurchaseInfoList.Count(opi => opi.OrderState == Enums.PurchaseOrderState.已签收 ||
- opi.OrderState == Enums.PurchaseOrderState.部分收货) < orderPurchaseInfoList.Count())
+ opi.OrderState == Enums.PurchaseOrderState.部分收货))
{
- order.OrderState = Enums.OrderState.部分收货;
- return;
+ if (orderPurchaseInfoList.Count(opi => opi.OrderState == Enums.PurchaseOrderState.已签收 ||
+ opi.OrderState == Enums.PurchaseOrderState.部分收货) < orderPurchaseInfoList.Count())
+ {
+ order.OrderState = Enums.OrderState.部分收货;
+ return;
+ }
+
+ if (orderPurchaseInfoList.Count(opi => opi.OrderState == Enums.PurchaseOrderState.部分收货) == orderPurchaseInfoList.Count())
+ {
+ order.OrderState = Enums.OrderState.部分收货;
+ return;
+ }
}
#endregion