From 4f8424adb6393dee3a5a461c517a2eddcf4ae359 Mon Sep 17 00:00:00 2001
From: MSuMshk <2039814060@qq.com>
Date: Thu, 29 Jan 2026 23:24:44 +0000
Subject: [PATCH] =?UTF-8?q?refactor:=20AdminApi=20=E5=89=94=E9=99=A4?=
=?UTF-8?q?=E7=A7=9F=E6=88=B7=E4=BE=A7=E8=83=BD=E5=8A=9B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
TakeoutSaaS.sln | 47 ----
.../Requests/FileUploadFormRequest.cs | 6 +
.../Controllers/AppAnnouncementsController.cs | 120 ----------
.../Controllers/AuthController.cs | 40 ----
.../Controllers/FilesController.cs | 15 +-
.../PlatformAnnouncementsController.cs | 31 +--
.../PublicTenantPackagesController.cs | 39 ----
.../PublicTenantSubscriptionsController.cs | 49 ----
.../Controllers/PublicTenantsController.cs | 76 ------
.../Controllers/RoleTemplatesController.cs | 46 ----
.../Controllers/StoreAuditsController.cs | 37 +--
.../StoreQualificationsController.cs | 23 +-
.../TenantAnnouncementsController.cs | 42 +---
.../Controllers/TenantsController.cs | 44 ----
.../Controllers/UserPermissionsController.cs | 75 ------
src/Api/TakeoutSaaS.AdminApi/Dockerfile | 1 -
.../Filters/TenantRouteContextFilter.cs | 66 ------
src/Api/TakeoutSaaS.AdminApi/Program.cs | 24 --
.../TakeoutSaaS.AdminApi.csproj | 1 -
.../Handlers/AdjustInventoryCommandHandler.cs | 21 +-
.../Handlers/DeductInventoryCommandHandler.cs | 6 +-
.../GetInventoryBatchesQueryHandler.cs | 7 +-
.../Handlers/GetInventoryItemQueryHandler.cs | 7 +-
.../Handlers/LockInventoryCommandHandler.cs | 6 +-
...easeExpiredInventoryLocksCommandHandler.cs | 7 +-
.../ReleaseInventoryCommandHandler.cs | 6 +-
.../UpsertInventoryBatchCommandHandler.cs | 15 +-
.../CreateTenantAdminResetLinkTokenCommand.cs | 15 --
.../Commands/ImpersonateTenantCommand.cs | 16 --
.../Commands/MarkAnnouncementAsReadCommand.cs | 22 --
.../Commands/PublishAnnouncementCommand.cs | 6 +
.../Commands/RevokeAnnouncementCommand.cs | 6 +
.../Commands/SelfRegisterTenantCommand.cs | 46 ----
.../App/Tenants/Dto/SelfRegisterResultDto.cs | 47 ----
.../App/Tenants/Dto/TenantProgressDto.cs | 42 ----
...TenantAdminResetLinkTokenCommandHandler.cs | 94 --------
.../CreateTenantManuallyCommandHandler.cs | 81 +++----
.../GetAnnouncementByIdQueryHandler.cs | 48 +---
.../GetPublicTenantPackagesQueryHandler.cs | 36 ---
.../Handlers/GetTenantProgressQueryHandler.cs | 39 ----
.../GetTenantsAnnouncementsQueryHandler.cs | 63 +----
.../GetUnreadAnnouncementsQueryHandler.cs | 76 ------
.../ImpersonateTenantCommandHandler.cs | 109 ---------
.../MarkAnnouncementAsReadCommandHandler.cs | 100 --------
.../PublishAnnouncementCommandHandler.cs | 4 +-
.../RevokeAnnouncementCommandHandler.cs | 4 +-
.../SelfRegisterTenantCommandHandler.cs | 142 ------------
.../Queries/GetAnnouncementByIdQuery.cs | 2 +-
.../Queries/GetPublicTenantPackagesQuery.cs | 21 --
.../Tenants/Queries/GetTenantProgressQuery.cs | 17 --
.../Queries/GetUnreadAnnouncementsQuery.cs | 21 --
.../AnnouncementTargetContextFactory.cs | 58 -----
.../App/Tenants/Targeting/TargetTypeFilter.cs | 218 ------------------
.../SelfRegisterTenantCommandValidator.cs | 22 --
.../Contracts/CreateDictionaryGroupRequest.cs | 5 +
.../Contracts/DictionaryBatchQueryRequest.cs | 5 +
.../Contracts/DictionaryGroupQuery.cs | 5 +
.../Services/DictionaryAppService.cs | 42 +---
.../Services/DictionaryCommandService.cs | 40 +---
.../Services/DictionaryImportExportService.cs | 43 ----
.../Services/DictionaryQueryService.cs | 51 ++--
.../Abstractions/IAdminAuthService.cs | 11 -
.../Identity/Abstractions/IMiniAuthService.cs | 13 --
.../Abstractions/IWeChatAuthService.cs | 36 ---
.../Commands/AssignUserRolesCommand.cs | 19 --
.../Commands/CopyRoleTemplateCommand.cs | 11 +
.../InitializeRoleTemplatesCommand.cs | 15 --
.../Identity/Contracts/WeChatLoginRequest.cs | 38 ---
.../IdentityServiceCollectionExtensions.cs | 8 +-
.../Handlers/AssignUserRolesCommandHandler.cs | 38 ---
...atchIdentityUserOperationCommandHandler.cs | 21 +-
.../BindRolePermissionsCommandHandler.cs | 20 +-
.../ChangeIdentityUserStatusCommandHandler.cs | 27 +--
.../CopyRoleTemplateCommandHandler.cs | 31 ++-
.../CreateIdentityUserCommandHandler.cs | 16 +-
.../Handlers/CreateRoleCommandHandler.cs | 24 +-
.../DeleteIdentityUserCommandHandler.cs | 25 +-
.../Handlers/DeleteRoleCommandHandler.cs | 19 +-
.../GetIdentityUserDetailQueryHandler.cs | 26 +--
.../GetUserPermissionsQueryHandler.cs | 89 -------
.../InitializeRoleTemplatesCommandHandler.cs | 62 -----
...ResetIdentityUserPasswordCommandHandler.cs | 27 +--
.../RestoreIdentityUserCommandHandler.cs | 23 +-
.../Handlers/RoleDetailQueryHandler.cs | 23 +-
.../SearchIdentityUsersQueryHandler.cs | 33 +--
.../Handlers/SearchRolesQueryHandler.cs | 24 +-
.../SearchUserPermissionsQueryHandler.cs | 132 -----------
.../UpdateIdentityUserCommandHandler.cs | 31 +--
.../Handlers/UpdateRoleCommandHandler.cs | 22 +-
.../Queries/GetUserPermissionsQuery.cs | 15 --
.../Queries/SearchUserPermissionsQuery.cs | 36 ---
.../Identity/Services/AdminAuthService.cs | 155 +------------
.../Identity/Services/MiniAuthService.cs | 148 ------------
.../Abstractions/IVerificationCodeService.cs | 19 --
.../Contracts/SendVerificationCodeRequest.cs | 27 ---
.../Contracts/SendVerificationCodeResponse.cs | 17 --
.../VerifyVerificationCodeRequest.cs | 25 --
.../SmsServiceCollectionExtensions.cs | 27 ---
.../Sms/Options/VerificationCodeOptions.cs | 33 ---
.../Sms/Services/VerificationCodeService.cs | 155 -------------
.../Storage/Contracts/DirectUploadRequest.cs | 7 +-
.../Storage/Contracts/UploadFileRequest.cs | 6 +
.../Storage/Services/FileStorageService.cs | 25 +-
.../Repositories/IInventoryRepository.cs | 16 +-
.../ITenantAnnouncementReadRepository.cs | 53 -----
.../ITenantAnnouncementRepository.cs | 27 ---
.../AppServiceCollectionExtensions.cs | 1 -
.../App/Persistence/TakeoutAdminDbContext.cs | 4 +-
.../App/Persistence/TakeoutAppDbContext.cs | 7 +-
.../TakeoutAppDesignTimeDbContextFactory.cs | 5 +-
.../App/Repositories/EfInventoryRepository.cs | 114 ++++++---
.../EfTenantAnnouncementReadRepository.cs | 68 ------
.../EfTenantAnnouncementRepository.cs | 57 -----
.../DesignTimeDbContextFactoryBase.cs | 19 +-
.../Persistence/TenantAwareDbContext.cs | 80 -------
.../Persistence/DictionaryDbContext.cs | 5 +-
.../DictionaryDesignTimeDbContextFactory.cs | 5 +-
.../Extensions/ServiceCollectionExtensions.cs | 16 --
.../Identity/Options/WeChatMiniOptions.cs | 21 --
.../Persistence/IdentityDataSeeder.cs | 58 +++--
.../Identity/Persistence/IdentityDbContext.cs | 7 +-
.../IdentityDesignTimeDbContextFactory.cs | 5 +-
.../Identity/Services/WeChatAuthService.cs | 79 -------
.../Logs/Persistence/TakeoutLogsDbContext.cs | 4 +-
.../TakeoutLogsDesignTimeDbContextFactory.cs | 5 +-
.../TenantServiceCollectionExtensions.cs | 34 ---
.../TakeoutSaaS.Module.Tenancy.csproj | 16 --
.../TenantContextAccessor.cs | 35 ---
.../TenantProvider.cs | 17 --
.../TenantResolutionMiddleware.cs | 177 --------------
.../TenantResolutionOptions.cs | 56 -----
.../GetAnnouncementByIdQueryHandlerTests.cs | 108 ++-------
...etTenantsAnnouncementsQueryHandlerTests.cs | 73 ++----
...GetUnreadAnnouncementsQueryHandlerTests.cs | 72 ------
.../App/Tenants/AnnouncementWorkflowTests.cs | 33 +--
.../Fixtures/DictionarySqliteTestDatabase.cs | 15 +-
.../Fixtures/SqliteTestDatabase.cs | 16 +-
.../Fixtures/TestIdGenerator.cs | 20 ++
.../AnnouncementQueryPerformanceTests.cs | 23 +-
139 files changed, 622 insertions(+), 4691 deletions(-)
delete mode 100644 src/Api/TakeoutSaaS.AdminApi/Controllers/AppAnnouncementsController.cs
delete mode 100644 src/Api/TakeoutSaaS.AdminApi/Controllers/PublicTenantPackagesController.cs
delete mode 100644 src/Api/TakeoutSaaS.AdminApi/Controllers/PublicTenantSubscriptionsController.cs
delete mode 100644 src/Api/TakeoutSaaS.AdminApi/Controllers/PublicTenantsController.cs
delete mode 100644 src/Api/TakeoutSaaS.AdminApi/Controllers/UserPermissionsController.cs
delete mode 100644 src/Api/TakeoutSaaS.AdminApi/Filters/TenantRouteContextFilter.cs
delete mode 100644 src/Application/TakeoutSaaS.Application/App/Tenants/Commands/CreateTenantAdminResetLinkTokenCommand.cs
delete mode 100644 src/Application/TakeoutSaaS.Application/App/Tenants/Commands/ImpersonateTenantCommand.cs
delete mode 100644 src/Application/TakeoutSaaS.Application/App/Tenants/Commands/MarkAnnouncementAsReadCommand.cs
delete mode 100644 src/Application/TakeoutSaaS.Application/App/Tenants/Commands/SelfRegisterTenantCommand.cs
delete mode 100644 src/Application/TakeoutSaaS.Application/App/Tenants/Dto/SelfRegisterResultDto.cs
delete mode 100644 src/Application/TakeoutSaaS.Application/App/Tenants/Dto/TenantProgressDto.cs
delete mode 100644 src/Application/TakeoutSaaS.Application/App/Tenants/Handlers/CreateTenantAdminResetLinkTokenCommandHandler.cs
delete mode 100644 src/Application/TakeoutSaaS.Application/App/Tenants/Handlers/GetPublicTenantPackagesQueryHandler.cs
delete mode 100644 src/Application/TakeoutSaaS.Application/App/Tenants/Handlers/GetTenantProgressQueryHandler.cs
delete mode 100644 src/Application/TakeoutSaaS.Application/App/Tenants/Handlers/GetUnreadAnnouncementsQueryHandler.cs
delete mode 100644 src/Application/TakeoutSaaS.Application/App/Tenants/Handlers/ImpersonateTenantCommandHandler.cs
delete mode 100644 src/Application/TakeoutSaaS.Application/App/Tenants/Handlers/MarkAnnouncementAsReadCommandHandler.cs
delete mode 100644 src/Application/TakeoutSaaS.Application/App/Tenants/Handlers/SelfRegisterTenantCommandHandler.cs
delete mode 100644 src/Application/TakeoutSaaS.Application/App/Tenants/Queries/GetPublicTenantPackagesQuery.cs
delete mode 100644 src/Application/TakeoutSaaS.Application/App/Tenants/Queries/GetTenantProgressQuery.cs
delete mode 100644 src/Application/TakeoutSaaS.Application/App/Tenants/Queries/GetUnreadAnnouncementsQuery.cs
delete mode 100644 src/Application/TakeoutSaaS.Application/App/Tenants/Targeting/AnnouncementTargetContextFactory.cs
delete mode 100644 src/Application/TakeoutSaaS.Application/App/Tenants/Targeting/TargetTypeFilter.cs
delete mode 100644 src/Application/TakeoutSaaS.Application/App/Tenants/Validators/SelfRegisterTenantCommandValidator.cs
delete mode 100644 src/Application/TakeoutSaaS.Application/Identity/Abstractions/IMiniAuthService.cs
delete mode 100644 src/Application/TakeoutSaaS.Application/Identity/Abstractions/IWeChatAuthService.cs
delete mode 100644 src/Application/TakeoutSaaS.Application/Identity/Commands/AssignUserRolesCommand.cs
delete mode 100644 src/Application/TakeoutSaaS.Application/Identity/Commands/InitializeRoleTemplatesCommand.cs
delete mode 100644 src/Application/TakeoutSaaS.Application/Identity/Contracts/WeChatLoginRequest.cs
delete mode 100644 src/Application/TakeoutSaaS.Application/Identity/Handlers/AssignUserRolesCommandHandler.cs
delete mode 100644 src/Application/TakeoutSaaS.Application/Identity/Handlers/GetUserPermissionsQueryHandler.cs
delete mode 100644 src/Application/TakeoutSaaS.Application/Identity/Handlers/InitializeRoleTemplatesCommandHandler.cs
delete mode 100644 src/Application/TakeoutSaaS.Application/Identity/Handlers/SearchUserPermissionsQueryHandler.cs
delete mode 100644 src/Application/TakeoutSaaS.Application/Identity/Queries/GetUserPermissionsQuery.cs
delete mode 100644 src/Application/TakeoutSaaS.Application/Identity/Queries/SearchUserPermissionsQuery.cs
delete mode 100644 src/Application/TakeoutSaaS.Application/Identity/Services/MiniAuthService.cs
delete mode 100644 src/Application/TakeoutSaaS.Application/Sms/Abstractions/IVerificationCodeService.cs
delete mode 100644 src/Application/TakeoutSaaS.Application/Sms/Contracts/SendVerificationCodeRequest.cs
delete mode 100644 src/Application/TakeoutSaaS.Application/Sms/Contracts/SendVerificationCodeResponse.cs
delete mode 100644 src/Application/TakeoutSaaS.Application/Sms/Contracts/VerifyVerificationCodeRequest.cs
delete mode 100644 src/Application/TakeoutSaaS.Application/Sms/Extensions/SmsServiceCollectionExtensions.cs
delete mode 100644 src/Application/TakeoutSaaS.Application/Sms/Options/VerificationCodeOptions.cs
delete mode 100644 src/Application/TakeoutSaaS.Application/Sms/Services/VerificationCodeService.cs
delete mode 100644 src/Domain/TakeoutSaaS.Domain/Tenants/Repositories/ITenantAnnouncementReadRepository.cs
delete mode 100644 src/Infrastructure/TakeoutSaaS.Infrastructure/App/Repositories/EfTenantAnnouncementReadRepository.cs
delete mode 100644 src/Infrastructure/TakeoutSaaS.Infrastructure/Common/Persistence/TenantAwareDbContext.cs
delete mode 100644 src/Infrastructure/TakeoutSaaS.Infrastructure/Identity/Options/WeChatMiniOptions.cs
delete mode 100644 src/Infrastructure/TakeoutSaaS.Infrastructure/Identity/Services/WeChatAuthService.cs
delete mode 100644 src/Modules/TakeoutSaaS.Module.Tenancy/Extensions/TenantServiceCollectionExtensions.cs
delete mode 100644 src/Modules/TakeoutSaaS.Module.Tenancy/TakeoutSaaS.Module.Tenancy.csproj
delete mode 100644 src/Modules/TakeoutSaaS.Module.Tenancy/TenantContextAccessor.cs
delete mode 100644 src/Modules/TakeoutSaaS.Module.Tenancy/TenantProvider.cs
delete mode 100644 src/Modules/TakeoutSaaS.Module.Tenancy/TenantResolutionMiddleware.cs
delete mode 100644 src/Modules/TakeoutSaaS.Module.Tenancy/TenantResolutionOptions.cs
delete mode 100644 tests/TakeoutSaaS.Application.Tests/App/Tenants/Handlers/GetUnreadAnnouncementsQueryHandlerTests.cs
create mode 100644 tests/TakeoutSaaS.Integration.Tests/Fixtures/TestIdGenerator.cs
diff --git a/TakeoutSaaS.sln b/TakeoutSaaS.sln
index 8e0b8a3..813aa37 100644
--- a/TakeoutSaaS.sln
+++ b/TakeoutSaaS.sln
@@ -31,8 +31,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Modules", "Modules", "{EC44
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TakeoutSaaS.Module.Authorization", "src\Modules\TakeoutSaaS.Module.Authorization\TakeoutSaaS.Module.Authorization.csproj", "{6CB8487D-5C74-487C-9D84-E57838BDA015}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TakeoutSaaS.Module.Tenancy", "src\Modules\TakeoutSaaS.Module.Tenancy\TakeoutSaaS.Module.Tenancy.csproj", "{5B1DAF2B-C36C-4CB1-9452-81D5D6F79D38}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TakeoutSaaS.Shared.Kernel", "TakeoutSaaS.BuildingBlocks\src\Core\TakeoutSaaS.Shared.Kernel\TakeoutSaaS.Shared.Kernel.csproj", "{BBC99B58-ECA8-42C3-9070-9AA058D778D3}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TakeoutSaaS.Module.Storage", "src\Modules\TakeoutSaaS.Module.Storage\TakeoutSaaS.Module.Storage.csproj", "{05058F44-6FB7-43AF-8648-8BF538E283EF}"
@@ -47,12 +45,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TakeoutSaaS.Module.Schedule
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TakeoutSaaS.Module.Sms", "src\Modules\TakeoutSaaS.Module.Sms\TakeoutSaaS.Module.Sms.csproj", "{38011EC3-7EC3-40E4-B9B2-E631966B350B}"
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{0AB3BF05-4346-4AA6-1389-037BE0695223}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TakeoutSaaS.Application.Tests", "tests\TakeoutSaaS.Application.Tests\TakeoutSaaS.Application.Tests.csproj", "{2601637E-777A-4FA2-81BA-1AFE32E961FF}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TakeoutSaaS.Integration.Tests", "tests\TakeoutSaaS.Integration.Tests\TakeoutSaaS.Integration.Tests.csproj", "{8179CA95-33F8-45F2-BA29-9B1CC7D1E7CB}"
-EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -147,18 +139,6 @@ Global
{6CB8487D-5C74-487C-9D84-E57838BDA015}.Release|x64.Build.0 = Release|Any CPU
{6CB8487D-5C74-487C-9D84-E57838BDA015}.Release|x86.ActiveCfg = Release|Any CPU
{6CB8487D-5C74-487C-9D84-E57838BDA015}.Release|x86.Build.0 = Release|Any CPU
- {5B1DAF2B-C36C-4CB1-9452-81D5D6F79D38}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {5B1DAF2B-C36C-4CB1-9452-81D5D6F79D38}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {5B1DAF2B-C36C-4CB1-9452-81D5D6F79D38}.Debug|x64.ActiveCfg = Debug|Any CPU
- {5B1DAF2B-C36C-4CB1-9452-81D5D6F79D38}.Debug|x64.Build.0 = Debug|Any CPU
- {5B1DAF2B-C36C-4CB1-9452-81D5D6F79D38}.Debug|x86.ActiveCfg = Debug|Any CPU
- {5B1DAF2B-C36C-4CB1-9452-81D5D6F79D38}.Debug|x86.Build.0 = Debug|Any CPU
- {5B1DAF2B-C36C-4CB1-9452-81D5D6F79D38}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {5B1DAF2B-C36C-4CB1-9452-81D5D6F79D38}.Release|Any CPU.Build.0 = Release|Any CPU
- {5B1DAF2B-C36C-4CB1-9452-81D5D6F79D38}.Release|x64.ActiveCfg = Release|Any CPU
- {5B1DAF2B-C36C-4CB1-9452-81D5D6F79D38}.Release|x64.Build.0 = Release|Any CPU
- {5B1DAF2B-C36C-4CB1-9452-81D5D6F79D38}.Release|x86.ActiveCfg = Release|Any CPU
- {5B1DAF2B-C36C-4CB1-9452-81D5D6F79D38}.Release|x86.Build.0 = Release|Any CPU
{BBC99B58-ECA8-42C3-9070-9AA058D778D3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BBC99B58-ECA8-42C3-9070-9AA058D778D3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BBC99B58-ECA8-42C3-9070-9AA058D778D3}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -243,30 +223,6 @@ Global
{38011EC3-7EC3-40E4-B9B2-E631966B350B}.Release|x64.Build.0 = Release|Any CPU
{38011EC3-7EC3-40E4-B9B2-E631966B350B}.Release|x86.ActiveCfg = Release|Any CPU
{38011EC3-7EC3-40E4-B9B2-E631966B350B}.Release|x86.Build.0 = Release|Any CPU
- {2601637E-777A-4FA2-81BA-1AFE32E961FF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {2601637E-777A-4FA2-81BA-1AFE32E961FF}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {2601637E-777A-4FA2-81BA-1AFE32E961FF}.Debug|x64.ActiveCfg = Debug|Any CPU
- {2601637E-777A-4FA2-81BA-1AFE32E961FF}.Debug|x64.Build.0 = Debug|Any CPU
- {2601637E-777A-4FA2-81BA-1AFE32E961FF}.Debug|x86.ActiveCfg = Debug|Any CPU
- {2601637E-777A-4FA2-81BA-1AFE32E961FF}.Debug|x86.Build.0 = Debug|Any CPU
- {2601637E-777A-4FA2-81BA-1AFE32E961FF}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {2601637E-777A-4FA2-81BA-1AFE32E961FF}.Release|Any CPU.Build.0 = Release|Any CPU
- {2601637E-777A-4FA2-81BA-1AFE32E961FF}.Release|x64.ActiveCfg = Release|Any CPU
- {2601637E-777A-4FA2-81BA-1AFE32E961FF}.Release|x64.Build.0 = Release|Any CPU
- {2601637E-777A-4FA2-81BA-1AFE32E961FF}.Release|x86.ActiveCfg = Release|Any CPU
- {2601637E-777A-4FA2-81BA-1AFE32E961FF}.Release|x86.Build.0 = Release|Any CPU
- {8179CA95-33F8-45F2-BA29-9B1CC7D1E7CB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {8179CA95-33F8-45F2-BA29-9B1CC7D1E7CB}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {8179CA95-33F8-45F2-BA29-9B1CC7D1E7CB}.Debug|x64.ActiveCfg = Debug|Any CPU
- {8179CA95-33F8-45F2-BA29-9B1CC7D1E7CB}.Debug|x64.Build.0 = Debug|Any CPU
- {8179CA95-33F8-45F2-BA29-9B1CC7D1E7CB}.Debug|x86.ActiveCfg = Debug|Any CPU
- {8179CA95-33F8-45F2-BA29-9B1CC7D1E7CB}.Debug|x86.Build.0 = Debug|Any CPU
- {8179CA95-33F8-45F2-BA29-9B1CC7D1E7CB}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {8179CA95-33F8-45F2-BA29-9B1CC7D1E7CB}.Release|Any CPU.Build.0 = Release|Any CPU
- {8179CA95-33F8-45F2-BA29-9B1CC7D1E7CB}.Release|x64.ActiveCfg = Release|Any CPU
- {8179CA95-33F8-45F2-BA29-9B1CC7D1E7CB}.Release|x64.Build.0 = Release|Any CPU
- {8179CA95-33F8-45F2-BA29-9B1CC7D1E7CB}.Release|x86.ActiveCfg = Release|Any CPU
- {8179CA95-33F8-45F2-BA29-9B1CC7D1E7CB}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -285,7 +241,6 @@ Global
{80B45C7D-9423-400A-8279-40D95BFEBC9D} = {9048EB7F-3875-A59E-E36B-5BD4C6F2A282}
{EC447DCF-ABFA-6E24-52A5-D7FD48A5C558} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B}
{6CB8487D-5C74-487C-9D84-E57838BDA015} = {EC447DCF-ABFA-6E24-52A5-D7FD48A5C558}
- {5B1DAF2B-C36C-4CB1-9452-81D5D6F79D38} = {EC447DCF-ABFA-6E24-52A5-D7FD48A5C558}
{BBC99B58-ECA8-42C3-9070-9AA058D778D3} = {8D626EA8-CB54-BC41-363A-217881BEBA6E}
{05058F44-6FB7-43AF-8648-8BF538E283EF} = {EC447DCF-ABFA-6E24-52A5-D7FD48A5C558}
{5C12177E-6C25-4F78-BFD4-AA073CFC0650} = {EC447DCF-ABFA-6E24-52A5-D7FD48A5C558}
@@ -293,7 +248,5 @@ Global
{FE49A9E7-1228-45BA-9B71-337AA353FE98} = {EC447DCF-ABFA-6E24-52A5-D7FD48A5C558}
{9C2F510E-4054-482D-AFD3-D2E374D60304} = {EC447DCF-ABFA-6E24-52A5-D7FD48A5C558}
{38011EC3-7EC3-40E4-B9B2-E631966B350B} = {EC447DCF-ABFA-6E24-52A5-D7FD48A5C558}
- {2601637E-777A-4FA2-81BA-1AFE32E961FF} = {0AB3BF05-4346-4AA6-1389-037BE0695223}
- {8179CA95-33F8-45F2-BA29-9B1CC7D1E7CB} = {0AB3BF05-4346-4AA6-1389-037BE0695223}
EndGlobalSection
EndGlobal
diff --git a/src/Api/TakeoutSaaS.AdminApi/Contracts/Requests/FileUploadFormRequest.cs b/src/Api/TakeoutSaaS.AdminApi/Contracts/Requests/FileUploadFormRequest.cs
index 056faa3..15f3d85 100644
--- a/src/Api/TakeoutSaaS.AdminApi/Contracts/Requests/FileUploadFormRequest.cs
+++ b/src/Api/TakeoutSaaS.AdminApi/Contracts/Requests/FileUploadFormRequest.cs
@@ -13,6 +13,12 @@ public sealed record FileUploadFormRequest
///
[Required]
public required IFormFile File { get; init; }
+
+ ///
+ /// 租户 ID(0 表示平台)。
+ ///
+ [Required]
+ public long? TenantId { get; init; }
///
/// 上传类型。
///
diff --git a/src/Api/TakeoutSaaS.AdminApi/Controllers/AppAnnouncementsController.cs b/src/Api/TakeoutSaaS.AdminApi/Controllers/AppAnnouncementsController.cs
deleted file mode 100644
index eec915a..0000000
--- a/src/Api/TakeoutSaaS.AdminApi/Controllers/AppAnnouncementsController.cs
+++ /dev/null
@@ -1,120 +0,0 @@
-using MediatR;
-using Microsoft.AspNetCore.Authorization;
-using Microsoft.AspNetCore.Mvc;
-using Swashbuckle.AspNetCore.Annotations;
-using TakeoutSaaS.Application.App.Tenants.Commands;
-using TakeoutSaaS.Application.App.Tenants.Dto;
-using TakeoutSaaS.Application.App.Tenants.Queries;
-using TakeoutSaaS.Domain.Tenants.Enums;
-using TakeoutSaaS.Shared.Abstractions.Results;
-using TakeoutSaaS.Shared.Web.Api;
-
-namespace TakeoutSaaS.AdminApi.Controllers;
-
-///
-/// 应用端公告(面向已认证用户)。
-///
-[ApiVersion("1.0")]
-[Authorize]
-[Route("api/app/announcements")]
-public sealed class AppAnnouncementsController(IMediator mediator) : BaseApiController
-{
- ///
- /// 获取当前用户可见的公告列表(已发布/有效期内)。
- ///
- ///
- /// 示例:
- ///
- /// GET /api/app/announcements?page=1&pageSize=20
- /// Header: Authorization: Bearer <JWT>
- /// 响应:
- /// {
- /// "success": true,
- /// "code": 200,
- /// "data": {
- /// "items": [],
- /// "page": 1,
- /// "pageSize": 20,
- /// "totalCount": 0
- /// }
- /// }
- ///
- ///
- [HttpGet]
- [SwaggerOperation(Summary = "获取可见公告列表", Description = "仅返回已发布且在有效期内的公告(含平台公告)。")]
- [ProducesResponseType(typeof(ApiResponse>), StatusCodes.Status200OK)]
- [ProducesResponseType(typeof(ApiResponse