private static void SyncDataAuditValue(object s, AuditValueEventArgs e) { if (e.AuditValueType == AuditValueType.Insert) { switch (e.Property.Name) { case "CreatedBy": e.Value = "INSTALL"; break; case "CreatedByName": e.Value = "INSTALL"; break; } } else if (e.AuditValueType == AuditValueType.Update) { switch (e.Property.Name) { case "UpdatedBy": e.Value = "INSTALL"; break; case "UpdatedByName": e.Value = "INSTALL"; break; } } }
/// <summary> /// 同步数据审计方法 /// </summary> /// <param name="s"></param> /// <param name="e"></param> private static void SyncDataAuditValue(object s, AuditValueEventArgs e) { if (e.AuditValueType == AuditValueType.Insert) { switch (e.Property.Name) { case "CreatedUserId": e.Value = 1; break; case "CreatedUserName": e.Value = "小雪转中雪"; break; } } else if (e.AuditValueType == AuditValueType.Update) { switch (e.Property.Name) { case "ModifiedUserId": e.Value = 1; break; case "ModifiedUserName": e.Value = "小雪转中雪"; break; } } }
private void AuditValue(object s, AuditValueEventArgs e) { if (e.AuditValueType == AuditValueType.Insert && e.Property.Name == "Id" && e.Property.GetCustomAttribute <SnowflakeAttribute>(false) != null && (e.Value == null || e.Value?.ToString() == "") ) { var dataCenterId = _systemConfig.CurrentValue?.DataCenterId ?? 5; var workId = _systemConfig.CurrentValue?.WorkId ?? 20; //var sf = new Common.IdGenerator.SnowflakeId(dataCenterId, workId); //var id = sf.NextId(); var idWorker = Common.IdGenerator.Snowflake.Instance(); idWorker.Init(dataCenterId, workId); var id = idWorker.NextId(); e.Value = id.ToString(); } if (_authUser == null || _authUser.Id == "") { return; } if (e.AuditValueType == FreeSql.Aop.AuditValueType.Insert) { switch (e.Property.Name) { case "CreatedBy": e.Value = _authUser.Id; break; case "CreatedByName": e.Value = _authUser.UserName; break; //case "CreatedTime": // e.Value = DateTime.Now.Subtract(timeOffset); // break; } } else if (e.AuditValueType == FreeSql.Aop.AuditValueType.Update) { switch (e.Property.Name) { case "UpdatedBy": e.Value = _authUser.Id; break; case "UpdatedByName": e.Value = _authUser.UserName; break; //case "UpdatedTime": // e.Value = DateTime.Now.Subtract(timeOffset); // break; } } }
private static void Aop_AuditValue(object sender, AuditValueEventArgs e) { if (e.AuditValueType == AuditValueType.Insert) { switch (e.Property.Name) { case "Id": if (e.Column.CsType == H_Type.LongType) { e.Value = IdHelper.GetLongId(); // 雪花id zookeeper分布式协同系统 //e.Value = ServiceLocator.ServiceProvider.GetService<ISnowflakeIdMaker>().NextId(); } else if (e.Column.CsType == H_Type.GuidType) { // e.Value = FreeUtil.NewMongodbId(); //生成有序不重复的id 多台机器顺序是否有序,是否重复的情况未知 e.Value = Guid.NewGuid(); } break; case nameof(IsCreateAudited.CreatorId): if (CurrentUser.Value?.Id != null) { e.Value = CurrentUser.Value.Id; } break; case nameof(IsCreateAudited.CreateTime): if (CurrentUser.Value?.Id != null) { e.Value = DateTime.Now; } break; } } else if (e.AuditValueType == AuditValueType.Update) { if (CurrentUser.Value?.Id == null) { return; } switch (e.Property.Name) { case nameof(IsModifyAudited.ModifierId): e.Value = CurrentUser.Value.Id; break; case nameof(IsModifyAudited.ModifyTime): e.Value = DateTime.Now; break; } } }
/// <summary> /// 审计数据 /// </summary> /// <param name="e"></param> /// <param name="timeOffset"></param> /// <param name="user"></param> public static void AuditValue(AuditValueEventArgs e, TimeSpan timeOffset, IUser user) { if (e.Property.GetCustomAttribute <ServerTimeAttribute>(false) != null && (e.Column.CsType == typeof(DateTime) || e.Column.CsType == typeof(DateTime?)) && (e.Value == null || (DateTime)e.Value == default || (DateTime?)e.Value == default)) { e.Value = DateTime.Now.Subtract(timeOffset); } if (e.Column.CsType == typeof(long) && e.Property.GetCustomAttribute <SnowflakeAttribute>(false) != null && (e.Value == null || (long)e.Value == default || (long?)e.Value == default)) { e.Value = YitIdHelper.NextId(); } if (user == null || user.Id <= 0) { return; } if (e.AuditValueType == FreeSql.Aop.AuditValueType.Insert) { switch (e.Property.Name) { case "CreatedUserId": if (e.Value == null || (long)e.Value == default || (long?)e.Value == default) { e.Value = user.Id; } break; case "CreatedUserName": if (e.Value == null || ((string)e.Value).IsNull()) { e.Value = user.Name; } break; case "TenantId": if (e.Value == null || (long)e.Value == default || (long?)e.Value == default) { e.Value = user.TenantId; } break; } } else if (e.AuditValueType == FreeSql.Aop.AuditValueType.Update) { switch (e.Property.Name) { case "ModifiedUserId": e.Value = user.Id; break; case "ModifiedUserName": e.Value = user.Name; break; } } }