From 1719d97cba16f1ec44f0dc9484b9f7bad48546bc Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Thu, 6 Apr 2023 00:22:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dosku=E7=9A=84=E5=95=86?= =?UTF-8?q?=E5=93=81Id?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/OrderSyncController.cs | 28 +++++++++++------ .../Sync/OrderSyncBusiness.cs | 31 +++++++++++++++++++ 2 files changed, 49 insertions(+), 10 deletions(-) diff --git a/BBWY.Server.API/Controllers/OrderSyncController.cs b/BBWY.Server.API/Controllers/OrderSyncController.cs index 9598fd0f..a3323cab 100644 --- a/BBWY.Server.API/Controllers/OrderSyncController.cs +++ b/BBWY.Server.API/Controllers/OrderSyncController.cs @@ -47,16 +47,16 @@ namespace BBWY.Server.API.Controllers orderSyncBusiness.ManualSyncOrder(shopId, orderIds, null, null); } - /// - /// 订单批量删除 - /// - /// - /// - [HttpPost("{shopId}")] - public void OrderDelete([FromRoute]long shopId, [FromBody]IList orderIds) - { - orderSyncBusiness.OrderDelete(shopId, orderIds); - } + ///// + ///// 订单批量删除 + ///// + ///// + ///// + //[HttpPost("{shopId}")] + //public void OrderDelete([FromRoute]long shopId, [FromBody]IList orderIds) + //{ + // orderSyncBusiness.OrderDelete(shopId, orderIds); + //} /// /// 根据日期同步 @@ -105,5 +105,13 @@ namespace BBWY.Server.API.Controllers orderSyncBusiness.DeleteTimeOutWaitPayOrder(); } + /// + /// 修复订单Sku缺少的spu + /// + [HttpPost] + public void RepairOrderSkuProductId() + { + orderSyncBusiness.RepairOrderSkuProductId(); + } } } diff --git a/BBWY.Server.Business/Sync/OrderSyncBusiness.cs b/BBWY.Server.Business/Sync/OrderSyncBusiness.cs index a536cd55..522107fc 100644 --- a/BBWY.Server.Business/Sync/OrderSyncBusiness.cs +++ b/BBWY.Server.Business/Sync/OrderSyncBusiness.cs @@ -866,6 +866,37 @@ namespace BBWY.Server.Business var deleteTime = DateTime.Now.AddHours(-24); fsql.Delete().Where(w => w.CreateTime <= deleteTime).ExecuteAffrows(); } + + /// + /// 修复订单Sku缺少的spu + /// + public void RepairOrderSkuProductId() + { + var date = DateTime.Now.AddHours(-2); + var waitRepairOrderSkuList = fsql.Select() + .InnerJoin((osku, psku) => osku.SkuId == psku.Id) + .Where((osku, psku) => osku.CreateTime >= date && string.IsNullOrEmpty(osku.ProductId) && osku.Price > 0) + .ToList((osku, psku) => new + { + Id = osku.Id, + SkuId = osku.SkuId, + ProductId = psku.ProductId + }); + if (waitRepairOrderSkuList.Count() == 0) + return; + + var waitRepairOrderSkuGroupList = waitRepairOrderSkuList.GroupBy(s => s.ProductId); + + fsql.Transaction(() => + { + foreach (var group in waitRepairOrderSkuGroupList) + { + var orderSkuIds = group.Select(g => g.Id).ToList(); + var productId = group.Key; + fsql.Update(orderSkuIds).Set(osku => osku.ProductId, productId).ExecuteAffrows(); + } + }); + } #endregion } }