diff --git a/BBWYB.Server.API/Controllers/DataRepairController.cs b/BBWYB.Server.API/Controllers/DataRepairController.cs
index fa223f4..3cfa44f 100644
--- a/BBWYB.Server.API/Controllers/DataRepairController.cs
+++ b/BBWYB.Server.API/Controllers/DataRepairController.cs
@@ -49,5 +49,15 @@ namespace BBWYB.Server.API.Controllers
{
dataRepairBusiness.SupplementPurchaseSchemeGroup();
}
+
+
+ ///
+ /// 手动处理待核算
+ ///
+ [HttpPost]
+ public void RepairOrderStateToCheckComputation()
+ {
+ dataRepairBusiness.RepairOrderStateToCheckComputation();
+ }
}
}
diff --git a/BBWYB.Server.Business/DataRepair/DataRepairBusiness.cs b/BBWYB.Server.Business/DataRepair/DataRepairBusiness.cs
index 1132c3b..cb1c992 100644
--- a/BBWYB.Server.Business/DataRepair/DataRepairBusiness.cs
+++ b/BBWYB.Server.Business/DataRepair/DataRepairBusiness.cs
@@ -244,5 +244,40 @@ namespace BBWYB.Server.Business
});
}
}
+
+ public void RepairOrderStateToCheckComputation()
+ {
+ List insertComputationTaskList = new List();
+ var time = DateTime.Parse("2023-09-01");
+ var orderList = fsql.Select().Where(o => o.StartTime <= time && o.OrderState == Enums.OrderState.待验收).ToList();
+ var orderIdsList = orderList.Select(o => o.Id).ToList();
+ var checmComputationTaskList = fsql.Select().Where(t => t.TaskType == Enums.TimeLimitTaskType.待核算任务 && orderIdsList.Contains(t.OrderId)).ToList();
+ foreach (var order in orderList)
+ {
+ if (!checmComputationTaskList.Any(x => x.OrderId == order.Id))
+ {
+ insertComputationTaskList.Add(new TimeLimitTask()
+ {
+ Id = idGenerator.NewLong(),
+ OrderId = order.Id,
+ CreateTme = DateTime.Now,
+ ExpirationTime = DateTime.Now.AddDays(1),
+ OrderSn = order.OrderSn,
+ Remark = "手工处理待核算",
+ ShopId = order.ShopId,
+ TaskType = Enums.TimeLimitTaskType.待核算任务
+ });
+ }
+ }
+
+ fsql.Transaction(() =>
+ {
+ if (insertComputationTaskList.Count() > 0)
+ fsql.Insert(insertComputationTaskList).ExecuteAffrows();
+ fsql.Update().Set(o => o.OrderState, Enums.OrderState.待核算)
+ .Where(o => o.StartTime <= time && o.OrderState == Enums.OrderState.待验收)
+ .ExecuteAffrows();
+ });
+ }
}
}