From a201880628e55f8de2603931d7cc5097c696c8dd Mon Sep 17 00:00:00 2001 From: enisn Date: Mon, 1 Sep 2025 16:49:07 +0300 Subject: [PATCH 1/2] Replace AutoMapper with Mapperly for BackgroundJobs Module --- .../Volo.Abp.BackgroundJobs.Domain.csproj | 2 +- .../AbpBackgroundJobsDomainModule.cs | 11 +++--- .../BackgroundJobsDomainAutoMapperProfile.cs | 17 --------- .../BackgroundJobsDomainMapperlyMappers.cs | 35 +++++++++++++++++++ 4 files changed, 40 insertions(+), 25 deletions(-) delete mode 100644 modules/background-jobs/src/Volo.Abp.BackgroundJobs.Domain/Volo/Abp/BackgroundJobs/BackgroundJobsDomainAutoMapperProfile.cs create mode 100644 modules/background-jobs/src/Volo.Abp.BackgroundJobs.Domain/Volo/Abp/BackgroundJobs/BackgroundJobsDomainMapperlyMappers.cs diff --git a/modules/background-jobs/src/Volo.Abp.BackgroundJobs.Domain/Volo.Abp.BackgroundJobs.Domain.csproj b/modules/background-jobs/src/Volo.Abp.BackgroundJobs.Domain/Volo.Abp.BackgroundJobs.Domain.csproj index 9a23652a5a..2a35994fe6 100644 --- a/modules/background-jobs/src/Volo.Abp.BackgroundJobs.Domain/Volo.Abp.BackgroundJobs.Domain.csproj +++ b/modules/background-jobs/src/Volo.Abp.BackgroundJobs.Domain/Volo.Abp.BackgroundJobs.Domain.csproj @@ -10,7 +10,7 @@ - + diff --git a/modules/background-jobs/src/Volo.Abp.BackgroundJobs.Domain/Volo/Abp/BackgroundJobs/AbpBackgroundJobsDomainModule.cs b/modules/background-jobs/src/Volo.Abp.BackgroundJobs.Domain/Volo/Abp/BackgroundJobs/AbpBackgroundJobsDomainModule.cs index 1a551ef7c4..3342deb794 100644 --- a/modules/background-jobs/src/Volo.Abp.BackgroundJobs.Domain/Volo/Abp/BackgroundJobs/AbpBackgroundJobsDomainModule.cs +++ b/modules/background-jobs/src/Volo.Abp.BackgroundJobs.Domain/Volo/Abp/BackgroundJobs/AbpBackgroundJobsDomainModule.cs @@ -1,5 +1,5 @@ using Microsoft.Extensions.DependencyInjection; -using Volo.Abp.AutoMapper; +using Volo.Abp.Mapperly; using Volo.Abp.Modularity; namespace Volo.Abp.BackgroundJobs; @@ -7,16 +7,13 @@ namespace Volo.Abp.BackgroundJobs; [DependsOn( typeof(AbpBackgroundJobsDomainSharedModule), typeof(AbpBackgroundJobsModule), - typeof(AbpAutoMapperModule) + typeof(AbpMapperlyModule) )] public class AbpBackgroundJobsDomainModule : AbpModule { public override void ConfigureServices(ServiceConfigurationContext context) { - context.Services.AddAutoMapperObjectMapper(); - Configure(options => - { - options.AddProfile(validate: true); - }); + context.Services.AddMapperlyObjectMapper(); + } } diff --git a/modules/background-jobs/src/Volo.Abp.BackgroundJobs.Domain/Volo/Abp/BackgroundJobs/BackgroundJobsDomainAutoMapperProfile.cs b/modules/background-jobs/src/Volo.Abp.BackgroundJobs.Domain/Volo/Abp/BackgroundJobs/BackgroundJobsDomainAutoMapperProfile.cs deleted file mode 100644 index 67891f4f91..0000000000 --- a/modules/background-jobs/src/Volo.Abp.BackgroundJobs.Domain/Volo/Abp/BackgroundJobs/BackgroundJobsDomainAutoMapperProfile.cs +++ /dev/null @@ -1,17 +0,0 @@ -using AutoMapper; -using Volo.Abp.AutoMapper; - -namespace Volo.Abp.BackgroundJobs; - -public class BackgroundJobsDomainAutoMapperProfile : Profile -{ - public BackgroundJobsDomainAutoMapperProfile() - { - CreateMap() - .ConstructUsing(x => new BackgroundJobRecord(x.Id)) - .Ignore(record => record.ConcurrencyStamp) - .Ignore(record => record.ExtraProperties); - - CreateMap(); - } -} diff --git a/modules/background-jobs/src/Volo.Abp.BackgroundJobs.Domain/Volo/Abp/BackgroundJobs/BackgroundJobsDomainMapperlyMappers.cs b/modules/background-jobs/src/Volo.Abp.BackgroundJobs.Domain/Volo/Abp/BackgroundJobs/BackgroundJobsDomainMapperlyMappers.cs new file mode 100644 index 0000000000..c9758459f3 --- /dev/null +++ b/modules/background-jobs/src/Volo.Abp.BackgroundJobs.Domain/Volo/Abp/BackgroundJobs/BackgroundJobsDomainMapperlyMappers.cs @@ -0,0 +1,35 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using Riok.Mapperly.Abstractions; +using Volo.Abp.Mapperly; + +namespace Volo.Abp.BackgroundJobs; + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +public partial class BackgroundJobInfoToBackgroundJobRecordMapper + : MapperBase +{ + [MapperIgnoreTarget(nameof(BackgroundJobRecord.ConcurrencyStamp))] + [MapperIgnoreTarget(nameof(BackgroundJobRecord.ExtraProperties))] + public override partial BackgroundJobRecord Map(BackgroundJobInfo source); + + [MapperIgnoreTarget(nameof(BackgroundJobRecord.ConcurrencyStamp))] + public override partial void Map(BackgroundJobInfo source, BackgroundJobRecord destination); + + [ObjectFactory] + protected BackgroundJobRecord CreateBackgroundJobRecord(BackgroundJobInfo source) + { + return new BackgroundJobRecord(source.Id); + } +} + +[Mapper(RequiredMappingStrategy = RequiredMappingStrategy.Target)] +public partial class BackgroundJobRecordToBackgroundJobInfoMapper + : MapperBase +{ + public override partial BackgroundJobInfo Map(BackgroundJobRecord source); + + public override partial void Map(BackgroundJobRecord source, BackgroundJobInfo destination); +} \ No newline at end of file From 008e1a06ae47064379116732876c926a60204a51 Mon Sep 17 00:00:00 2001 From: Ma Liming Date: Mon, 1 Sep 2025 21:54:33 +0800 Subject: [PATCH 2/2] Add MapperIgnoreTarget for ExtraProperties in mapping --- .../Abp/BackgroundJobs/BackgroundJobsDomainMapperlyMappers.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/background-jobs/src/Volo.Abp.BackgroundJobs.Domain/Volo/Abp/BackgroundJobs/BackgroundJobsDomainMapperlyMappers.cs b/modules/background-jobs/src/Volo.Abp.BackgroundJobs.Domain/Volo/Abp/BackgroundJobs/BackgroundJobsDomainMapperlyMappers.cs index c9758459f3..9ac5cef9bf 100644 --- a/modules/background-jobs/src/Volo.Abp.BackgroundJobs.Domain/Volo/Abp/BackgroundJobs/BackgroundJobsDomainMapperlyMappers.cs +++ b/modules/background-jobs/src/Volo.Abp.BackgroundJobs.Domain/Volo/Abp/BackgroundJobs/BackgroundJobsDomainMapperlyMappers.cs @@ -16,6 +16,7 @@ public partial class BackgroundJobInfoToBackgroundJobRecordMapper public override partial BackgroundJobRecord Map(BackgroundJobInfo source); [MapperIgnoreTarget(nameof(BackgroundJobRecord.ConcurrencyStamp))] + [MapperIgnoreTarget(nameof(BackgroundJobRecord.ExtraProperties))] public override partial void Map(BackgroundJobInfo source, BackgroundJobRecord destination); [ObjectFactory] @@ -32,4 +33,4 @@ public partial class BackgroundJobRecordToBackgroundJobInfoMapper public override partial BackgroundJobInfo Map(BackgroundJobRecord source); public override partial void Map(BackgroundJobRecord source, BackgroundJobInfo destination); -} \ No newline at end of file +}