From 5332c87d9da94aac6101837ffb82b2324979f049 Mon Sep 17 00:00:00 2001
From: MSuMshk <2039814060@qq.com>
Date: Tue, 2 Dec 2025 12:11:25 +0800
Subject: [PATCH] =?UTF-8?q?chore:=20=E6=8F=90=E4=BA=A4=E7=8E=B0=E6=9C=89?=
=?UTF-8?q?=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Controllers/AuthController.cs | 21 ++--
.../Controllers/DictionaryController.cs | 31 +++---
.../Controllers/AuthController.cs | 19 ++--
.../Controllers/MeController.cs | 17 ++-
.../Services/DictionaryAppService.cs | 80 ++++++--------
.../Contracts/SendVerificationCodeRequest.cs | 21 ++--
.../VerifyVerificationCodeRequest.cs | 21 ++--
.../Storage/Contracts/DirectUploadRequest.cs | 27 ++---
.../Storage/Contracts/UploadFileRequest.cs | 42 +++-----
.../Exceptions/BusinessException.cs | 9 +-
.../Exceptions/ValidationException.cs | 10 +-
.../Results/PagedResult.cs | 27 ++---
.../Tenancy/TenantContext.cs | 27 ++---
.../Ids/SnowflakeIdGenerator.cs | 24 ++---
.../Middleware/CorrelationIdMiddleware.cs | 19 +---
.../Middleware/ExceptionHandlingMiddleware.cs | 19 +---
.../Middleware/RequestLoggingMiddleware.cs | 14 +--
.../HttpContextCurrentUserAccessor.cs | 15 +--
.../Swagger/ConfigureSwaggerOptions.cs | 17 +--
.../App/Persistence/AppDataSeeder.cs | 50 ++++-----
.../App/Repositories/EfDeliveryRepository.cs | 37 +++----
.../App/Repositories/EfMerchantRepository.cs | 39 +++----
.../App/Repositories/EfOrderRepository.cs | 53 +++++----
.../App/Repositories/EfPaymentRepository.cs | 37 +++----
.../App/Repositories/EfProductRepository.cs | 101 +++++++++---------
.../App/Repositories/EfStoreRepository.cs | 51 ++++-----
.../Repositories/EfDictionaryRepository.cs | 30 +++---
.../Services/DistributedDictionaryCache.cs | 17 +--
.../Persistence/EfIdentityUserRepository.cs | 12 +--
.../Persistence/EfMiniUserRepository.cs | 18 ++--
.../Services/RedisLoginRateLimiter.cs | 17 +--
.../Services/RedisRefreshTokenStore.cs | 17 +--
.../Identity/Services/WeChatAuthService.cs | 13 +--
.../Models/StorageDirectUploadRequest.cs | 32 +++---
.../Models/StorageUploadRequest.cs | 64 +++++------
.../TenantProvider.cs | 17 ++-
.../TenantResolutionMiddleware.cs | 41 +++----
37 files changed, 429 insertions(+), 677 deletions(-)
diff --git a/src/Api/TakeoutSaaS.AdminApi/Controllers/AuthController.cs b/src/Api/TakeoutSaaS.AdminApi/Controllers/AuthController.cs
index 962ee57..b406c49 100644
--- a/src/Api/TakeoutSaaS.AdminApi/Controllers/AuthController.cs
+++ b/src/Api/TakeoutSaaS.AdminApi/Controllers/AuthController.cs
@@ -17,21 +17,16 @@ namespace TakeoutSaaS.AdminApi.Controllers;
///
/// 管理后台认证接口
///
+///
+///
+///
+///
[ApiVersion("1.0")]
[Authorize]
[Route("api/admin/v{version:apiVersion}/auth")]
-public sealed class AuthController : BaseApiController
+public sealed class AuthController(IAdminAuthService authService) : BaseApiController
{
- private readonly IAdminAuthService _authService;
- ///
- ///
- ///
- ///
- public AuthController(IAdminAuthService authService)
- {
- _authService = authService;
- }
///
/// 登录获取 Token
@@ -41,7 +36,7 @@ public sealed class AuthController : BaseApiController
[ProducesResponseType(typeof(ApiResponse), StatusCodes.Status200OK)]
public async Task> Login([FromBody] AdminLoginRequest request, CancellationToken cancellationToken)
{
- var response = await _authService.LoginAsync(request, cancellationToken);
+ var response = await authService.LoginAsync(request, cancellationToken);
return ApiResponse.Ok(response);
}
@@ -53,7 +48,7 @@ public sealed class AuthController : BaseApiController
[ProducesResponseType(typeof(ApiResponse), StatusCodes.Status200OK)]
public async Task> RefreshToken([FromBody] RefreshTokenRequest request, CancellationToken cancellationToken)
{
- var response = await _authService.RefreshTokenAsync(request, cancellationToken);
+ var response = await authService.RefreshTokenAsync(request, cancellationToken);
return ApiResponse.Ok(response);
}
@@ -72,7 +67,7 @@ public sealed class AuthController : BaseApiController
return ApiResponse.Error(ErrorCodes.Unauthorized, "Token 缺少有效的用户标识");
}
- var profile = await _authService.GetProfileAsync(userId, cancellationToken);
+ var profile = await authService.GetProfileAsync(userId, cancellationToken);
return ApiResponse.Ok(profile);
}
}
diff --git a/src/Api/TakeoutSaaS.AdminApi/Controllers/DictionaryController.cs b/src/Api/TakeoutSaaS.AdminApi/Controllers/DictionaryController.cs
index f63c273..d98e420 100644
--- a/src/Api/TakeoutSaaS.AdminApi/Controllers/DictionaryController.cs
+++ b/src/Api/TakeoutSaaS.AdminApi/Controllers/DictionaryController.cs
@@ -12,21 +12,16 @@ namespace TakeoutSaaS.AdminApi.Controllers;
///
/// 参数字典管理。
///
+///
+/// 初始化字典控制器。
+///
+/// 字典服务
[ApiVersion("1.0")]
[Authorize]
[Route("api/admin/v{version:apiVersion}/dictionaries")]
-public sealed class DictionaryController : BaseApiController
+public sealed class DictionaryController(IDictionaryAppService dictionaryAppService) : BaseApiController
{
- private readonly IDictionaryAppService _dictionaryAppService;
- ///
- /// 初始化字典控制器。
- ///
- /// 字典服务
- public DictionaryController(IDictionaryAppService dictionaryAppService)
- {
- _dictionaryAppService = dictionaryAppService;
- }
///
/// 查询字典分组。
@@ -36,7 +31,7 @@ public sealed class DictionaryController : BaseApiController
[ProducesResponseType(typeof(ApiResponse>), StatusCodes.Status200OK)]
public async Task>> GetGroups([FromQuery] DictionaryGroupQuery query, CancellationToken cancellationToken)
{
- var groups = await _dictionaryAppService.SearchGroupsAsync(query, cancellationToken);
+ var groups = await dictionaryAppService.SearchGroupsAsync(query, cancellationToken);
return ApiResponse>.Ok(groups);
}
@@ -48,7 +43,7 @@ public sealed class DictionaryController : BaseApiController
[ProducesResponseType(typeof(ApiResponse), StatusCodes.Status200OK)]
public async Task> CreateGroup([FromBody] CreateDictionaryGroupRequest request, CancellationToken cancellationToken)
{
- var group = await _dictionaryAppService.CreateGroupAsync(request, cancellationToken);
+ var group = await dictionaryAppService.CreateGroupAsync(request, cancellationToken);
return ApiResponse.Ok(group);
}
@@ -60,7 +55,7 @@ public sealed class DictionaryController : BaseApiController
[ProducesResponseType(typeof(ApiResponse), StatusCodes.Status200OK)]
public async Task> UpdateGroup(long groupId, [FromBody] UpdateDictionaryGroupRequest request, CancellationToken cancellationToken)
{
- var group = await _dictionaryAppService.UpdateGroupAsync(groupId, request, cancellationToken);
+ var group = await dictionaryAppService.UpdateGroupAsync(groupId, request, cancellationToken);
return ApiResponse.Ok(group);
}
@@ -72,7 +67,7 @@ public sealed class DictionaryController : BaseApiController
[ProducesResponseType(typeof(ApiResponse