diff --git a/BBWYB.Server.Business/Order/OrderBusiness.cs b/BBWYB.Server.Business/Order/OrderBusiness.cs index b245336..92c009c 100644 --- a/BBWYB.Server.Business/Order/OrderBusiness.cs +++ b/BBWYB.Server.Business/Order/OrderBusiness.cs @@ -53,19 +53,6 @@ namespace BBWYB.Server.Business .Where(opi => opi.PurchaseOrderId == request.PurchaseOrderId); select = select.Where((o, ocs, oct) => childSelect.Where(opi => opi.OrderId == o.Id).Any()); } - if (request.OrderState != null) - { - if (request.OrderState == Enums.OrderState.待付款 || - request.OrderState == Enums.OrderState.打包中 || - request.OrderState == Enums.OrderState.待完结 || - request.OrderState == Enums.OrderState.已完成 || - request.OrderState == Enums.OrderState.已取消) - { - select = select.Where((o, ocs, oct) => o.OrderState == request.OrderState); - } - else if (request.OrderState == Enums.OrderState.等待采购) - select = select.Where((o, ocs, oct) => o.OrderState == Enums.OrderState.等待采购 || o.OrderState == Enums.OrderState.部分采购); - } select = select.WhereIf(request.OrderState == Enums.OrderState.待付款 || request.OrderState == Enums.OrderState.打包中 || request.OrderState == Enums.OrderState.待完结 || diff --git a/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs b/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs index 495e636..c396a91 100644 --- a/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs +++ b/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs @@ -17,6 +17,7 @@ using Yitter.IdGenerator; using BBWYB.Server.Business.Extensions; using Microsoft.Extensions.DependencyInjection; using BBWYB.Server.Model.Db.Mds; +using static BBWYB.Server.Model.Enums; namespace BBWYB.Server.Business { @@ -29,6 +30,7 @@ namespace BBWYB.Server.Business private Lazy kuaiDi100ManagerLazy; private Lazy dingDingBusinessLazy; private Lazy qiKuManagerLazy; + private Lazy restApiServiceLazy; private PP_PlatformClientFactory ppPlatformClientFactory => pplatformClientFactoryLazy.Value; private TaskSchedulerManager taskSchedulerManager => taskSchedulerManagerLazy.Value; @@ -37,6 +39,8 @@ namespace BBWYB.Server.Business private KuaiDi100Manager kuaiDi100Manager => kuaiDi100ManagerLazy.Value; private DingDingBusiness dingDingBusiness => dingDingBusinessLazy.Value; private QiKuManager qiKuManager => qiKuManagerLazy.Value; + private RestApiService restApiService => restApiServiceLazy.Value; + private IList cantPurchaseOrderStateList; public PurchaseOrderBusiness(IFreeSql fsql, @@ -51,7 +55,7 @@ namespace BBWYB.Server.Business kuaiDi100ManagerLazy = new Lazy(() => serviceProvider.GetService()); dingDingBusinessLazy = new Lazy(() => serviceProvider.GetService()); qiKuManagerLazy = new Lazy(() => serviceProvider.GetService()); - + restApiServiceLazy = new Lazy(() => serviceProvider.GetService()); cantPurchaseOrderStateList = new List() { Enums.OrderState.已取消, @@ -410,6 +414,10 @@ namespace BBWYB.Server.Business dbOrder.CalculationOrderState(fsql, orderSkus, orderPurchaseInfoList.Union(insertOrderPurchaseInfos).ToList()); #endregion + #region 通知C端状态 + Task.Factory.StartNew(() => SendPurchaseOrderStateToC(dbOrder.Id, dbOrder.OrderState.Value), CancellationToken.None, TaskCreationOptions.None, taskSchedulerManager.PurchaseOrderCallbackTaskScheduler); + #endregion + fsql.Transaction(() => { if (updatePurchaseOrderIdList.Count() > 0) @@ -782,6 +790,10 @@ namespace BBWYB.Server.Business dbOrder.CalculationOrderState(fsql, dbOrderSkuList, dbvalidPurchaseOrderList.Union(insertOrderPurchaseInfoList).ToList()); #endregion + #region 通知C端状态 + Task.Factory.StartNew(() => SendPurchaseOrderStateToC(dbOrder.Id, dbOrder.OrderState.Value), CancellationToken.None, TaskCreationOptions.None, taskSchedulerManager.PurchaseOrderCallbackTaskScheduler); + #endregion + fsql.Transaction(() => { if (insertOrderPurchaseInfoList.Count() > 0) @@ -951,7 +963,7 @@ namespace BBWYB.Server.Business dingdingMsg.AppendLine($"目标物流公司:{request.ExpressName} {request.ExpressId}"); dingdingMsg.AppendLine($"快递单号:{request.WaybillNo}"); dingdingMsg.Append($"店铺名:{shop.ShopName}"); - SendDingDingOnKD100SubscribeFail(dingdingMsg.ToString()); + Task.Factory.StartNew(() => SendDingDingOnKD100SubscribeFail(dingdingMsg.ToString()), CancellationToken.None, TaskCreationOptions.None, taskSchedulerManager.PurchaseOrderCallbackTaskScheduler); #endregion } #endregion @@ -992,8 +1004,8 @@ namespace BBWYB.Server.Business .Set(o => o.OrderState, dbOrder.OrderState); #endregion - #region 通知C端订单状态 - + #region 通知C端状态 + Task.Factory.StartNew(() => SendPurchaseOrderStateToC(dbOrder.Id, dbOrder.OrderState.Value), CancellationToken.None, TaskCreationOptions.None, taskSchedulerManager.PurchaseOrderCallbackTaskScheduler); #endregion fsql.Transaction(() => @@ -1096,8 +1108,8 @@ namespace BBWYB.Server.Business taskSchedulerManager.PurchaseOrderCallbackTaskScheduler); #endregion - #region 通知C端订单状态 - + #region 通知C端状态 + Task.Factory.StartNew(() => SendPurchaseOrderStateToC(dbOrder.Id, dbOrder.OrderState.Value), CancellationToken.None, TaskCreationOptions.None, taskSchedulerManager.PurchaseOrderCallbackTaskScheduler); #endregion fsql.Transaction(() => @@ -1295,7 +1307,7 @@ namespace BBWYB.Server.Business dingdingMsg.AppendLine($"目标物流公司:{kuaidi100Company?.TargetName} {kuaidi100Company?.TargetCode}"); dingdingMsg.AppendLine($"快递单号:{logisticsInfo.WayBillNo}"); dingdingMsg.Append($"店铺名:{shop.ShopName}"); - SendDingDingOnKD100SubscribeFail(dingdingMsg.ToString()); + Task.Factory.StartNew(() => SendDingDingOnKD100SubscribeFail(dingdingMsg.ToString()), CancellationToken.None, TaskCreationOptions.None, taskSchedulerManager.PurchaseOrderCallbackTaskScheduler); #endregion } #endregion @@ -1344,7 +1356,7 @@ namespace BBWYB.Server.Business #endregion #region 通知C端订单状态 - + Task.Factory.StartNew(() => SendPurchaseOrderStateToC(dbOrder.Id, dbOrder.OrderState.Value), CancellationToken.None, TaskCreationOptions.None, taskSchedulerManager.PurchaseOrderCallbackTaskScheduler); #endregion fsql.Transaction(() => @@ -1827,7 +1839,7 @@ namespace BBWYB.Server.Business #endregion #region 通知C端状态 - + Task.Factory.StartNew(() => SendPurchaseOrderStateToC(dbOrder.Id, dbOrder.OrderState.Value), CancellationToken.None, TaskCreationOptions.None, taskSchedulerManager.PurchaseOrderCallbackTaskScheduler); #endregion fsql.Transaction(() => @@ -1853,5 +1865,21 @@ namespace BBWYB.Server.Business } catch { } } + + private void SendPurchaseOrderStateToC(string orderId, Enums.OrderState orderState) + { + try + { + restApiService.SendRequest("https://bbwy.qiyue666.com", "api/BatchPurchase/UpdatePurchaseOrderState", new + { + OrderId = orderId, + PurchaseOrderState = orderState + }, null, HttpMethod.Post); + } + catch + { + + } + } } }