using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; using WIDESEAWCS_Core.Const; using WIDESEAWCS_Core.DB.Models; using WIDESEAWCS_Core.Helper; using WIDESEAWCS_Core.HttpContextUser; using WIDESEAWCS_Core.Tenants; namespace WIDESEAWCS_Core.AOP { public static class SqlSugarAop { public static void DataExecuting(object oldValue, DataFilterModel entityInfo) { if (entityInfo.EntityValue is BaseEntity baseEntity) { // 新增操作 if (entityInfo.OperationType == DataFilterType.InsertByObject) { if (entityInfo.PropertyName == nameof(BaseEntity.CreateDate)) { baseEntity.CreateDate = DateTime.Now; } } else if (entityInfo.OperationType == DataFilterType.UpdateByObject) { baseEntity.ModifyDate = DateTime.Now; } try { if (App.User?.UserId > 0) { switch (entityInfo.OperationType) { case DataFilterType.UpdateByObject: baseEntity.Modifier = App.User.UserName; break; case DataFilterType.InsertByObject: baseEntity.Creater = App.User.UserName; break; } } else { switch (entityInfo.OperationType) { case DataFilterType.UpdateByObject: baseEntity.Modifier = "System"; break; case DataFilterType.InsertByObject: baseEntity.Creater = "System"; break; } } } catch (NullReferenceException) { switch (entityInfo.OperationType) { case DataFilterType.UpdateByObject: baseEntity.Modifier = "System"; break; case DataFilterType.InsertByObject: baseEntity.Creater = "System"; break; } } } } private static string GetWholeSql(SugarParameter[] paramArr, string sql) { foreach (var param in paramArr) { sql = sql.Replace(param.ParameterName, $@"'{param.Value.ObjToString()}'"); } return sql; } private static string GetParas(SugarParameter[] pars) { string key = "【SQL参数】:"; foreach (var param in pars) { key += $"{param.ParameterName}:{param.Value}\n"; } return key; } } }