fix 获取tenants的权限处理

This commit is contained in:
2024-11-29 12:43:56 +08:00
parent 085999249c
commit e96c9c1ee1
6 changed files with 21 additions and 13 deletions

View File

@@ -31,7 +31,7 @@ public class FactorySettingController : ControllerBase
[IgnoreTenant]
public async Task<List<FactorySettingResponse>> GetListAsync()
{
return await _factorySettingService.GetListAsync();
return await _factorySettingService.GetListAsync(true);
}
/// <summary>
@@ -53,6 +53,6 @@ public class FactorySettingController : ControllerBase
[HttpGet("single")]
public async Task<FactorySettingResponse> GetFactorySettingAsync([Required(ErrorMessage = "厂区不可为空")] string factory)
{
return await _factorySettingService.GetFactorySettingAsync(factory);
return await _factorySettingService.GetFactorySettingAsync(factory, false);
}
}

View File

@@ -5,9 +5,9 @@ namespace Dlhis.Basic.Organization.Services;
public interface IFactorySettingService : IScopeDependency
{
Task<List<FactorySettingResponse>> GetListAsync();
Task<List<FactorySettingResponse>> GetListAsync(bool usePermission);
Task SaveAsync(FactorySettingSaveRequest request);
Task<FactorySettingResponse> GetFactorySettingAsync(string factory);
Task<FactorySettingResponse> GetFactorySettingAsync(string factory, bool usePermission);
}

View File

@@ -23,9 +23,9 @@ public class FactorySettingService : IFactorySettingService
_tenantApi = tenantApi;
}
public async Task<List<FactorySettingResponse>> GetListAsync()
public async Task<List<FactorySettingResponse>> GetListAsync(bool usePermission)
{
return await GetFactorySettingsAsync();
return await GetFactorySettingsAsync(null, usePermission);
}
public async Task SaveAsync(FactorySettingSaveRequest request)
@@ -47,9 +47,10 @@ public class FactorySettingService : IFactorySettingService
}
}
public async Task<FactorySettingResponse> GetFactorySettingAsync(string factory)
public async Task<FactorySettingResponse> GetFactorySettingAsync(string factory, bool usePermission)
{
var settings = await GetFactorySettingsAsync(factory);
var settings = await GetFactorySettingsAsync(factory, usePermission);
var setting = settings.FirstOrDefault() ?? new FactorySettingResponse();
setting.UserQrCodeExpiration ??= 60;
@@ -68,7 +69,7 @@ public class FactorySettingService : IFactorySettingService
//************************************************************************************************************************************************************
private async Task<List<FactorySettingResponse>> GetFactorySettingsAsync(string factory = null)
private async Task<List<FactorySettingResponse>> GetFactorySettingsAsync(string factory, bool usePermission)
{
List<TenantResponse> factories;
@@ -79,7 +80,14 @@ public class FactorySettingService : IFactorySettingService
}
else
{
factories = await _tenantApi.GetTenantsInternalAsync();
if (usePermission)
{
factories = await _tenantApi.GetMyTenantsAsync();
}
else
{
factories = await _tenantApi.GetTenantsInternalAsync();
}
}
var factoryCodes = factories.Where(x => x.PCode.IsPresent()).Select(x => x.Code).ToList();

View File

@@ -358,7 +358,7 @@ public class GainfoFaceService : IGainfoFaceService
private async Task DetectFaceImageQualityAsync(string base64Image, string factory = null)
{
var currentFactory = factory ?? _currentUser.GetStringTenantId();
var factorySetting = await _factorySettingService.GetFactorySettingAsync(currentFactory);
var factorySetting = await _factorySettingService.GetFactorySettingAsync(currentFactory, false);
if (factorySetting.FaceImageDetection.Enable)
{
List<string> r;

View File

@@ -119,7 +119,7 @@ public class GainfoOutsourceService : IGainfoOutsourceService
.Select(x => new { x.Id, x.Code, x.Factory, x.CreateTime })
.ToListAsync();
var settings = await _factorySettingService.GetListAsync();
var settings = await _factorySettingService.GetListAsync(false);
//0001/1/1 0:00:00
var nullDateTime = new DateTime(1, 1, 1);

View File

@@ -43,7 +43,7 @@ public class GainfoQrCodeService : IGainfoQrCodeService
await _dbContext.InsertAsync(gainfoQrCode);
}
var setting = await _factorySettingService.GetFactorySettingAsync(factory);
var setting = await _factorySettingService.GetFactorySettingAsync(factory, false);
if (gainfoQrCode.ModifiedTime.AddMinutes(setting.UserQrCodeExpiration!.Value) >= now && !isNeedRefresh)
{
return gainfoQrCode.QrCode;