diff --git a/BBWYB.Server.Business/QiKuManager.cs b/BBWYB.Server.Business/QiKuManager.cs index 4026576..be646e8 100644 --- a/BBWYB.Server.Business/QiKuManager.cs +++ b/BBWYB.Server.Business/QiKuManager.cs @@ -5,7 +5,9 @@ using BBWYB.Server.Model; using BBWYB.Server.Model.Db; using BBWYB.Server.Model.Dto; using FreeSql; +using Microsoft.Extensions.DependencyInjection; using Newtonsoft.Json; +using System.Text; using Yitter.IdGenerator; namespace BBWYB.Server.Business @@ -17,7 +19,13 @@ namespace BBWYB.Server.Business private NLogManager nLogManager; private List hgzTaskTypeList; - public QiKuManager(RestApiService restApiService, IFreeSql fsql, NLogManager nLogManager, IIdGenerator idGenerator) : base(fsql, nLogManager, idGenerator) + private Lazy dingDingBusinessLazy; + private Lazy venderBusinessLazy; + + private DingDingBusiness dingDingBusiness => dingDingBusinessLazy.Value; + private VenderBusiness venderBusiness => venderBusinessLazy.Value; + + public QiKuManager(RestApiService restApiService, IFreeSql fsql, NLogManager nLogManager, IIdGenerator idGenerator, IServiceProvider serviceProvider) : base(fsql, nLogManager, idGenerator) { this.restApiService = restApiService; hgzTaskTypeList = new List() @@ -25,6 +33,8 @@ namespace BBWYB.Server.Business Enums.TimeLimitTaskType.合格证拟定任务, Enums.TimeLimitTaskType.合格证补充任务 }; + this.dingDingBusinessLazy = new Lazy(() => serviceProvider.GetService()); + this.venderBusinessLazy = new Lazy(() => serviceProvider.GetService()); } /// @@ -233,14 +243,15 @@ namespace BBWYB.Server.Business if (orderSku.PackConfigState != request.PackConfigState) { - updateOrderSku = fsql.Select() - .InnerJoin((osku, o) => osku.OrderId == o.Id) - .Where((osku, o) => o.OrderState != Enums.OrderState.已取消 && - o.IntoStoreType == Enums.IntoStoreType.发回齐越 && - osku.SkuId == orderSku.SkuId && - osku.PackConfigState != request.PackConfigState) - .ToUpdate() - .Set(osku => osku.PackConfigState, request.PackConfigState); + //updateOrderSku = fsql.Select() + // .InnerJoin((osku, o) => osku.OrderId == o.Id) + // .Where((osku, o) => o.OrderState != Enums.OrderState.已取消 && + // o.IntoStoreType == Enums.IntoStoreType.发回齐越 && + // osku.SkuId == orderSku.SkuId && + // osku.PackConfigState != request.PackConfigState) + // .ToUpdate() + // .Set(osku => osku.PackConfigState, request.PackConfigState); + updateOrderSku = fsql.Update(orderSku.Id).Set(osku => osku.PackConfigState, request.PackConfigState); } if (request.PackConfigState == Enums.PackConfigState.需修改) @@ -267,6 +278,22 @@ namespace BBWYB.Server.Business else t.ExpirationTime = DateTime.Now.Date.AddDays(1).AddHours(13); insertTimeLimitTask = fsql.Insert(t); + + #region 发送钉钉通知 + try + { + var shop = venderBusiness.GetShopList(order.ShopId.Value).FirstOrDefault(); + var content = new StringBuilder(); + content.AppendLine($"拳探店铺:{shop?.ShopName}"); + content.AppendLine($"订单号:{order.OrderSn}"); + content.AppendLine($"拳探SKU:{orderSku.SkuId}"); + content.AppendLine("信息:需补充合格证信息"); + dingDingBusiness.SendDingDingBotMessage("SECf32e6111bb4bd633cfe44cf0c1d4c3384cda4b91096bcdd962402fdfd67f31c6", + "https://oapi.dingtalk.com/robot/send?access_token=c87a037e038ec38e379ad5bc6fe50adc679ba89d4957f8fc5396e15fbc3a9df7", + content.ToString()); + } + catch { } + #endregion } } else if (request.PackConfigState == Enums.PackConfigState.已配置) @@ -274,7 +301,7 @@ namespace BBWYB.Server.Business updateTimeLimitTask = fsql.Update().Set(t => t.CompletionTime, DateTime.Now) .Set(t => t.IsTimely == (DateTime.Now < t.ExpirationTime ? true : false)) - //.Where(t => t.OrderId == request.OrderId) + .Where(t => t.OrderId == request.OrderId) .Where(t => t.SkuId == orderSku.SkuId) .Where(t => t.CompletionTime == null) .Where(t => hgzTaskTypeList.Contains(t.TaskType));