namespace Admin.NET.Plugin.AiDOP.Infrastructure; /// /// 超管重跑租户基线。方法本身幂等,重复调用只补缺、不覆盖已有配置。 /// 租户号必须由调用方显式传入,不取当前登录上下文,避免超管切了租户之后补错对象。 /// [ApiDescriptionSettings(Order = 327, Description = "租户基线")] [Route("api/aidop/tenant-baseline")] public class AidopTenantBaselineController : IDynamicApiController, ITransient { private readonly AidopTenantInitService _init; private readonly UserManager _user; public AidopTenantBaselineController(AidopTenantInitService init, UserManager user) { _init = init; _user = user; } [DisplayName("超管:重跑租户基线")] [HttpPost("reinit")] public Task Reinit([FromBody] TenantBaselineReinitInput input) { if (!_user.SuperAdmin) throw Oops.Oh(ErrorCodeEnum.SA001); if (input == null || input.TenantId <= 0) throw Oops.Oh("必须指定租户"); return _init.InitTenantBaselineAsync(input.TenantId); } } public sealed class TenantBaselineReinitInput { public long TenantId { get; set; } }