From 03a3a8eec3bbe18442e5fb457e74c937e5839426 Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Fri, 4 Nov 2022 12:33:52 +0800 Subject: [PATCH] 1 --- BBWY.Server.API/NLog.config | 8 ++--- BBWY.Server.API/Startup.cs | 1 + BBWY.Server.Business/NLogManager.cs | 35 +++++++++++++++++++ .../Sync/AfterSaleOrderSyncBusiness.cs | 4 ++- BBWY.Server.Business/Sync/BaseSyncBusiness.cs | 3 ++ ...arizeReportFormAdGroupLevelSyncBusiness.cs | 9 +++-- ...PopularizeReportFormAdLevelSyncBusiness.cs | 7 +++- ...rizeReportFormCampaignLevelSyncBusiness.cs | 7 +++- ...ularizeReportFormOrderLevelSyncBusiness.cs | 7 +++- ...opularizeReportFormSkuLevelSyncBusiness.cs | 6 +++- .../Sync/JD/JDPopularizeSyncBusiness.cs | 2 ++ .../Sync/OrderSyncBusiness.cs | 4 ++- .../Sync/ProductSyncBusiness.cs | 2 ++ 13 files changed, 83 insertions(+), 12 deletions(-) create mode 100644 BBWY.Server.Business/NLogManager.cs diff --git a/BBWY.Server.API/NLog.config b/BBWY.Server.API/NLog.config index 6cd8899f..8405deac 100644 --- a/BBWY.Server.API/NLog.config +++ b/BBWY.Server.API/NLog.config @@ -1,9 +1,9 @@  - - + diff --git a/BBWY.Server.API/Startup.cs b/BBWY.Server.API/Startup.cs index 52bb287f..c4f5d3d6 100644 --- a/BBWY.Server.API/Startup.cs +++ b/BBWY.Server.API/Startup.cs @@ -55,6 +55,7 @@ namespace BBWY.Server.API MDSfsql = fsql2, JDXXfsql = fsql3 }); + services.AddSingleton(); services.AddSingleton(typeof(NLog.ILogger), NLog.LogManager.GetCurrentClassLogger()); services.AddSingleton(); services.AddSingleton(); diff --git a/BBWY.Server.Business/NLogManager.cs b/BBWY.Server.Business/NLogManager.cs new file mode 100644 index 00000000..9da4b3f5 --- /dev/null +++ b/BBWY.Server.Business/NLogManager.cs @@ -0,0 +1,35 @@ +using NLog; +using System.Collections.Concurrent; +using System.Collections.Generic; + +namespace BBWY.Server.Business +{ + public class NLogManager + { + private ConcurrentDictionary loggerDictionary; + private string defaultLoggerName = "default"; + + public NLogManager() + { + loggerDictionary = new ConcurrentDictionary(); + loggerDictionary.TryAdd("default", NLog.LogManager.GetLogger(defaultLoggerName)); + } + + public ILogger Default() + { + return loggerDictionary[defaultLoggerName]; + } + + public ILogger GetLogger(string loggerName) + { + if (string.IsNullOrEmpty(loggerName)) + return Default(); + if (!loggerDictionary.TryGetValue(loggerName, out ILogger logger)) + { + logger = NLog.LogManager.GetLogger(loggerName); + loggerDictionary.TryAdd(loggerName, logger); + } + return logger; + } + } +} diff --git a/BBWY.Server.Business/Sync/AfterSaleOrderSyncBusiness.cs b/BBWY.Server.Business/Sync/AfterSaleOrderSyncBusiness.cs index 1fe3ad0d..f3e27d91 100644 --- a/BBWY.Server.Business/Sync/AfterSaleOrderSyncBusiness.cs +++ b/BBWY.Server.Business/Sync/AfterSaleOrderSyncBusiness.cs @@ -29,11 +29,13 @@ namespace BBWY.Server.Business IOptions options, ILogger logger, IFreeSql fsql, + NLogManager logManager, IIdGenerator idGenerator, TaskSchedulerManager taskSchedulerManager, - VenderBusiness venderBusiness,YunDingBusiness yunDingBusiness) : base(restApiService, + VenderBusiness venderBusiness, YunDingBusiness yunDingBusiness) : base(restApiService, options, logger, + logManager, fsql, idGenerator, taskSchedulerManager, diff --git a/BBWY.Server.Business/Sync/BaseSyncBusiness.cs b/BBWY.Server.Business/Sync/BaseSyncBusiness.cs index f3685205..7dfd8e44 100644 --- a/BBWY.Server.Business/Sync/BaseSyncBusiness.cs +++ b/BBWY.Server.Business/Sync/BaseSyncBusiness.cs @@ -14,10 +14,12 @@ namespace BBWY.Server.Business protected IIdGenerator idGenerator; protected TaskSchedulerManager taskSchedulerManager; protected VenderBusiness venderBusiness; + protected NLogManager nLogManager; public BaseSyncBusiness(RestApiService restApiService, IOptions options, ILogger logger, + NLogManager nLogManager, IFreeSql fsql, IIdGenerator idGenerator, TaskSchedulerManager taskSchedulerManager, @@ -25,6 +27,7 @@ namespace BBWY.Server.Business YunDingBusiness yunDingBusiness) : base(restApiService, options, yunDingBusiness) { this.logger = logger; + this.nLogManager = nLogManager; this.fsql = fsql; this.idGenerator = idGenerator; this.venderBusiness = venderBusiness; diff --git a/BBWY.Server.Business/Sync/JD/JDPopularizeReportFormAdGroupLevelSyncBusiness.cs b/BBWY.Server.Business/Sync/JD/JDPopularizeReportFormAdGroupLevelSyncBusiness.cs index 8256c25d..4450a43c 100644 --- a/BBWY.Server.Business/Sync/JD/JDPopularizeReportFormAdGroupLevelSyncBusiness.cs +++ b/BBWY.Server.Business/Sync/JD/JDPopularizeReportFormAdGroupLevelSyncBusiness.cs @@ -22,13 +22,15 @@ namespace BBWY.Server.Business.Sync { public JDPopularizeReportFormAdGroupLevelSyncBusiness(RestApiService restApiService, IOptions options, + NLogManager nLogManager, ILogger logger, IFreeSql fsql, IIdGenerator idGenerator, TaskSchedulerManager taskSchedulerManager, - VenderBusiness venderBusiness,YunDingBusiness yunDingBusiness) : base(restApiService, + VenderBusiness venderBusiness, YunDingBusiness yunDingBusiness) : base(restApiService, options, logger, + nLogManager, fsql, idGenerator, taskSchedulerManager, @@ -105,6 +107,9 @@ namespace BBWY.Server.Business.Sync PageIndex = pageIndex, Business = 2 }, GetYunDingRequestHeader(), HttpMethod.Post); + + nLogManager.GetLogger($"单元维度-{shop.ShopName}").Info(httpResult.Content); + if (httpResult.StatusCode != System.Net.HttpStatusCode.OK) throw new Exception($"获取JD推广报表-单元维度失败 {httpResult.Content}"); @@ -118,7 +123,7 @@ namespace BBWY.Server.Business.Sync catch (Exception ex) { var data = JsonConvert.SerializeObject(new { shop, startDate, endDate, pageIndex }); - logger.Error(ex, $"SyncShopPopularizeReportFormAdGroupLevel Data:{data}"); + nLogManager.GetLogger($"单元维度-{shop.ShopName}").Error(ex, $"SyncShopPopularizeReportFormAdGroupLevel Data:{data}"); } } diff --git a/BBWY.Server.Business/Sync/JD/JDPopularizeReportFormAdLevelSyncBusiness.cs b/BBWY.Server.Business/Sync/JD/JDPopularizeReportFormAdLevelSyncBusiness.cs index 6d020f84..1ad715f8 100644 --- a/BBWY.Server.Business/Sync/JD/JDPopularizeReportFormAdLevelSyncBusiness.cs +++ b/BBWY.Server.Business/Sync/JD/JDPopularizeReportFormAdLevelSyncBusiness.cs @@ -22,6 +22,7 @@ namespace BBWY.Server.Business.Sync { public JDPopularizeReportFormAdLevelSyncBusiness(RestApiService restApiService, IOptions options, + NLogManager nLogManager, ILogger logger, IFreeSql fsql, IIdGenerator idGenerator, @@ -29,6 +30,7 @@ namespace BBWY.Server.Business.Sync VenderBusiness venderBusiness, YunDingBusiness yunDingBusiness) : base(restApiService, options, logger, + nLogManager, fsql, idGenerator, taskSchedulerManager, @@ -105,6 +107,9 @@ namespace BBWY.Server.Business.Sync PageIndex = pageIndex, Business = 2 }, GetYunDingRequestHeader(), HttpMethod.Post); + + nLogManager.GetLogger($"创意维度-{shop.ShopName}").Info(httpResult.Content); + if (httpResult.StatusCode != System.Net.HttpStatusCode.OK) throw new Exception($"获取JD推广报表-创意维度失败 {httpResult.Content}"); @@ -118,7 +123,7 @@ namespace BBWY.Server.Business.Sync catch (Exception ex) { var data = JsonConvert.SerializeObject(new { shop, startDate, endDate, pageIndex }); - logger.Error(ex, $"SyncShopPopularizeReportFormAdLevel Data:{data}"); + nLogManager.GetLogger($"创意维度-{shop.ShopName}").Error(ex, $"SyncShopPopularizeReportFormAdLevel Data:{data}"); } } diff --git a/BBWY.Server.Business/Sync/JD/JDPopularizeReportFormCampaignLevelSyncBusiness.cs b/BBWY.Server.Business/Sync/JD/JDPopularizeReportFormCampaignLevelSyncBusiness.cs index 8a344f86..15920862 100644 --- a/BBWY.Server.Business/Sync/JD/JDPopularizeReportFormCampaignLevelSyncBusiness.cs +++ b/BBWY.Server.Business/Sync/JD/JDPopularizeReportFormCampaignLevelSyncBusiness.cs @@ -22,6 +22,7 @@ namespace BBWY.Server.Business.Sync public JDPopularizeReportFormCampaignLevelSyncBusiness(RestApiService restApiService, IOptions options, ILogger logger, + NLogManager nLogManager, IFreeSql fsql, IIdGenerator idGenerator, TaskSchedulerManager taskSchedulerManager, @@ -29,6 +30,7 @@ namespace BBWY.Server.Business.Sync YunDingBusiness yunDingBusiness) : base(restApiService, options, logger, + nLogManager, fsql, idGenerator, taskSchedulerManager, @@ -114,6 +116,9 @@ namespace BBWY.Server.Business.Sync PageIndex = pageIndex, Business = businessType }, GetYunDingRequestHeader(), HttpMethod.Post); + + nLogManager.GetLogger($"计划维度-{shop.ShopName}-{(businessType == 2 ? "快车" : "京速推")}").Info(httpResult.Content); + if (httpResult.StatusCode != System.Net.HttpStatusCode.OK) throw new Exception($"获取JD推广报表-计划维度失败 {httpResult.Content}"); @@ -127,7 +132,7 @@ namespace BBWY.Server.Business.Sync catch (Exception ex) { var data = JsonConvert.SerializeObject(new { shop, startDate, endDate, pageIndex }); - logger.Error(ex, $"SyncShopPopularizeReportFormCampaignLevel Data:{data}"); + nLogManager.GetLogger($"计划维度-{shop.ShopName}-{(businessType == 2 ? "快车" : "京速推")}").Error(ex, $"SyncShopPopularizeReportFormCampaignLevel Data:{data}"); } } diff --git a/BBWY.Server.Business/Sync/JD/JDPopularizeReportFormOrderLevelSyncBusiness.cs b/BBWY.Server.Business/Sync/JD/JDPopularizeReportFormOrderLevelSyncBusiness.cs index d78ac40c..c7ddf2be 100644 --- a/BBWY.Server.Business/Sync/JD/JDPopularizeReportFormOrderLevelSyncBusiness.cs +++ b/BBWY.Server.Business/Sync/JD/JDPopularizeReportFormOrderLevelSyncBusiness.cs @@ -23,6 +23,7 @@ namespace BBWY.Server.Business.Sync public JDPopularizeReportFormOrderLevelSyncBusiness(RestApiService restApiService, IOptions options, ILogger logger, + NLogManager logManager, IFreeSql fsql, IIdGenerator idGenerator, TaskSchedulerManager taskSchedulerManager, @@ -30,6 +31,7 @@ namespace BBWY.Server.Business.Sync YunDingBusiness yunDingBusiness) : base(restApiService, options, logger, + logManager, fsql, idGenerator, taskSchedulerManager, @@ -116,6 +118,9 @@ namespace BBWY.Server.Business.Sync PageIndex = pageIndex, Business = businessType }, GetYunDingRequestHeader(), HttpMethod.Post); + + nLogManager.GetLogger($"订单维度-{shop.ShopName}-{(businessType == 2 ? "快车" : "京速推")}").Info(httpResult.Content); + if (httpResult.StatusCode != System.Net.HttpStatusCode.OK) throw new Exception($"获取JD推广报表-订单维度失败 {httpResult.Content}"); @@ -133,7 +138,7 @@ namespace BBWY.Server.Business.Sync catch (Exception ex) { var data = JsonConvert.SerializeObject(new { shop, startDate, endDate, pageIndex }); - logger.Error(ex, $"SyncShopPopularizeReportFormOrderLevel Data:{data}"); + nLogManager.GetLogger($"订单维度-{shop.ShopName}-{(businessType == 2 ? "快车" : "京速推")}").Error(ex, $"SyncShopPopularizeReportFormOrderLevel Data:{data}"); } } diff --git a/BBWY.Server.Business/Sync/JD/JDPopularizeReportFormSkuLevelSyncBusiness.cs b/BBWY.Server.Business/Sync/JD/JDPopularizeReportFormSkuLevelSyncBusiness.cs index 0bd1b826..f213c4a5 100644 --- a/BBWY.Server.Business/Sync/JD/JDPopularizeReportFormSkuLevelSyncBusiness.cs +++ b/BBWY.Server.Business/Sync/JD/JDPopularizeReportFormSkuLevelSyncBusiness.cs @@ -22,6 +22,7 @@ namespace BBWY.Server.Business.Sync public JDPopularizeReportFormSkuLevelSyncBusiness(RestApiService restApiService, IOptions options, ILogger logger, + NLogManager logManager, IFreeSql fsql, IIdGenerator idGenerator, TaskSchedulerManager taskSchedulerManager, @@ -29,6 +30,7 @@ namespace BBWY.Server.Business.Sync YunDingBusiness yunDingBusiness) : base(restApiService, options, logger, + logManager, fsql, idGenerator, taskSchedulerManager, @@ -111,6 +113,8 @@ namespace BBWY.Server.Business.Sync PageIndex = pageIndex, Business = 134217728 }, GetYunDingRequestHeader(), HttpMethod.Post); + nLogManager.GetLogger($"SKU维度-{shop.ShopName}").Info(httpResult.Content); + if (httpResult.StatusCode != System.Net.HttpStatusCode.OK) throw new Exception($"获取JD推广报表-sku维度失败 {httpResult.Content}"); @@ -124,7 +128,7 @@ namespace BBWY.Server.Business.Sync catch (Exception ex) { var data = JsonConvert.SerializeObject(new { shop, startDate, endDate, pageIndex }); - logger.Error(ex, $"SyncShopPopularizeReportFormSkuLevel Data:{data}"); + nLogManager.GetLogger($"SKU维度-{shop.ShopName}").Error(ex, $"SyncShopPopularizeReportFormSkuLevel Data:{data}"); } } diff --git a/BBWY.Server.Business/Sync/JD/JDPopularizeSyncBusiness.cs b/BBWY.Server.Business/Sync/JD/JDPopularizeSyncBusiness.cs index c5f4ec82..6a54e940 100644 --- a/BBWY.Server.Business/Sync/JD/JDPopularizeSyncBusiness.cs +++ b/BBWY.Server.Business/Sync/JD/JDPopularizeSyncBusiness.cs @@ -24,6 +24,7 @@ namespace BBWY.Server.Business.Sync public JDPopularizeSyncBusiness(RestApiService restApiService, IOptions options, ILogger logger, + NLogManager nlogManager, IFreeSql fsql, IIdGenerator idGenerator, TaskSchedulerManager taskSchedulerManager, @@ -31,6 +32,7 @@ namespace BBWY.Server.Business.Sync YunDingBusiness yunDingBusiness) : base(restApiService, options, logger, + nlogManager, fsql, idGenerator, taskSchedulerManager, diff --git a/BBWY.Server.Business/Sync/OrderSyncBusiness.cs b/BBWY.Server.Business/Sync/OrderSyncBusiness.cs index 13228868..b11e823b 100644 --- a/BBWY.Server.Business/Sync/OrderSyncBusiness.cs +++ b/BBWY.Server.Business/Sync/OrderSyncBusiness.cs @@ -29,6 +29,7 @@ namespace BBWY.Server.Business public OrderSyncBusiness(RestApiService restApiService, IOptions options, ILogger logger, + NLogManager nlogManager, IFreeSql fsql, IIdGenerator idGenerator, TaskSchedulerManager taskSchedulerManager, @@ -37,6 +38,7 @@ namespace BBWY.Server.Business YunDingBusiness yunDingBusiness) : base(restApiService, options, logger, + nlogManager, fsql, idGenerator, taskSchedulerManager, @@ -516,7 +518,7 @@ namespace BBWY.Server.Business StorageAmount = purchaseOrder.SingleStorageAmount * deductionQuantity, IsEnabled = true }; - orderCostDetail.SkuGrossProfit = itemPrice * deductionQuantity - + orderCostDetail.SkuGrossProfit = itemPrice * deductionQuantity - (orderCostDetail.TotalCost + orderCostDetail.DeliveryExpressFreight); insertOrderCostDetailList.Add(orderCostDetail); } diff --git a/BBWY.Server.Business/Sync/ProductSyncBusiness.cs b/BBWY.Server.Business/Sync/ProductSyncBusiness.cs index 1d843056..398ad234 100644 --- a/BBWY.Server.Business/Sync/ProductSyncBusiness.cs +++ b/BBWY.Server.Business/Sync/ProductSyncBusiness.cs @@ -22,6 +22,7 @@ namespace BBWY.Server.Business.Sync public ProductSyncBusiness(RestApiService restApiService, IOptions options, ILogger logger, + NLogManager nLogManager, IFreeSql fsql, IIdGenerator idGenerator, TaskSchedulerManager taskSchedulerManager, @@ -30,6 +31,7 @@ namespace BBWY.Server.Business.Sync YunDingBusiness yunDingBusiness) : base(restApiService, options, logger, + nLogManager, fsql, idGenerator, taskSchedulerManager,