|
|
@ -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<Enums.TimeLimitTaskType?> hgzTaskTypeList; |
|
|
|
|
|
|
|
public QiKuManager(RestApiService restApiService, IFreeSql fsql, NLogManager nLogManager, IIdGenerator idGenerator) : base(fsql, nLogManager, idGenerator) |
|
|
|
private Lazy<DingDingBusiness> dingDingBusinessLazy; |
|
|
|
private Lazy<VenderBusiness> 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<Enums.TimeLimitTaskType?>() |
|
|
@ -25,6 +33,8 @@ namespace BBWYB.Server.Business |
|
|
|
Enums.TimeLimitTaskType.合格证拟定任务, |
|
|
|
Enums.TimeLimitTaskType.合格证补充任务 |
|
|
|
}; |
|
|
|
this.dingDingBusinessLazy = new Lazy<DingDingBusiness>(() => serviceProvider.GetService<DingDingBusiness>()); |
|
|
|
this.venderBusinessLazy = new Lazy<VenderBusiness>(() => serviceProvider.GetService<VenderBusiness>()); |
|
|
|
} |
|
|
|
|
|
|
|
/// <summary>
|
|
|
@ -233,14 +243,15 @@ namespace BBWYB.Server.Business |
|
|
|
|
|
|
|
if (orderSku.PackConfigState != request.PackConfigState) |
|
|
|
{ |
|
|
|
updateOrderSku = fsql.Select<OrderSku, Order>() |
|
|
|
.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<OrderSku, Order>()
|
|
|
|
// .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>(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<TimeLimitTask>().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)); |
|
|
|