Skip to content

Commit 19590e5

Browse files
committed
1. 实体变更事件 EntityChangedEvent 添加变更值集合属性 ChangeValues.
2. EntityFrameworkCore 工作单元更新数据时发布实体变更事件携带变更值集合. 3. Utc日期格式Json转换器 `UtcDateTimeJsonConverter` 默认日期格式字符串支持时区. 4. 重构扩展属性实现. 5. 采用 @for 语法重构 `<util-autocomplete>` 循环方式 6. 采用 @for 语法重构 `<util-tag>` 循环方式 7. 采用 @for 语法重构 `<util-radio>` 循环方式 8. 采用 @for 语法重构 `<util-radio-group>` 循环方式 9. 补齐 `<util-alert>` 标签属性. 10. 补齐 `<util-drawer>` 标签属性. 11. 补齐 `<util-mention>` 标签属性. 12. 补齐 `<util-modal>` 标签属性. 13. 补齐 `<util-radio>` 标签属性. 14. 补齐 `<util-radio-group>` 标签属性. 15. 补齐 `<util-rate>` 标签属性. 16. 补齐 `<util-tree-select>` 标签属性. 17. 补齐 `<util-tree>` 标签属性. 18. 补齐 `<util-tree-view>` 标签属性.
1 parent f4c8603 commit 19590e5

File tree

116 files changed

+2459
-880
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

116 files changed

+2459
-880
lines changed

build/version.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<PropertyGroup>
33
<VersionMajor>8</VersionMajor>
44
<VersionMinor>0</VersionMinor>
5-
<VersionPatch>18</VersionPatch>
5+
<VersionPatch>19</VersionPatch>
66
<VersionPrefix>$(VersionMajor).$(VersionMinor).$(VersionPatch)</VersionPrefix>
77
<VersionSuffix></VersionSuffix>
88
</PropertyGroup>

