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(); + }); + } } }