From 7e130c7ae0bc772b055259b22c3c137fc723bbd6 Mon Sep 17 00:00:00 2001
From: MSuMshk <2039814060@qq.com>
Date: Sat, 27 Dec 2025 10:36:13 +0800
Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E9=99=A4=20AutoMapper=20=E4=BE=9D?=
=?UTF-8?q?=E8=B5=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../App/Billings/Mappings/BillingProfile.cs | 66 -------------------
...pApplicationServiceCollectionExtensions.cs | 3 -
.../TakeoutSaaS.Application.csproj | 2 -
3 files changed, 71 deletions(-)
delete mode 100644 src/Application/TakeoutSaaS.Application/App/Billings/Mappings/BillingProfile.cs
diff --git a/src/Application/TakeoutSaaS.Application/App/Billings/Mappings/BillingProfile.cs b/src/Application/TakeoutSaaS.Application/App/Billings/Mappings/BillingProfile.cs
deleted file mode 100644
index 3b3a25b..0000000
--- a/src/Application/TakeoutSaaS.Application/App/Billings/Mappings/BillingProfile.cs
+++ /dev/null
@@ -1,66 +0,0 @@
-using AutoMapper;
-using System.Text.Json;
-using TakeoutSaaS.Application.App.Billings.Dto;
-using TakeoutSaaS.Domain.Tenants.Entities;
-using TakeoutSaaS.Domain.Tenants.Enums;
-
-namespace TakeoutSaaS.Application.App.Billings.Mappings;
-
-///
-/// 账单模块 AutoMapper Profile。
-///
-public sealed class BillingProfile : Profile
-{
- ///
- /// 初始化映射配置。
- ///
- public BillingProfile()
- {
- // 1. 账单实体 -> 列表 DTO
- CreateMap()
- .ForMember(x => x.TenantName, opt => opt.Ignore())
- .ForMember(x => x.TotalAmount, opt => opt.MapFrom(src => src.CalculateTotalAmount()))
- .ForMember(x => x.IsOverdue, opt => opt.MapFrom(src =>
- src.Status == TenantBillingStatus.Overdue
- || (src.Status == TenantBillingStatus.Pending && src.DueDate < DateTime.UtcNow)))
- .ForMember(x => x.OverdueDays, opt => opt.MapFrom(src =>
- src.DueDate < DateTime.UtcNow ? (int)(DateTime.UtcNow - src.DueDate).TotalDays : 0));
-
- // 2. (空行后) 账单实体 -> 详情 DTO
- CreateMap()
- .ForMember(x => x.TenantName, opt => opt.Ignore())
- .ForMember(x => x.TotalAmount, opt => opt.MapFrom(src => src.CalculateTotalAmount()))
- .ForMember(x => x.LineItemsJson, opt => opt.MapFrom(src => src.LineItemsJson))
- .ForMember(x => x.LineItems, opt => opt.MapFrom(src => DeserializeLineItems(src.LineItemsJson)))
- .ForMember(x => x.Payments, opt => opt.Ignore());
-
- // 3. (空行后) 账单实体 -> 导出 DTO
- CreateMap()
- .ForMember(x => x.TenantName, opt => opt.Ignore())
- .ForMember(x => x.TotalAmount, opt => opt.MapFrom(src => src.CalculateTotalAmount()))
- .ForMember(x => x.LineItems, opt => opt.MapFrom(src => DeserializeLineItems(src.LineItemsJson)));
-
- // 4. (空行后) 支付实体 -> 支付记录 DTO
- CreateMap()
- .ForMember(x => x.BillingId, opt => opt.MapFrom(src => src.BillingStatementId))
- .ForMember(x => x.IsVerified, opt => opt.MapFrom(src => src.VerifiedAt.HasValue));
- }
-
- private static IReadOnlyList DeserializeLineItems(string? json)
- {
- if (string.IsNullOrWhiteSpace(json))
- {
- return [];
- }
-
- try
- {
- return JsonSerializer.Deserialize>(json) ?? [];
- }
- catch
- {
- return [];
- }
- }
-}
-
diff --git a/src/Application/TakeoutSaaS.Application/App/Extensions/AppApplicationServiceCollectionExtensions.cs b/src/Application/TakeoutSaaS.Application/App/Extensions/AppApplicationServiceCollectionExtensions.cs
index 1fd8435..8f2944e 100644
--- a/src/Application/TakeoutSaaS.Application/App/Extensions/AppApplicationServiceCollectionExtensions.cs
+++ b/src/Application/TakeoutSaaS.Application/App/Extensions/AppApplicationServiceCollectionExtensions.cs
@@ -20,9 +20,6 @@ public static class AppApplicationServiceCollectionExtensions
{
services.AddMediatR(cfg => cfg.RegisterServicesFromAssembly(Assembly.GetExecutingAssembly()));
services.AddValidatorsFromAssembly(Assembly.GetExecutingAssembly());
-
- // (空行后) 注册 AutoMapper Profile
- services.AddAutoMapper(Assembly.GetExecutingAssembly());
services.AddTransient(typeof(IPipelineBehavior<,>), typeof(ValidationBehavior<,>));
return services;
diff --git a/src/Application/TakeoutSaaS.Application/TakeoutSaaS.Application.csproj b/src/Application/TakeoutSaaS.Application/TakeoutSaaS.Application.csproj
index 8d09840..f8b5ffd 100644
--- a/src/Application/TakeoutSaaS.Application/TakeoutSaaS.Application.csproj
+++ b/src/Application/TakeoutSaaS.Application/TakeoutSaaS.Application.csproj
@@ -9,8 +9,6 @@
-
-