src/Util.Core/SystemTextJson/DateTimeJsonConverter.cs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,10 @@ public DateTimeJsonConverter( string format ) {
2929
/// 读取数据
3030
/// </summary>
3131
public override DateTime Read( ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options ) {
32-
if ( reader.TokenType == JsonTokenType.String ) {
32+
if ( reader.TokenType == JsonTokenType.String )
3333
return Time.ToLocalTime( Util.Helpers.Convert.ToDateTime( reader.GetString() ) );
34-
}
35-
if ( reader.TryGetDateTime( out var date ) ) {
34+
if ( reader.TryGetDateTime( out var date ) )
3635
return Time.ToLocalTime( date );
37-
}
3836
return DateTime.MinValue;
3937
}
4038

src/Util.Core/SystemTextJson/UtcDateTimeJsonConverter.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,13 @@ public class UtcDateTimeJsonConverter : JsonConverter<DateTime> {
1414
/// <summary>
1515
/// 初始化Utc日期格式Json转换器
1616
/// </summary>
17-
public UtcDateTimeJsonConverter() : this( "yyyy-MM-dd HH:mm:ss" ) {
17+
public UtcDateTimeJsonConverter() : this( "yyyy-MM-ddTHH:mm:sszzzz" ) {
1818
}
1919

2020
/// <summary>
2121
/// 初始化Utc日期格式Json转换器
2222
/// </summary>
23-
/// <param name="format">日期格式,默认值: yyyy-MM-dd HH:mm:ss</param>
23+
/// <param name="format">日期格式,默认值: yyyy-MM-ddTHH:mm:sszzzz</param>
2424
public UtcDateTimeJsonConverter( string format ) {
2525
_format = format;
2626
}

src/Util.Core/SystemTextJson/UtcNullableDateTimeJsonConverter.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,13 @@ public class UtcNullableDateTimeJsonConverter : JsonConverter<DateTime?> {
1414
/// <summary>
1515
/// 初始化可空日期格式Json转换器
1616
/// </summary>
17-
public UtcNullableDateTimeJsonConverter() : this( "yyyy-MM-dd HH:mm:ss" ) {
17+
public UtcNullableDateTimeJsonConverter() : this( "yyyy-MM-ddTHH:mm:sszzzz" ) {
1818
}
1919

2020
/// <summary>
2121
/// 初始化可空日期格式Json转换器
2222
/// </summary>
23-
/// <param name="format">日期格式,默认值: yyyy-MM-dd HH:mm:ss</param>
23+
/// <param name="format">日期格式,默认值: yyyy-MM-ddTHH:mm:sszzzz</param>
2424
public UtcNullableDateTimeJsonConverter( string format ) {
2525
_format = format;
2626
}

src/Util.Data.Abstractions/Trees/TreeQueryParameter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ public class TreeQueryParameter : QueryParameter, ITreeQueryParameter {
99
/// <summary>
1010
/// 初始化树形查询参数
1111
/// </summary>
12-
protected TreeQueryParameter() {
12+
public TreeQueryParameter() {
1313
Order = "SortId";
1414
}
1515

src/Util.Data.Core/01-Util.Data.Core.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
</ItemGroup>
2828

2929
<ItemGroup>
30-
<PackageReference Include="System.Linq.Dynamic.Core" Version="1.4.0" />
30+
<PackageReference Include="System.Linq.Dynamic.Core" Version="1.4.2" />
3131
</ItemGroup>
3232

3333
<ItemGroup>

src/Util.Data.EntityFrameworkCore/UnitOfWorkBase.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -574,9 +574,9 @@ protected virtual byte[] GetVersion() {
574574
/// <summary>
575575
/// 添加实体变更事件
576576
/// </summary>
577-
protected virtual void AddEntityChangedEvent( object entity, EntityChangeType changeType ) {
577+
protected virtual void AddEntityChangedEvent( object entity, EntityChangeType changeType, ChangeValueCollection changeValues = null ) {
578578
var eventType = typeof( EntityChangedEvent<> ).MakeGenericType( entity.GetType() );
579-
var @event = Reflection.CreateInstance<IEvent>( eventType, entity, changeType );
579+
var @event = Reflection.CreateInstance<IEvent>( eventType, entity, changeType, changeValues );
580580
SaveAfterEvents.Add( @event );
581581
}
582582

@@ -619,7 +619,7 @@ protected virtual void AddEntityUpdatedEvent( EntityEntry entry ) {
619619
var changeValues = GetChangeValues( entry );
620620
var @event = CreateEntityEvent( typeof( EntityUpdatedEvent<> ), entity, changeValues );
621621
SaveAfterEvents.Add( @event );
622-
AddEntityChangedEvent( entity, EntityChangeType.Updated );
622+
AddEntityChangedEvent( entity, EntityChangeType.Updated, changeValues );
623623
}
624624

625625
#endregion

src/Util.Domain/Events/EntityChangedEvent.cs

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
namespace Util.Domain.Events;
1+
using Util.Domain.Compare;
2+
3+
namespace Util.Domain.Events;
24

35
/// <summary>
46
/// 实体变更事件,当实体新增,修改,删除时均触发
@@ -10,9 +12,11 @@ public class EntityChangedEvent<TEntity> : IEvent {
1012
/// </summary>
1113
/// <param name="entity">实体</param>
1214
/// <param name="changeType">变更类型</param>
13-
public EntityChangedEvent( TEntity entity, EntityChangeType changeType ) {
15+
/// <param name="changeValues">变更值集合</param>
16+
public EntityChangedEvent( TEntity entity, EntityChangeType changeType, ChangeValueCollection changeValues = null ) {
1417
Entity = entity;
1518
ChangeType = changeType;
19+
ChangeValues = changeValues;
1620
}
1721

1822
/// <summary>
@@ -24,4 +28,9 @@ public EntityChangedEvent( TEntity entity, EntityChangeType changeType ) {
2428
/// 变更类型
2529
/// </summary>
2630
public EntityChangeType ChangeType { get; }
31+
32+
/// <summary>
33+
/// 变更值集合
34+
/// </summary>
35+
public ChangeValueCollection ChangeValues { get; }
2736
}

src/Util.Domain/ExtraPropertyDictionaryExtensions.cs

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
using System.Text.Json;
2-
using Util.Dates;
32
using Util.Domain.Extending;
43
using Util.Helpers;
54

6-
namespace Util.Domain;
5+
namespace Util.Domain;
76

87
/// <summary>
98
/// 扩展属性字典扩展
@@ -16,16 +15,10 @@ public static class ExtraPropertyDictionaryExtensions {
1615
/// <param name="name">属性名</param>
1716
public static TProperty GetProperty<TProperty>( this ExtraPropertyDictionary source, string name ) {
1817
source.CheckNull( nameof( source ) );
19-
if( source.ContainsKey( name ) == false )
18+
if ( source.TryGetValue( name, out var value ) == false )
2019
return default;
21-
var value = source[name];
22-
if( value is JsonElement element ) {
23-
var date = Util.Helpers.Convert.ToDateTimeOrNull( element.GetRawText().Trim( '"' ) );
24-
if( date != null )
25-
value = date;
26-
}
27-
if ( value is DateTime dateValue && TimeOptions.IsUseUtc )
28-
value = Time.UtcToLocalTime( dateValue );
20+
if ( value is JsonElement element )
21+
return Util.Helpers.Json.ToObject<TProperty>( Util.Helpers.Json.ToJson( element ) );
2922
return Util.Helpers.Convert.To<TProperty>( value );
3023
}
3124

@@ -40,7 +33,7 @@ public static ExtraPropertyDictionary SetProperty( this ExtraPropertyDictionary
4033
source.RemoveProperty( name );
4134
if ( value == null )
4235
return source;
43-
source[name] = GetPropertyValue(source,value);
36+
source[name] = GetPropertyValue( source, value );
4437
return source;
4538
}
4639

@@ -50,7 +43,7 @@ public static ExtraPropertyDictionary SetProperty( this ExtraPropertyDictionary
5043
private static object GetPropertyValue( ExtraPropertyDictionary source, object value ) {
5144
if ( value is string && source.IsTrimString )
5245
return value.SafeString();
53-
if ( value is DateTime dateValue && TimeOptions.IsUseUtc )
46+
if ( value is DateTime dateValue )
5447
return Time.Normalize( dateValue );
5548
return value;
5649
}
@@ -62,7 +55,7 @@ private static object GetPropertyValue( ExtraPropertyDictionary source, object v
6255
/// <param name="name">属性名</param>
6356
public static ExtraPropertyDictionary RemoveProperty( this ExtraPropertyDictionary source, string name ) {
6457
source.CheckNull( nameof( source ) );
65-
if( source.ContainsKey( name ) )
58+
if ( source.ContainsKey( name ) )
6659
source.Remove( name );
6760
return source;
6861
}

src/Util.Events.MediatR/03-Util.Events.MediatR.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
</ItemGroup>
2828

2929
<ItemGroup>
30-
<PackageReference Include="MediatR" Version="12.2.0" />
30+
<PackageReference Include="MediatR" Version="12.3.0" />
3131
</ItemGroup>
3232

3333
<ItemGroup>

0 commit comments

Comments
 (0)