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, + } + /// /// 刷单类型 ///