From 251fd543a73fcca61af8e351ce59f8ec8498c0ab Mon Sep 17 00:00:00 2001
From: shanj <18996038927@163.com>
Date: Mon, 5 Jun 2023 01:19:34 +0800
Subject: [PATCH] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E7=8A=B6=E6=80=81=E5=A4=84?=
=?UTF-8?q?=E7=90=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Extensions/OrderStateExtension.cs | 25 +++++++++++++
.../PurchaseOrder/PurchaseOrderBusiness.cs | 6 ++--
.../Sync/OrderSyncBusiness.cs | 24 ++++++-------
.../Db/Order/OrderPurchaseInfo.cs | 6 ++++
BBWYB.Server.Model/Enums.cs | 36 +++++++++++++++++--
5 files changed, 78 insertions(+), 19 deletions(-)
create mode 100644 BBWYB.Server.Business/Extensions/OrderStateExtension.cs
diff --git a/BBWYB.Server.Business/Extensions/OrderStateExtension.cs b/BBWYB.Server.Business/Extensions/OrderStateExtension.cs
new file mode 100644
index 0000000..25af57d
--- /dev/null
+++ b/BBWYB.Server.Business/Extensions/OrderStateExtension.cs
@@ -0,0 +1,25 @@
+
+
+using BBWYB.Server.Model;
+using BBWYB.Server.Model.Db;
+
+namespace BBWYB.Server.Business
+{
+ public static class OrderStateExtension
+ {
+ ///
+ /// 计算订单状态
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static Enums.OrderState CalculationOrderState(this Order order,
+ IList orderSkuList,
+ IList orderPurchaseInfoList)
+ {
+
+ return Enums.OrderState.Unknow;
+ }
+ }
+}
diff --git a/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs b/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs
index a641609..6b5e45c 100644
--- a/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs
+++ b/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs
@@ -342,6 +342,7 @@ namespace BBWYB.Server.Business
PurchaseAccountId = purchaseAccount.Id,
PurchaseAccountName = purchaseAccount.AccountName,
PurchaseMethod = Enums.PurchaseMethod.线上采购,
+ OrderState = Enums.PurchaseOrderState.待发货,
PurchaseOrderId = createOrderResponse.OrderId,
PurchasePlatform = cargoParamGroup.PurchasePlatform,
PurchaserId = cargoParamGroup.PurchaserId,
@@ -401,10 +402,7 @@ 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();
- });
- fsql.Transaction(() =>
- {
fsql.Insert(insertOrderCostDetails).ExecuteAffrows();
fsql.Insert(insertOrderPurchaseInfos).ExecuteAffrows();
fsql.Insert(insertOrderPurchaseSkuInfos).ExecuteAffrows();
@@ -655,6 +653,7 @@ namespace BBWYB.Server.Business
BelongSkuIds = string.Join(",", purchaseOrder.AssocationOrderCostDetailList.Select(x => x.SkuId)),
CreateTime = DateTime.Now,
PurchaseMethod = Enums.PurchaseMethod.关联外部单,
+ OrderState = Enums.PurchaseOrderState.待发货,
PurchaseOrderId = purchaseOrder.PurchaseOrderId,
PurchasePlatform = purchaseOrder.PurchasePlatform,
PurchaserId = purchaseOrder.PurchaserId,
@@ -796,6 +795,7 @@ namespace BBWYB.Server.Business
{
fsql.Update()
.Set(opi => opi.IsEnabled, false)
+ .Set(opi => opi.OrderState, Enums.PurchaseOrderState.已取消)
.Where(opi => opi.PurchaseOrderId == request.PurchaseOrderId)
.ExecuteAffrows();
diff --git a/BBWYB.Server.Business/Sync/OrderSyncBusiness.cs b/BBWYB.Server.Business/Sync/OrderSyncBusiness.cs
index 96d0a33..43e159f 100644
--- a/BBWYB.Server.Business/Sync/OrderSyncBusiness.cs
+++ b/BBWYB.Server.Business/Sync/OrderSyncBusiness.cs
@@ -175,21 +175,21 @@ namespace BBWYB.Server.Business.Sync
}
else
{
- var updateOrderState = false;
- //var updateWaybillNo = false;
- //var updateExpressName = false;
+ Enums.OrderState? updateOrderState = null;
var updateModifyTime = false;
var updateBuyerRemark = false;
var updateVenderRemark = false;
var updateBuyerAccount = false;
var updateOrderSn = false;
- if (dbOrder.OrderState != orderState)
- updateOrderState = true;
- //if (dbOrder.WaybillNo != qtOrder.DeliveryResponse.WayBillNo)
- // updateWaybillNo = true;
- //if (dbOrder.ExpressName != qtOrder.DeliveryResponse.ExpressName)
- // updateExpressName = true;
+ #region 订单状态脱离拳探 只处理付款和取消
+ if (dbOrder.OrderState == Enums.OrderState.待付款 && orderState != Enums.OrderState.待付款)
+ updateOrderState = Enums.OrderState.等待采购;
+
+ if (dbOrder.OrderState != Enums.OrderState.已取消 && orderState == Enums.OrderState.已取消)
+ updateOrderState = Enums.OrderState.已取消;
+ #endregion
+
if (dbOrder.ModifyTime != qtOrder.ModifyTime)
updateModifyTime = true;
if (dbOrder.BuyerRemark != qtOrder.BuyerRemark)
@@ -201,11 +201,9 @@ namespace BBWYB.Server.Business.Sync
if (dbOrder.OrderSn != qtOrder.OrderSn)
updateOrderSn = true;
- if (updateOrderState || updateModifyTime || updateBuyerRemark || updateVenderRemark || updateBuyerAccount || updateOrderSn)
+ if (updateOrderState != null || updateModifyTime || updateBuyerRemark || updateVenderRemark || updateBuyerAccount || updateOrderSn)
{
- var update = fsql.Update(dbOrder.Id).SetIf(updateOrderState, o => o.OrderState == orderState)
- //.SetIf(updateWaybillNo, o => o.WaybillNo, qtOrder.DeliveryResponse.WayBillNo)
- //.SetIf(updateExpressName, o => o.ExpressName, qtOrder.DeliveryResponse.ExpressName)
+ var update = fsql.Update(dbOrder.Id).SetIf(updateOrderState != null, o => o.OrderState, orderState)
.SetIf(updateModifyTime, o => o.ModifyTime, qtOrder.ModifyTime)
.SetIf(updateBuyerRemark, o => o.BuyerRemark, qtOrder.BuyerRemark)
.SetIf(updateVenderRemark, o => o.VenderRemark, qtOrder.VenderRemark)
diff --git a/BBWYB.Server.Model/Db/Order/OrderPurchaseInfo.cs b/BBWYB.Server.Model/Db/Order/OrderPurchaseInfo.cs
index 31b7048..2bf00fa 100644
--- a/BBWYB.Server.Model/Db/Order/OrderPurchaseInfo.cs
+++ b/BBWYB.Server.Model/Db/Order/OrderPurchaseInfo.cs
@@ -106,6 +106,12 @@ namespace BBWYB.Server.Model.Db
///
[Column(DbType = "bit")]
public bool? IsSign { get; set; } = false;
+
+ ///
+ /// ɹ״̬
+ ///
+ [Column(MapType = typeof(int?))]
+ public Enums.PurchaseOrderState? OrderState { get; set; }
}
}
diff --git a/BBWYB.Server.Model/Enums.cs b/BBWYB.Server.Model/Enums.cs
index 8d57de2..924c0cc 100644
--- a/BBWYB.Server.Model/Enums.cs
+++ b/BBWYB.Server.Model/Enums.cs
@@ -72,23 +72,53 @@
}
///
- /// 订单状态 待付款 = 0,等待采购 = 1,待出库 = 2,待收货 = 3,已完成 = 4,锁定 = 5,已取消 = 6,暂停 = 7,已退款 = 8,Unknow = 100
+ /// 订单状态
+ /// 待付款 = 0
+ /// 等待采购 = 1, 部分采购 = 110
+ /// 待发货 = 2, 部分发货 = 120
+ /// 待收货 = 3, 部分收货 = 130
+ /// 已完成 = 4
+ /// 锁定 = 5
+ /// 已取消 = 6
+ /// 暂停 = 7
+ /// 已退款 = 8
+ /// Unknow = 100
+ /// 打包中 = 140
+ /// 待完结 = 150
///
public enum OrderState
{
待付款 = 0,
等待采购 = 1,
- 待出库 = 2,
+ 部分采购 = 110,
+ 待发货 = 2,
+ 部分发货 = 120,
待收货 = 3,
+ 部分收货 = 130,
已完成 = 4,
锁定 = 5,
已取消 = 6,
暂停 = 7,
已退款 = 8,
- Unknow = 100
+ Unknow = 100,
+ 打包中 = 140,
+ 待完结 = 150
+
//待配置 = 101,
}
+ ///
+ /// 采购单状态 待发货 = 0, 待收货 = 10, 已签收 = 20, 已取消 = 100
+ ///
+ public enum PurchaseOrderState
+ {
+ 待发货 = 0,
+ 待收货 = 10,
+ 已签收 = 20,
+ 已取消 = 100
+ //部分签收 = 21,
+ }
+
///
/// 刷单类型
///