🔄refactor: 替换EF为SqlSugar

This commit is contained in:
yubaolee
2026-06-27 23:08:53 +08:00
parent 5fdf58a0c6
commit 252abfe5be
2 changed files with 41 additions and 8 deletions

View File

@@ -18,6 +18,10 @@ using Infrastructure;
using OpenAuth.Repository;
using OpenAuth.Repository.Domain;
using OpenAuth.Repository.Interface;
using SqlSugar;
using Infrastructure.Extensions.AutofacManager;
using Infrastructure.Utilities;
using Microsoft.AspNetCore.Http;
namespace OpenAuth.App
{
@@ -29,15 +33,28 @@ namespace OpenAuth.App
{
private SystemAuthStrategy _systemAuth;
private NormalAuthStrategy _normalAuthStrategy;
private readonly IUnitWork<OpenAuthDBContext> _unitWork;
protected ISqlSugarClient SugarClient;
public AuthContextFactory(SystemAuthStrategy sysStrategy
, NormalAuthStrategy normalAuthStrategy
, IUnitWork<OpenAuthDBContext> unitWork)
, ISqlSugarClient client)
{
_systemAuth = sysStrategy;
_normalAuthStrategy = normalAuthStrategy;
_unitWork = unitWork;
string tenantId = Define.DEFAULT_TENANT_ID;
var httpContextAccessor = AutofacContainerModule.GetService<IHttpContextAccessor>();
if (httpContextAccessor != null)
{
tenantId = httpContextAccessor.GetTenantId();
}
if(tenantId != Define.DEFAULT_TENANT_ID) //如果不是默认租户则使用租户id获取连接
{
client = client.AsTenant().GetConnection(tenantId);
}
SugarClient = client;
}
public AuthStrategyContext GetAuthStrategyContext(string username)
@@ -52,7 +69,7 @@ namespace OpenAuth.App
else
{
service = _normalAuthStrategy;
service.User = _unitWork.FirstOrDefault<SysUser>(u => u.Account == username);
service.User = SugarClient.Queryable<SysUser>().First(u => u.Account == username);
}
return new AuthStrategyContext(service);

View File

@@ -9,6 +9,10 @@ using Infrastructure.Helpers;
using OpenAuth.Repository;
using OpenAuth.Repository.Domain;
using OpenAuth.Repository.Interface;
using SqlSugar;
using Infrastructure.Extensions.AutofacManager;
using Infrastructure.Utilities;
using Microsoft.AspNetCore.Http;
namespace OpenAuth.App.SSO
@@ -17,15 +21,27 @@ namespace OpenAuth.App.SSO
{
//这个地方使用IRepository<User> 而不使用UserManagerApp是防止循环依赖
public IRepository<SysUser,OpenAuthDBContext> _app;
protected ISqlSugarClient SugarClient;
private ICacheContext _cacheContext;
private AppManager _appInfoService;
public LoginParse( AppManager infoService, ICacheContext cacheContext, IRepository<SysUser,OpenAuthDBContext> userApp)
public LoginParse( AppManager infoService, ICacheContext cacheContext, ISqlSugarClient client)
{
_appInfoService = infoService;
_cacheContext = cacheContext;
_app = userApp;
string tenantId = Define.DEFAULT_TENANT_ID;
var httpContextAccessor = AutofacContainerModule.GetService<IHttpContextAccessor>();
if (httpContextAccessor != null)
{
tenantId = httpContextAccessor.GetTenantId();
}
if(tenantId != Define.DEFAULT_TENANT_ID) //如果不是默认租户则使用租户id获取连接
{
client = client.AsTenant().GetConnection(tenantId);
}
SugarClient = client;
}
public LoginResult Do(PassportLoginRequest model)
@@ -54,7 +70,7 @@ namespace OpenAuth.App.SSO
}
else
{
sysUserInfo = _app.FirstOrDefault(u =>u.Account == model.Account);
sysUserInfo = SugarClient.Queryable<SysUser>().First(u =>u.Account == model.Account);
}
if (sysUserInfo == null)