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
}
}