Explorar el Código

refactor: 优化差异日志为仅记录差异字段

喵你个旺呀 hace 1 año
padre
commit
12b14da0a1
Se han modificado 1 ficheros con 15 adiciones y 0 borrados
  1. 15 0
      Admin.NET/Admin.NET.Core/SqlSugar/SqlSugarSetup.cs

+ 15 - 0
Admin.NET/Admin.NET.Core/SqlSugar/SqlSugarSetup.cs

@@ -270,6 +270,21 @@ public static class SqlSugarSetup
 
         db.Aop.OnDiffLogEvent = async u =>
         {
+            // 移除相同字段
+            for (int i = 0; i < u.AfterData.Count; i++)
+            {
+                var afterColumns = u.AfterData[i].Columns;
+                var beforeColumns = u.BeforeData[i].Columns;
+                for (int j = 0; j < afterColumns.Count; j++)
+                {
+                    if (afterColumns[j].Value.Equals(beforeColumns[j].Value))
+                    {
+                        beforeColumns.Remove(beforeColumns[j]);
+                        afterColumns.Remove(afterColumns[j]);
+                        j--;
+                    }
+                }
+            }
             var logDiff = new SysLogDiff
             {
                 // 操作后记录(字段描述、列名、值、表名、表描述)