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; }
}