From c59096dfd17254be07a23816c0d3fd1c58cca86e Mon Sep 17 00:00:00 2001 From: chfei Date: Thu, 27 Aug 2026 17:58:25 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + KJD_WebService/BLL/WXXD/WXOemManage.cs | 13 ++-- KJD_WebService/Global.asax.cs | 14 ++--- KJD_WebService/KJD_WebService.csproj | 5 ++ KJD_WebService/LogHelper.cs | 80 ++++++++++++++++++++++++ KJD_WebService/Nlog.config | 85 ++++++++++++++++++++++++++ KJD_WebService/packages.config | 1 + 7 files changed, 187 insertions(+), 12 deletions(-) create mode 100644 KJD_WebService/LogHelper.cs create mode 100644 KJD_WebService/Nlog.config diff --git a/.gitignore b/.gitignore index 6271d37..5e2a23b 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ bin /Update/Update/*.user *.user IISProfile.pubxml +*/**/logs diff --git a/KJD_WebService/BLL/WXXD/WXOemManage.cs b/KJD_WebService/BLL/WXXD/WXOemManage.cs index 67df5bf..d5a9e7e 100644 --- a/KJD_WebService/BLL/WXXD/WXOemManage.cs +++ b/KJD_WebService/BLL/WXXD/WXOemManage.cs @@ -576,10 +576,11 @@ namespace KJD_Web.BLL.WXXD { if (oem_id.IsNullOrEmpty()) return 0; - + LogHelper.Info($"找账号"); // 1. 找到该oem下所有账户 - string sql = "SELECT user_name FROM wxxd.`user` WHERE oem_id='" + MysqlUtils.ReplaceSqlSpecial(oem_id) + "'"; + string sql = "SELECT user_name FROM `wxxd`.`user` WHERE oem_id='" + MysqlUtils.ReplaceSqlSpecial(oem_id) + "'"; var userDt = mySql.ExecuteDataTable(sql); + LogHelper.Info($"找账号:{sql}"); if (!string.IsNullOrEmpty(mySql.Message) || userDt == null || userDt.Rows.Count == 0) return 0; @@ -590,13 +591,15 @@ namespace KJD_Web.BLL.WXXD .ToList(); if (userLst.Count == 0) return 0; - + LogHelper.Info($"当前找到:{userLst.Count} 账号"); // 2. 该oem所有账户的未结算流水,按id升序 sql = "SELECT * FROM `wxxd`.`user_payment_record` WHERE user_name IN ('" + string.Join("','", userLst) + "') AND type IN (20,23,26,16,31) AND settlement=0 AND is_deleted=0 ORDER BY id ASC"; + LogHelper.Info($"流水SQL:{sql}"); var flowDt = mySql.ExecuteDataTable(sql); + LogHelper.Info($"找到:{flowDt?.Rows?.Count ?? 0}条"); if (!string.IsNullOrEmpty(mySql.Message) || flowDt == null || flowDt.Rows.Count == 0) return 0; - + LogHelper.Info($"开始计算"); decimal total_amount = 0m; // 总金额(元) decimal rebate_amount = 0m; // 正数部分(累计返利) HashSet deductedOrderSet = new HashSet(); // type=23 已扣减的订单 @@ -643,7 +646,7 @@ namespace KJD_Web.BLL.WXXD long total_fen = (long)Math.Round(total_amount * 100m); long rebate_fen = (long)Math.Round(rebate_amount * 100m); string now = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); - + LogHelper.Info($"开始修改"); // 3. 写oem金额 + 更新流水状态(同一事务) sql = "UPDATE wxxd.oem SET available_balance=available_balance+" + total_fen + ", total_rebate_amount=total_rebate_amount+" + rebate_fen + diff --git a/KJD_WebService/Global.asax.cs b/KJD_WebService/Global.asax.cs index 8bfb466..74f5df7 100644 --- a/KJD_WebService/Global.asax.cs +++ b/KJD_WebService/Global.asax.cs @@ -1,20 +1,20 @@ -using System; +using KJD_Web.Utils; +using NLog; +using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Security; using System.Web.SessionState; -using KJD_Web.Utils; namespace KJD_Web { public class Global : System.Web.HttpApplication { - - protected void Application_Start(object sender, EventArgs e) - { - - } + protected void Application_Start(object sender, EventArgs e) + { + LogHelper.Info("应用程序启动"); + } protected void Session_Start(object sender, EventArgs e) { diff --git a/KJD_WebService/KJD_WebService.csproj b/KJD_WebService/KJD_WebService.csproj index f0b2aa6..d237422 100644 --- a/KJD_WebService/KJD_WebService.csproj +++ b/KJD_WebService/KJD_WebService.csproj @@ -57,6 +57,9 @@ False ..\Dll\Newtonsoft.Json.dll + + ..\packages\NLog.6.2.0\lib\net46\NLog.dll + @@ -129,6 +132,7 @@ + @@ -298,6 +302,7 @@ + Web.config diff --git a/KJD_WebService/LogHelper.cs b/KJD_WebService/LogHelper.cs new file mode 100644 index 0000000..181728f --- /dev/null +++ b/KJD_WebService/LogHelper.cs @@ -0,0 +1,80 @@ +using System; +using NLog; + +namespace KJD_Web +{ + public static class LogHelper + { + private static Logger _logger; + + // 静态构造函数,获取Logger实例 + static LogHelper() + { + _logger = LogManager.GetCurrentClassLogger(); + } + + // 获取日志记录器 + public static Logger Logger + { + get { return _logger; } + } + + // 便捷方法:记录信息 + public static void Info(string message, params object[] args) + { + _logger.Info(message, args); + } + + // 便捷方法:记录错误 + public static void Error(string message, params object[] args) + { + _logger.Error(message, args); + } + + // 便捷方法:记录错误(含异常) + public static void Error(Exception ex, string message = null, params object[] args) + { + if (string.IsNullOrEmpty(message)) + _logger.Error(ex); + else + _logger.Error(ex, message, args); + } + + // 便捷方法:记录警告 + public static void Warn(string message, params object[] args) + { + _logger.Warn(message, args); + } + + // 便捷方法:记录调试 + public static void Debug(string message, params object[] args) + { + _logger.Debug(message, args); + } + + // 便捷方法:记录跟踪 + public static void Trace(string message, params object[] args) + { + _logger.Trace(message, args); + } + + // 记录方法进入(用于方法调用跟踪) + public static void LogMethodEntry(string methodName, params object[] parameters) + { + if (_logger.IsTraceEnabled) + { + _logger.Trace("进入方法: {0} (参数: {1})", methodName, + string.Join(", ", parameters)); + } + } + + // 记录方法退出 + public static void LogMethodExit(string methodName, object result = null) + { + if (_logger.IsTraceEnabled) + { + _logger.Trace("退出方法: {0} (返回值: {1})", methodName, result ?? "void"); + } + } + } +} \ No newline at end of file diff --git a/KJD_WebService/Nlog.config b/KJD_WebService/Nlog.config new file mode 100644 index 0000000..d938001 --- /dev/null +++ b/KJD_WebService/Nlog.config @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/KJD_WebService/packages.config b/KJD_WebService/packages.config index e1b1f6d..e2f0b74 100644 --- a/KJD_WebService/packages.config +++ b/KJD_WebService/packages.config @@ -1,4 +1,5 @@  + \ No newline at end of file