From fc55003d3d2a84364cb7b37394f08a8fb982f4bd Mon Sep 17 00:00:00 2001
From: MSuMshk <2039814060@qq.com>
Date: Thu, 1 Jan 2026 07:26:14 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E9=97=A8=E5=BA=97=E7=AE=A1?=
=?UTF-8?q?=E7=90=86=E5=90=8E=E7=AB=AF=E6=8E=A5=E5=8F=A3=E4=B8=8E=E4=BB=BB?=
=?UTF-8?q?=E5=8A=A1?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Controllers/StoreAuditsController.cs | 222 +
.../StoreQualificationsController.cs | 60 +
.../Controllers/StoresController.cs | 256 +
.../Commands/ApproveStoreCommand.cs | 20 +
.../Commands/ForceCloseStoreCommand.cs | 25 +
.../Commands/RejectStoreCommand.cs | 30 +
.../Commands/ReopenStoreCommand.cs | 20 +
.../StoreAudits/Dto/PendingStoreAuditDto.cs | 84 +
.../Dto/StoreAuditActionResultDto.cs | 37 +
.../Dto/StoreAuditDailyTrendDto.cs | 27 +
.../StoreAudits/Dto/StoreAuditDetailDto.cs | 34 +
.../StoreAudits/Dto/StoreAuditMerchantDto.cs | 31 +
.../StoreAudits/Dto/StoreAuditRecordDto.cs | 69 +
.../Dto/StoreAuditStatisticsDto.cs | 37 +
.../App/StoreAudits/Dto/StoreAuditStoreDto.cs | 82 +
.../StoreAudits/Dto/StoreAuditTenantDto.cs | 31 +
.../Handlers/ApproveStoreCommandHandler.cs | 158 +
.../Handlers/ForceCloseStoreCommandHandler.cs | 161 +
.../GetStoreAuditDetailQueryHandler.cs | 322 +
.../GetStoreAuditStatisticsQueryHandler.cs | 279 +
.../ListPendingStoreAuditsQueryHandler.cs | 250 +
.../ListStoreAuditRecordsQueryHandler.cs | 166 +
.../Handlers/RejectStoreCommandHandler.cs | 157 +
.../Handlers/ReopenStoreCommandHandler.cs | 160 +
.../Queries/GetStoreAuditDetailQuery.cs | 15 +
.../Queries/GetStoreAuditStatisticsQuery.cs | 20 +
.../Queries/ListPendingStoreAuditsQuery.cs | 56 +
.../Queries/ListStoreAuditRecordsQuery.cs | 26 +
.../StoreAuditActionNameResolver.cs | 26 +
.../ApproveStoreCommandValidator.cs | 19 +
.../ForceCloseStoreCommandValidator.cs | 20 +
.../Validators/RejectStoreCommandValidator.cs | 21 +
.../Validators/ReopenStoreCommandValidator.cs | 19 +
.../BatchUpdateBusinessHoursCommand.cs | 20 +
.../App/Stores/Commands/CreateStoreCommand.cs | 57 +-
.../CreateStoreQualificationCommand.cs | 46 +
.../DeleteStoreQualificationCommand.cs | 19 +
.../Commands/SubmitStoreAuditCommand.cs | 14 +
.../Commands/ToggleBusinessStatusCommand.cs | 31 +
.../App/Stores/Commands/UpdateStoreCommand.cs | 10 +
.../Stores/Commands/UpdateStoreFeeCommand.cs | 41 +
.../UpdateStoreQualificationCommand.cs | 45 +
.../Stores/Dto/StoreBusinessHourInputDto.cs | 39 +
.../Stores/Dto/StoreDeliveryCheckResultDto.cs | 31 +
.../App/Stores/Dto/StoreDto.cs | 61 +
.../Dto/StoreFeeCalculationBreakdownDto.cs | 31 +
.../Stores/Dto/StoreFeeCalculationItemDto.cs | 26 +
.../Dto/StoreFeeCalculationRequestDto.cs | 22 +
.../Dto/StoreFeeCalculationResultDto.cs | 64 +
.../App/Stores/Dto/StoreFeeDto.cs | 58 +
.../Stores/Dto/StoreQualificationAlertDto.cs | 69 +
.../Dto/StoreQualificationAlertResultDto.cs | 37 +
.../Dto/StoreQualificationAlertSummaryDto.cs | 17 +
.../Dto/StoreQualificationCheckResultDto.cs | 42 +
.../App/Stores/Dto/StoreQualificationDto.cs | 78 +
.../Dto/StoreQualificationRequirementDto.cs | 34 +
.../BatchUpdateBusinessHoursCommandHandler.cs | 72 +
.../Handlers/CalculateStoreFeeQueryHandler.cs | 54 +
.../CheckStoreDeliveryZoneQueryHandler.cs | 60 +
.../CheckStoreQualificationsQueryHandler.cs | 133 +
.../Handlers/CreateStoreCommandHandler.cs | 92 +-
.../CreateStoreDeliveryZoneCommandHandler.cs | 31 +-
.../CreateStoreQualificationCommandHandler.cs | 85 +
.../DeleteStoreQualificationCommandHandler.cs | 72 +
.../Handlers/GetStoreByIdQueryHandler.cs | 37 +-
.../Handlers/GetStoreFeeQueryHandler.cs | 49 +
...ExpiringStoreQualificationsQueryHandler.cs | 271 +
.../ListStoreQualificationsQueryHandler.cs | 36 +
.../Handlers/SearchStoresQueryHandler.cs | 49 +-
.../SubmitStoreAuditCommandHandler.cs | 115 +
.../ToggleBusinessStatusCommandHandler.cs | 69 +
.../Handlers/UpdateStoreCommandHandler.cs | 67 +-
.../UpdateStoreDeliveryZoneCommandHandler.cs | 31 +-
.../Handlers/UpdateStoreFeeCommandHandler.cs | 69 +
.../UpdateStoreQualificationCommandHandler.cs | 79 +
.../Stores/Queries/CalculateStoreFeeQuery.cs | 30 +
.../Queries/CheckStoreDeliveryZoneQuery.cs | 25 +
.../Queries/CheckStoreQualificationsQuery.cs | 15 +
.../App/Stores/Queries/GetStoreFeeQuery.cs | 15 +
.../ListExpiringStoreQualificationsQuery.cs | 35 +
.../Queries/ListStoreQualificationsQuery.cs | 15 +
.../App/Stores/Queries/SearchStoresQuery.cs | 20 +
.../Services/GeoJsonValidationResult.cs | 22 +
.../Stores/Services/IDeliveryZoneService.cs | 22 +
.../Services/IGeoJsonValidationService.cs | 14 +
.../Services/IStoreFeeCalculationService.cs | 18 +
.../Stores/Services/IStoreSchedulerService.cs | 23 +
.../App/Stores/StoreMapping.cs | 91 +
...atchUpdateBusinessHoursCommandValidator.cs | 40 +
.../Validators/BusinessHourValidators.cs | 65 +
.../CalculateStoreFeeQueryValidator.cs | 26 +
.../CheckStoreDeliveryZoneQueryValidator.cs | 20 +
...CreateStoreBusinessHourCommandValidator.cs | 2 +-
.../Validators/CreateStoreCommandValidator.cs | 4 +
...reateStoreQualificationCommandValidator.cs | 42 +
...eleteStoreQualificationCommandValidator.cs | 19 +
.../SubmitStoreAuditCommandValidator.cs | 18 +
.../ToggleBusinessStatusCommandValidator.cs | 29 +
...UpdateStoreBusinessHourCommandValidator.cs | 2 +-
.../Validators/UpdateStoreCommandValidator.cs | 1 +
.../UpdateStoreFeeCommandValidator.cs | 35 +
...pdateStoreQualificationCommandValidator.cs | 26 +
.../Stores/Entities/Store.cs | 60 +
.../Stores/Entities/StoreAuditRecord.cs | 55 +
.../Stores/Entities/StoreFee.cs | 40 +
.../Stores/Entities/StoreQualification.cs | 57 +
.../Stores/Enums/PackagingFeeMode.cs | 17 +
.../Stores/Enums/StoreAuditAction.cs | 42 +
.../Stores/Enums/StoreAuditStatus.cs | 27 +
.../Stores/Enums/StoreBusinessStatus.cs | 22 +
.../Stores/Enums/StoreClosureReason.cs | 47 +
.../Stores/Enums/StoreOwnershipType.cs | 17 +
.../Stores/Enums/StoreQualificationType.cs | 27 +
.../Stores/Events/StoreApprovedEvent.cs | 22 +
.../Stores/Events/StoreForceClosedEvent.cs | 27 +
.../Stores/Events/StoreRejectedEvent.cs | 32 +
.../Stores/Events/StoreSubmittedEvent.cs | 22 +
.../Stores/Repositories/IStoreRepository.cs | 71 +-
.../AppServiceCollectionExtensions.cs | 8 +
.../App/Persistence/TakeoutAppDbContext.cs | 79 +-
.../App/Repositories/EfStoreRepository.cs | 174 +-
.../App/Services/DeliveryZoneService.cs | 121 +
.../App/Services/GeoJsonValidationService.cs | 221 +
.../Services/StoreFeeCalculationService.cs | 92 +
.../App/Services/StoreSchedulerService.cs | 198 +
...137_AddStoreManagementEntities.Designer.cs | 7391 +++++++++++++++++
...251231124137_AddStoreManagementEntities.cs | 319 +
.../TakeoutAppDbContextModelSnapshot.cs | 311 +
.../Jobs/BusinessStatusAutoSwitchJob.cs | 24 +
.../Jobs/QualificationExpiryCheckJob.cs | 24 +
.../Services/RecurringJobRegistrar.cs | 10 +
131 files changed, 15333 insertions(+), 201 deletions(-)
create mode 100644 src/Api/TakeoutSaaS.AdminApi/Controllers/StoreAuditsController.cs
create mode 100644 src/Api/TakeoutSaaS.AdminApi/Controllers/StoreQualificationsController.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/StoreAudits/Commands/ApproveStoreCommand.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/StoreAudits/Commands/ForceCloseStoreCommand.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/StoreAudits/Commands/RejectStoreCommand.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/StoreAudits/Commands/ReopenStoreCommand.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/StoreAudits/Dto/PendingStoreAuditDto.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/StoreAudits/Dto/StoreAuditActionResultDto.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/StoreAudits/Dto/StoreAuditDailyTrendDto.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/StoreAudits/Dto/StoreAuditDetailDto.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/StoreAudits/Dto/StoreAuditMerchantDto.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/StoreAudits/Dto/StoreAuditRecordDto.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/StoreAudits/Dto/StoreAuditStatisticsDto.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/StoreAudits/Dto/StoreAuditStoreDto.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/StoreAudits/Dto/StoreAuditTenantDto.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/StoreAudits/Handlers/ApproveStoreCommandHandler.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/StoreAudits/Handlers/ForceCloseStoreCommandHandler.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/StoreAudits/Handlers/GetStoreAuditDetailQueryHandler.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/StoreAudits/Handlers/GetStoreAuditStatisticsQueryHandler.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/StoreAudits/Handlers/ListPendingStoreAuditsQueryHandler.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/StoreAudits/Handlers/ListStoreAuditRecordsQueryHandler.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/StoreAudits/Handlers/RejectStoreCommandHandler.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/StoreAudits/Handlers/ReopenStoreCommandHandler.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/StoreAudits/Queries/GetStoreAuditDetailQuery.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/StoreAudits/Queries/GetStoreAuditStatisticsQuery.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/StoreAudits/Queries/ListPendingStoreAuditsQuery.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/StoreAudits/Queries/ListStoreAuditRecordsQuery.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/StoreAudits/StoreAuditActionNameResolver.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/StoreAudits/Validators/ApproveStoreCommandValidator.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/StoreAudits/Validators/ForceCloseStoreCommandValidator.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/StoreAudits/Validators/RejectStoreCommandValidator.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/StoreAudits/Validators/ReopenStoreCommandValidator.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Commands/BatchUpdateBusinessHoursCommand.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Commands/CreateStoreQualificationCommand.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Commands/DeleteStoreQualificationCommand.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Commands/SubmitStoreAuditCommand.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Commands/ToggleBusinessStatusCommand.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Commands/UpdateStoreFeeCommand.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Commands/UpdateStoreQualificationCommand.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Dto/StoreBusinessHourInputDto.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Dto/StoreDeliveryCheckResultDto.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Dto/StoreFeeCalculationBreakdownDto.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Dto/StoreFeeCalculationItemDto.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Dto/StoreFeeCalculationRequestDto.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Dto/StoreFeeCalculationResultDto.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Dto/StoreFeeDto.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Dto/StoreQualificationAlertDto.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Dto/StoreQualificationAlertResultDto.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Dto/StoreQualificationAlertSummaryDto.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Dto/StoreQualificationCheckResultDto.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Dto/StoreQualificationDto.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Dto/StoreQualificationRequirementDto.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Handlers/BatchUpdateBusinessHoursCommandHandler.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Handlers/CalculateStoreFeeQueryHandler.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Handlers/CheckStoreDeliveryZoneQueryHandler.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Handlers/CheckStoreQualificationsQueryHandler.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Handlers/CreateStoreQualificationCommandHandler.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Handlers/DeleteStoreQualificationCommandHandler.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Handlers/GetStoreFeeQueryHandler.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Handlers/ListExpiringStoreQualificationsQueryHandler.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Handlers/ListStoreQualificationsQueryHandler.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Handlers/SubmitStoreAuditCommandHandler.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Handlers/ToggleBusinessStatusCommandHandler.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Handlers/UpdateStoreFeeCommandHandler.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Handlers/UpdateStoreQualificationCommandHandler.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Queries/CalculateStoreFeeQuery.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Queries/CheckStoreDeliveryZoneQuery.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Queries/CheckStoreQualificationsQuery.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Queries/GetStoreFeeQuery.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Queries/ListExpiringStoreQualificationsQuery.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Queries/ListStoreQualificationsQuery.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Services/GeoJsonValidationResult.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Services/IDeliveryZoneService.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Services/IGeoJsonValidationService.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Services/IStoreFeeCalculationService.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Services/IStoreSchedulerService.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Validators/BatchUpdateBusinessHoursCommandValidator.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Validators/BusinessHourValidators.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Validators/CalculateStoreFeeQueryValidator.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Validators/CheckStoreDeliveryZoneQueryValidator.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Validators/CreateStoreQualificationCommandValidator.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Validators/DeleteStoreQualificationCommandValidator.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Validators/SubmitStoreAuditCommandValidator.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Validators/ToggleBusinessStatusCommandValidator.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Validators/UpdateStoreFeeCommandValidator.cs
create mode 100644 src/Application/TakeoutSaaS.Application/App/Stores/Validators/UpdateStoreQualificationCommandValidator.cs
create mode 100644 src/Domain/TakeoutSaaS.Domain/Stores/Entities/StoreAuditRecord.cs
create mode 100644 src/Domain/TakeoutSaaS.Domain/Stores/Entities/StoreFee.cs
create mode 100644 src/Domain/TakeoutSaaS.Domain/Stores/Entities/StoreQualification.cs
create mode 100644 src/Domain/TakeoutSaaS.Domain/Stores/Enums/PackagingFeeMode.cs
create mode 100644 src/Domain/TakeoutSaaS.Domain/Stores/Enums/StoreAuditAction.cs
create mode 100644 src/Domain/TakeoutSaaS.Domain/Stores/Enums/StoreAuditStatus.cs
create mode 100644 src/Domain/TakeoutSaaS.Domain/Stores/Enums/StoreBusinessStatus.cs
create mode 100644 src/Domain/TakeoutSaaS.Domain/Stores/Enums/StoreClosureReason.cs
create mode 100644 src/Domain/TakeoutSaaS.Domain/Stores/Enums/StoreOwnershipType.cs
create mode 100644 src/Domain/TakeoutSaaS.Domain/Stores/Enums/StoreQualificationType.cs
create mode 100644 src/Domain/TakeoutSaaS.Domain/Stores/Events/StoreApprovedEvent.cs
create mode 100644 src/Domain/TakeoutSaaS.Domain/Stores/Events/StoreForceClosedEvent.cs
create mode 100644 src/Domain/TakeoutSaaS.Domain/Stores/Events/StoreRejectedEvent.cs
create mode 100644 src/Domain/TakeoutSaaS.Domain/Stores/Events/StoreSubmittedEvent.cs
create mode 100644 src/Infrastructure/TakeoutSaaS.Infrastructure/App/Services/DeliveryZoneService.cs
create mode 100644 src/Infrastructure/TakeoutSaaS.Infrastructure/App/Services/GeoJsonValidationService.cs
create mode 100644 src/Infrastructure/TakeoutSaaS.Infrastructure/App/Services/StoreFeeCalculationService.cs
create mode 100644 src/Infrastructure/TakeoutSaaS.Infrastructure/App/Services/StoreSchedulerService.cs
create mode 100644 src/Infrastructure/TakeoutSaaS.Infrastructure/Migrations/20251231124137_AddStoreManagementEntities.Designer.cs
create mode 100644 src/Infrastructure/TakeoutSaaS.Infrastructure/Migrations/20251231124137_AddStoreManagementEntities.cs
create mode 100644 src/Modules/TakeoutSaaS.Module.Scheduler/Jobs/BusinessStatusAutoSwitchJob.cs
create mode 100644 src/Modules/TakeoutSaaS.Module.Scheduler/Jobs/QualificationExpiryCheckJob.cs
diff --git a/src/Api/TakeoutSaaS.AdminApi/Controllers/StoreAuditsController.cs b/src/Api/TakeoutSaaS.AdminApi/Controllers/StoreAuditsController.cs
new file mode 100644
index 0000000..ab376b0
--- /dev/null
+++ b/src/Api/TakeoutSaaS.AdminApi/Controllers/StoreAuditsController.cs
@@ -0,0 +1,222 @@
+using MediatR;
+using Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Mvc;
+using System.ComponentModel.DataAnnotations;
+using TakeoutSaaS.Application.App.StoreAudits.Commands;
+using TakeoutSaaS.Application.App.StoreAudits.Dto;
+using TakeoutSaaS.Application.App.StoreAudits.Queries;
+using TakeoutSaaS.Module.Authorization.Attributes;
+using TakeoutSaaS.Shared.Abstractions.Constants;
+using TakeoutSaaS.Shared.Abstractions.Results;
+using TakeoutSaaS.Shared.Abstractions.Tenancy;
+using TakeoutSaaS.Shared.Web.Api;
+
+namespace TakeoutSaaS.AdminApi.Controllers;
+
+///
+/// 门店审核与风控管理(平台)。
+///
+[ApiVersion("1.0")]
+[Authorize]
+[Route("api/platform/store-audits")]
+[Route("api/admin/v{version:apiVersion}/platform/store-audits")]
+public sealed class StoreAuditsController(IMediator mediator, ITenantContextAccessor tenantContextAccessor) : BaseApiController
+{
+ ///
+ /// 查询待审核门店列表。
+ ///
+ /// 待审核门店分页列表。
+ [HttpGet("pending")]
+ [PermissionAuthorize("store-audit:read")]
+ [ProducesResponseType(typeof(ApiResponse>), StatusCodes.Status200OK)]
+ public async Task>> ListPending(
+ [FromQuery] ListPendingStoreAuditsQuery query,
+ CancellationToken cancellationToken)
+ {
+ // 1. 查询待审核门店列表
+ var result = await ExecuteAsPlatformAsync(() => mediator.Send(query, cancellationToken));
+
+ // 2. 返回分页结果
+ return ApiResponse>.Ok(result);
+ }
+
+ ///
+ /// 获取门店审核详情。
+ ///
+ /// 门店 ID。
+ /// 取消标记。
+ /// 审核详情。
+ [HttpGet("{storeId:long}")]
+ [PermissionAuthorize("store-audit:read")]
+ [ProducesResponseType(typeof(ApiResponse), StatusCodes.Status200OK)]
+ [ProducesResponseType(typeof(ApiResponse