Merge branch 'release/v1.0.0' of https://github.com/ONLYOFFICE/DocSpace into release/v1.0.0

This commit is contained in:
Maria Sukhova 2023-04-11 19:07:03 +03:00
commit 7fd15f802a
5 changed files with 21 additions and 19 deletions

View File

@ -31,7 +31,7 @@ public interface ITariffService
{
IDictionary<string, Dictionary<string, decimal>> GetProductPriceInfo(params string[] productIds);
IEnumerable<PaymentInfo> GetPayments(int tenantId);
Tariff GetTariff(int tenantId, bool withRequestToPaymentSystem = true);
Tariff GetTariff(int tenantId, bool withRequestToPaymentSystem = true, bool refresh = false);
Task<Uri> GetShoppingUri(int tenant, string currency = null, string language = null, string customerEmail = null, Dictionary<string, int> quantity = null, string backUrl = null);
Uri GetShoppingUri(int? tenant, int quotaId, string affiliateId, string currency = null, string language = null, string customerId = null, string quantity = null);
Uri GetShoppingUri(string[] productIds, string affiliateId = null, string currency = null, string language = null, string customerId = null, string quantity = null);

View File

@ -147,7 +147,7 @@ public class TariffService : ITariffService
_dbContextFactory = coreDbContextManager;
}
public Tariff GetTariff(int tenantId, bool withRequestToPaymentSystem = true)
public Tariff GetTariff(int tenantId, bool withRequestToPaymentSystem = true, bool refresh = false)
{
//single tariff for all portals
if (_coreBaseSettings.Standalone)
@ -155,7 +155,7 @@ public class TariffService : ITariffService
tenantId = -1;
}
var tariff = GetTariffFromCache(tenantId);
var tariff = refresh ? null : GetTariffFromCache(tenantId);
int? tariffId = null;
if (tariff == null)
@ -170,7 +170,6 @@ public class TariffService : ITariffService
if (_billingClient.Configured && withRequestToPaymentSystem)
{
try
{
var currentPayments = _billingClient.GetCurrentPayments(GetPortalId(tenantId));
@ -992,14 +991,17 @@ public class TariffService : ITariffService
_ = quotaSocketManager.ChangeQuotaFeatureValue(maxRoomCountFeatureName, maxRoomCount);
var currentQuota = GetTenantQuotaFromTariff(currenTariff);
var free = updatedQuota.Free;
if (currentQuota.Free != free)
if (currenTariff != null)
{
var freeFeatureName = updatedQuota.GetFeature<FreeFeature>().Name;
var currentQuota = GetTenantQuotaFromTariff(currenTariff);
_ = quotaSocketManager.ChangeQuotaFeatureValue(freeFeatureName, free);
var free = updatedQuota.Free;
if (currentQuota.Free != free)
{
var freeFeatureName = updatedQuota.GetFeature<FreeFeature>().Name;
_ = quotaSocketManager.ChangeQuotaFeatureValue(freeFeatureName, free);
}
}
}

View File

@ -45,7 +45,7 @@ public class TenantManager
internal CoreBaseSettings CoreBaseSettings { get; set; }
internal CoreSettings CoreSettings { get; set; }
private readonly static object _lock = new object();
private static readonly object _lock = new object();
static TenantManager()
{
@ -283,17 +283,17 @@ public class TenantManager
return QuotaService.GetTenantQuotas().Where(q => q.Tenant < 0 && (all || q.Visible)).OrderByDescending(q => q.Tenant).ToList();
}
public TenantQuota GetCurrentTenantQuota()
public TenantQuota GetCurrentTenantQuota(bool refresh = false)
{
return GetTenantQuota(GetCurrentTenant().Id);
return GetTenantQuota(GetCurrentTenant().Id, refresh);
}
public TenantQuota GetTenantQuota(int tenant)
public TenantQuota GetTenantQuota(int tenant, bool refresh = false)
{
var defaultQuota = QuotaService.GetTenantQuota(tenant) ?? QuotaService.GetTenantQuota(Tenant.DefaultTenant) ?? TenantQuota.Default;
if (defaultQuota.Tenant != tenant && TariffService != null)
{
var tariff = TariffService.GetTariff(tenant);
var tariff = TariffService.GetTariff(tenant, refresh: refresh);
TenantQuota currentQuota = null;
foreach (var tariffRow in tariff.Quotas)

View File

@ -153,9 +153,9 @@ public class PaymentController : ControllerBase
}
[HttpGet("payment/quota")]
public async Task<QuotaDto> GetQuota()
public async Task<QuotaDto> GetQuota(bool refresh)
{
return await _quotaHelper.GetCurrentQuota();
return await _quotaHelper.GetCurrentQuota(refresh);
}
[HttpPost("payment/request")]

View File

@ -52,9 +52,9 @@ public class QuotaHelper
}
}
public async Task<QuotaDto> GetCurrentQuota()
public async Task<QuotaDto> GetCurrentQuota(bool refresh = false)
{
var quota = _tenantManager.GetCurrentTenantQuota();
var quota = _tenantManager.GetCurrentTenantQuota(refresh);
var priceInfo = _tenantManager.GetProductPriceInfo();
var currentRegion = _regionHelper.GetCurrentRegionInfo();