Browse Source

1.增加齐库sku检查推送日志

2.定期修复待核算缺失任务
yijia
shanji 2 years ago
parent
commit
c09067b955
  1. 10
      BBWYB.Server.API/Controllers/TimeLimitTaskController.cs
  2. 1
      BBWYB.Server.Business/Order/OrderBusiness.cs
  3. 38
      BBWYB.Server.Business/TimeLimitTask/TimeLimitTaskBusiness.cs

10
BBWYB.Server.API/Controllers/TimeLimitTaskController.cs

@ -28,6 +28,16 @@ namespace BBWYB.Server.API.Controllers
timeLimitTaskBusiness.CheckTask();
}
/// <summary>
/// 修复订单缺失的待核算任务
/// </summary>
[HttpPost]
[AllowAnonymous]
public void RepairOrderComputationTask()
{
timeLimitTaskBusiness.RepairOrderComputationTask();
}
/// <summary>
/// 查询限时任务列表
/// </summary>

1
BBWYB.Server.Business/Order/OrderBusiness.cs

@ -717,6 +717,7 @@ namespace BBWYB.Server.Business
public void CheckSku(CheckSkuRequest request)
{
nLogManager.Default().Info($"CheckSku {JsonConvert.SerializeObject(request)}");
var dbOrder = fsql.Select<Order>(request.OrderId).ToOne();
if (dbOrder == null)
throw new BusinessException($"订单{request.OrderId}不存在");

38
BBWYB.Server.Business/TimeLimitTask/TimeLimitTaskBusiness.cs

@ -28,6 +28,40 @@ namespace BBWYB.Server.Business
.ExecuteAffrows();
}
/// <summary>
/// 修复订单待核算任务
/// </summary>
public void RepairOrderComputationTask()
{
var childSelect = fsql.Select<TimeLimitTask>().As("t").Where(t => t.TaskType == Enums.TimeLimitTaskType.);
var noComputationTaskOrderList = fsql.Select<Order>().Where(o => o.OrderState == Enums.OrderState. &&
!childSelect.Where(t => t.OrderId == o.Id).Any())
.ToList(o => new
{
o.Id,
o.OrderSn,
o.ShopId,
});
var insertComputationTaskList = noComputationTaskOrderList.Select(o => new TimeLimitTask()
{
Id = idGenerator.NewLong(),
CreateTme = DateTime.Now,
OrderId = o.Id,
OrderSn = o.OrderSn,
ShopId = o.ShopId,
TaskType = Enums.TimeLimitTaskType.,
ExpirationTime = DateTime.Now.AddDays(1),
Remark = "RepairOrderComputationTask"
}).ToList();
if (insertComputationTaskList.Count() > 0)
{
fsql.Transaction(() =>
{
fsql.Insert(insertComputationTaskList).ExecuteAffrows();
});
}
}
public TimeLimitTaskListResponse QueryTimeLimitTask(QueryTimeLimitTaskRequest request)
{
@ -122,9 +156,9 @@ namespace BBWYB.Server.Business
var purchaseTaskTimeOutCount = purchaseTaskTimOutCountGroups.FirstOrDefault(x => x.ShopId == response.ShopId)?.TaskCount ?? 0;
response.PurchaseTimeOutPercent = purchaseTaskCount == 0 ? 0 : Math.Round(1.0 * purchaseTaskTimeOutCount / purchaseTaskCount * 100, 2);
response.CerEditTimeOutCount = cerTimeOutCountGroups.FirstOrDefault(x => x.ShopId == response.ShopId &&
response.CerEditTimeOutCount = cerTimeOutCountGroups.FirstOrDefault(x => x.ShopId == response.ShopId &&
x.TaskType == Enums.TimeLimitTaskType.)?.TaskCount ?? 0;
response.CerConfigTimeOutCount = cerTimeOutCountGroups.FirstOrDefault(x => x.ShopId == response.ShopId &&
response.CerConfigTimeOutCount = cerTimeOutCountGroups.FirstOrDefault(x => x.ShopId == response.ShopId &&
x.TaskType == Enums.TimeLimitTaskType.)?.TaskCount ?? 0;
list.Add(response);
}

Loading…
Cancel
Save