diff --git a/Fengling.Console.csproj b/Fengling.Console.csproj index d9db8c5..7c9e56e 100644 --- a/Fengling.Console.csproj +++ b/Fengling.Console.csproj @@ -4,6 +4,7 @@ net10.0 enable enable + $(NoWarn);CS1591 diff --git a/Models/Dtos/UserDto.cs b/Models/Dtos/UserDto.cs index e5a6b4c..ec15a96 100644 --- a/Models/Dtos/UserDto.cs +++ b/Models/Dtos/UserDto.cs @@ -7,7 +7,7 @@ public class UserDto public string? Email { get; set; } public string? RealName { get; set; } public string? Phone { get; set; } - public string TenantCode { get; set; } + public string TenantCode { get; set; } = ""; public string TenantName { get; set; } = ""; public List Roles { get; set; } = new(); public bool EmailConfirmed { get; set; } diff --git a/Program.cs b/Program.cs index 013c573..5b5bb21 100644 --- a/Program.cs +++ b/Program.cs @@ -1,6 +1,7 @@ using System.Reflection; using Fengling.Console.Repositories; using Fengling.Console.Services; +using Fengling.Platform.Infrastructure.Repositories; using OpenIddict.Abstractions; using Microsoft.EntityFrameworkCore; using Microsoft.AspNetCore.Authentication.JwtBearer; diff --git a/Repositories/ITenantRepository.cs b/Repositories/ITenantRepository.cs deleted file mode 100644 index f67cf67..0000000 --- a/Repositories/ITenantRepository.cs +++ /dev/null @@ -1,17 +0,0 @@ -using Fengling.Console.Models.Entities; -using Fengling.Platform.Domain.AggregatesModel.TenantAggregate; - -namespace Fengling.Console.Repositories; - -public interface ITenantRepository -{ - Task GetByIdAsync(long id); - Task GetByTenantCodeAsync(string tenantCode); - Task> GetAllAsync(); - Task> GetPagedAsync(int page, int pageSize, string? name = null, string? tenantCode = null, TenantStatus? status = null); - Task CountAsync(string? name = null, string? tenantCode = null, TenantStatus? status = null); - Task AddAsync(Tenant tenant); - Task UpdateAsync(Tenant tenant); - Task DeleteAsync(Tenant tenant); - Task GetUserCountAsync(TenantId tenantId); -} diff --git a/Repositories/TenantRepository.cs b/Repositories/TenantRepository.cs deleted file mode 100644 index d5acc4a..0000000 --- a/Repositories/TenantRepository.cs +++ /dev/null @@ -1,97 +0,0 @@ -using Fengling.Console.Datas; -using Fengling.Console.Models.Entities; -using Fengling.Platform.Domain.AggregatesModel.TenantAggregate; -using Fengling.Platform.Infrastructure; -using Microsoft.EntityFrameworkCore; - -namespace Fengling.Console.Repositories; - -public class TenantRepository(PlatformDbContext context,ApplicationDbContext identityDbContext) : ITenantRepository -{ - public async Task GetByIdAsync(long id) - { - return await context.Tenants.FindAsync(id); - } - - public async Task GetByTenantCodeAsync(string tenantCode) - { - return await context.Tenants.FirstOrDefaultAsync(t => t.TenantCode == tenantCode); - } - - public async Task> GetAllAsync() - { - return await context.Tenants.ToListAsync(); - } - - public async Task> GetPagedAsync(int page, int pageSize, string? name = null, - string? tenantCode = null, TenantStatus? status = null) - { - var query = context.Tenants.AsQueryable(); - - if (!string.IsNullOrEmpty(name)) - { - query = query.Where(t => t.Name.Contains(name)); - } - - if (!string.IsNullOrEmpty(tenantCode)) - { - query = query.Where(t => t.TenantCode.Contains(tenantCode)); - } - - if (status.HasValue) - { - query = query.Where(t => t.Status == status); - } - - return await query - .OrderByDescending(t => t.CreatedAt) - .Skip((page - 1) * pageSize) - .Take(pageSize) - .ToListAsync(); - } - - public async Task CountAsync(string? name = null, string? tenantCode = null, TenantStatus? status = null) - { - var query = context.Tenants.AsQueryable(); - - if (!string.IsNullOrEmpty(name)) - { - query = query.Where(t => t.Name.Contains(name)); - } - - if (!string.IsNullOrEmpty(tenantCode)) - { - query = query.Where(t => t.TenantCode.Contains(tenantCode)); - } - - if (status.HasValue) - { - query = query.Where(t => t.Status == status); - } - - return await query.CountAsync(); - } - - public async Task AddAsync(Tenant tenant) - { - context.Tenants.Add(tenant); - await context.SaveChangesAsync(); - } - - public async Task UpdateAsync(Tenant tenant) - { - context.Tenants.Update(tenant); - await context.SaveChangesAsync(); - } - - public async Task DeleteAsync(Tenant tenant) - { - context.Tenants.Remove(tenant); - await context.SaveChangesAsync(); - } - - public async Task GetUserCountAsync(TenantId tenantId) - { - return await identityDbContext.Users.CountAsync(u => u.TenantInfo.TenantId == tenantId && !u.IsDeleted); - } -} diff --git a/Services/H5LinkService.cs b/Services/H5LinkService.cs index a2d182b..a246725 100644 --- a/Services/H5LinkService.cs +++ b/Services/H5LinkService.cs @@ -1,5 +1,6 @@ using Fengling.Console.Models.Entities; using Fengling.Console.Repositories; +using Fengling.Platform.Infrastructure.Repositories; using Fengling.Platform.Domain.AggregatesModel.TenantAggregate; using Microsoft.Extensions.Configuration; using QRCoder; diff --git a/Services/OAuthClientService.cs b/Services/OAuthClientService.cs index 25fbf4c..5a7ff9d 100644 --- a/Services/OAuthClientService.cs +++ b/Services/OAuthClientService.cs @@ -45,10 +45,10 @@ public class OAuthClientService : IOAuthClientService var clientIdValue = await _applicationManager.GetClientIdAsync(application); var displayNameValue = await _applicationManager.GetDisplayNameAsync(application); - if (!string.IsNullOrEmpty(displayName) && !displayNameValue.Contains(displayName, StringComparison.OrdinalIgnoreCase)) + if (!string.IsNullOrEmpty(displayName) && (string.IsNullOrEmpty(displayNameValue) || !displayNameValue.Contains(displayName, StringComparison.OrdinalIgnoreCase))) continue; - if (!string.IsNullOrEmpty(clientId) && !clientIdValue.Contains(clientId, StringComparison.OrdinalIgnoreCase)) + if (!string.IsNullOrEmpty(clientId) && (string.IsNullOrEmpty(clientIdValue) || !clientIdValue.Contains(clientId, StringComparison.OrdinalIgnoreCase))) continue; var clientType = await _applicationManager.GetClientTypeAsync(application); diff --git a/Services/TenantService.cs b/Services/TenantService.cs index 7f50f72..6b90da7 100644 --- a/Services/TenantService.cs +++ b/Services/TenantService.cs @@ -1,5 +1,6 @@ using Fengling.Console.Models.Dtos; using Fengling.Console.Repositories; +using Fengling.Platform.Infrastructure.Repositories; using Microsoft.AspNetCore.Identity; using System.Security.Claims; using Fengling.Console.Datas; diff --git a/Services/UserService.cs b/Services/UserService.cs index 491ab14..e9d9ea0 100644 --- a/Services/UserService.cs +++ b/Services/UserService.cs @@ -1,5 +1,6 @@ using Fengling.Console.Models.Dtos; using Fengling.Console.Repositories; +using Fengling.Platform.Infrastructure.Repositories; using Microsoft.AspNetCore.Identity; using System.Security.Claims; using Fengling.Console.Datas;