😎代码优化及清理
This commit is contained in:
parent
de9bde949d
commit
25fd6e6890
@ -41,4 +41,10 @@ public enum PlatformTypeEnum
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
[Description("支付宝")]
|
[Description("支付宝")]
|
||||||
Alipay = 5,
|
Alipay = 5,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 其他
|
||||||
|
/// </summary>
|
||||||
|
[Description("其他")]
|
||||||
|
Other = 99,
|
||||||
}
|
}
|
||||||
@ -19,23 +19,19 @@ namespace Admin.NET.Core.Service;
|
|||||||
[ApiDescriptionSettings(Order = 240)]
|
[ApiDescriptionSettings(Order = 240)]
|
||||||
public class SysAlipayService : IDynamicApiController, ITransient
|
public class SysAlipayService : IDynamicApiController, ITransient
|
||||||
{
|
{
|
||||||
private readonly IWebHostEnvironment _webHostEnvironment;
|
|
||||||
private readonly SysConfigService _sysConfigService;
|
|
||||||
private readonly List<IAopClient> _alipayClientList;
|
|
||||||
private readonly IHttpContextAccessor _httpContext;
|
|
||||||
private readonly AlipayOptions _option;
|
|
||||||
private readonly ISqlSugarClient _db;
|
private readonly ISqlSugarClient _db;
|
||||||
|
private readonly IHttpContextAccessor _httpContext;
|
||||||
|
private readonly IWebHostEnvironment _webHostEnvironment;
|
||||||
|
private readonly List<IAopClient> _alipayClientList;
|
||||||
|
private readonly AlipayOptions _option;
|
||||||
|
|
||||||
public SysAlipayService(
|
public SysAlipayService(ISqlSugarClient db,
|
||||||
ISqlSugarClient db,
|
|
||||||
IHttpContextAccessor httpContext,
|
IHttpContextAccessor httpContext,
|
||||||
SysConfigService sysConfigService,
|
|
||||||
IWebHostEnvironment webHostEnvironment,
|
IWebHostEnvironment webHostEnvironment,
|
||||||
IOptions<AlipayOptions> alipayOptions)
|
IOptions<AlipayOptions> alipayOptions)
|
||||||
{
|
{
|
||||||
_db = db;
|
_db = db;
|
||||||
_httpContext = httpContext;
|
_httpContext = httpContext;
|
||||||
_sysConfigService = sysConfigService;
|
|
||||||
_option = alipayOptions.Value;
|
_option = alipayOptions.Value;
|
||||||
_webHostEnvironment = webHostEnvironment;
|
_webHostEnvironment = webHostEnvironment;
|
||||||
|
|
||||||
|
|||||||
@ -223,7 +223,7 @@ public class SysAuthService : IDynamicApiController, ITransient
|
|||||||
/// <param name="loginMode"></param>
|
/// <param name="loginMode"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[NonAction]
|
[NonAction]
|
||||||
internal async Task<LoginOutput> CreateToken(SysUser user, LoginModeEnum loginMode = LoginModeEnum.PC)
|
public async Task<LoginOutput> CreateToken(SysUser user, LoginModeEnum loginMode = LoginModeEnum.PC)
|
||||||
{
|
{
|
||||||
// 单用户登录
|
// 单用户登录
|
||||||
await App.GetRequiredService<SysOnlineUserService>().SingleLogin(user.Id, loginMode);
|
await App.GetRequiredService<SysOnlineUserService>().SingleLogin(user.Id, loginMode);
|
||||||
|
|||||||
@ -15,17 +15,14 @@ public class SysCodeGenConfigService : IDynamicApiController, ITransient
|
|||||||
private readonly ISqlSugarClient _db;
|
private readonly ISqlSugarClient _db;
|
||||||
private readonly CodeGenOptions _codeGenOptions;
|
private readonly CodeGenOptions _codeGenOptions;
|
||||||
private readonly DbConnectionOptions _dbConnectionOptions;
|
private readonly DbConnectionOptions _dbConnectionOptions;
|
||||||
private readonly SysDatabaseService _databaseService;
|
|
||||||
|
|
||||||
public SysCodeGenConfigService(ISqlSugarClient db,
|
public SysCodeGenConfigService(ISqlSugarClient db,
|
||||||
SysDatabaseService databaseService,
|
IOptions<CodeGenOptions> codeGenOptions,
|
||||||
IOptions<DbConnectionOptions> dbConnectionOptions,
|
IOptions<DbConnectionOptions> dbConnectionOptions)
|
||||||
IOptions<CodeGenOptions> codeGenOptions)
|
|
||||||
{
|
{
|
||||||
_db = db;
|
_db = db;
|
||||||
_dbConnectionOptions = dbConnectionOptions.Value;
|
|
||||||
_codeGenOptions = codeGenOptions.Value;
|
_codeGenOptions = codeGenOptions.Value;
|
||||||
_databaseService = databaseService;
|
_dbConnectionOptions = dbConnectionOptions.Value;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@ -16,23 +16,20 @@ namespace Admin.NET.Core.Service;
|
|||||||
public class SysCodeGenService : IDynamicApiController, ITransient
|
public class SysCodeGenService : IDynamicApiController, ITransient
|
||||||
{
|
{
|
||||||
private readonly ISqlSugarClient _db;
|
private readonly ISqlSugarClient _db;
|
||||||
private readonly DbConnectionOptions _dbConnectionOptions;
|
|
||||||
private readonly CodeGenOptions _codeGenOptions;
|
private readonly CodeGenOptions _codeGenOptions;
|
||||||
private readonly SqlSugarRepository<SysCodeGenTemplate> _codeGetTemplateRep;
|
private readonly DbConnectionOptions _dbConnectionOptions;
|
||||||
private readonly SysCodeGenConfigService _codeGenConfigService;
|
private readonly SysCodeGenConfigService _codeGenConfigService;
|
||||||
private readonly IViewEngine _viewEngine;
|
private readonly IViewEngine _viewEngine;
|
||||||
|
|
||||||
public SysCodeGenService(ISqlSugarClient db,
|
public SysCodeGenService(ISqlSugarClient db,
|
||||||
|
IOptions<CodeGenOptions> codeGenOptions,
|
||||||
IOptions<DbConnectionOptions> dbConnectionOptions,
|
IOptions<DbConnectionOptions> dbConnectionOptions,
|
||||||
SqlSugarRepository<SysCodeGenTemplate> codeGetTemplateRep,
|
|
||||||
SysCodeGenConfigService codeGenConfigService,
|
SysCodeGenConfigService codeGenConfigService,
|
||||||
IViewEngine viewEngine,
|
IViewEngine viewEngine)
|
||||||
IOptions<CodeGenOptions> codeGenOptions)
|
|
||||||
{
|
{
|
||||||
_db = db;
|
_db = db;
|
||||||
_dbConnectionOptions = dbConnectionOptions.Value;
|
_dbConnectionOptions = dbConnectionOptions.Value;
|
||||||
_codeGenOptions = codeGenOptions.Value;
|
_codeGenOptions = codeGenOptions.Value;
|
||||||
_codeGetTemplateRep = codeGetTemplateRep;
|
|
||||||
_codeGenConfigService = codeGenConfigService;
|
_codeGenConfigService = codeGenConfigService;
|
||||||
_viewEngine = viewEngine;
|
_viewEngine = viewEngine;
|
||||||
}
|
}
|
||||||
@ -801,7 +798,7 @@ public class SysCodeGenService : IDynamicApiController, ITransient
|
|||||||
//TODO: 只获取选中的模板
|
//TODO: 只获取选中的模板
|
||||||
if (input.GenerateType!.Substring(1, 1).Contains('1'))
|
if (input.GenerateType!.Substring(1, 1).Contains('1'))
|
||||||
{
|
{
|
||||||
return _codeGetTemplateRep.AsQueryable()
|
return _db.Queryable<SysCodeGenTemplate>()
|
||||||
.Where(u => u.Type == CodeGenTypeEnum.Frontend)
|
.Where(u => u.Type == CodeGenTypeEnum.Frontend)
|
||||||
.Where(u => u.Id == SqlFunc.Subqueryable<SysCodeGenTemplateRelation>().Where(s => s.CodeGenId == input.Id).GroupBy(s => s.TemplateId).Select(s => s.TemplateId))
|
.Where(u => u.Id == SqlFunc.Subqueryable<SysCodeGenTemplateRelation>().Where(s => s.CodeGenId == input.Id).GroupBy(s => s.TemplateId).Select(s => s.TemplateId))
|
||||||
.ToList();
|
.ToList();
|
||||||
@ -809,14 +806,14 @@ public class SysCodeGenService : IDynamicApiController, ITransient
|
|||||||
|
|
||||||
if (input.GenerateType.Substring(1, 1).Contains('2'))
|
if (input.GenerateType.Substring(1, 1).Contains('2'))
|
||||||
{
|
{
|
||||||
return _codeGetTemplateRep.AsQueryable()
|
return _db.Queryable<SysCodeGenTemplate>()
|
||||||
.Where(u => u.Type == CodeGenTypeEnum.Backend)
|
.Where(u => u.Type == CodeGenTypeEnum.Backend)
|
||||||
.Where(u => u.Id == SqlFunc.Subqueryable<SysCodeGenTemplateRelation>().Where(s => s.CodeGenId == input.Id).GroupBy(s => s.TemplateId).Select(s => s.TemplateId))
|
.Where(u => u.Id == SqlFunc.Subqueryable<SysCodeGenTemplateRelation>().Where(s => s.CodeGenId == input.Id).GroupBy(s => s.TemplateId).Select(s => s.TemplateId))
|
||||||
.ToList();
|
.ToList();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return _codeGetTemplateRep.AsQueryable()
|
return _db.Queryable<SysCodeGenTemplate>()
|
||||||
.Where(u => u.Id == SqlFunc.Subqueryable<SysCodeGenTemplateRelation>().Where(s => s.CodeGenId == input.Id).GroupBy(s => s.TemplateId).Select(s => s.TemplateId))
|
.Where(u => u.Id == SqlFunc.Subqueryable<SysCodeGenTemplateRelation>().Where(s => s.CodeGenId == input.Id).GroupBy(s => s.TemplateId).Select(s => s.TemplateId))
|
||||||
.ToList();
|
.ToList();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -15,8 +15,8 @@ namespace Admin.NET.Core.Service;
|
|||||||
public class SysDbBackupService : IDynamicApiController, ITransient
|
public class SysDbBackupService : IDynamicApiController, ITransient
|
||||||
{
|
{
|
||||||
private readonly ISqlSugarClient _db;
|
private readonly ISqlSugarClient _db;
|
||||||
private readonly string _backupDir;
|
|
||||||
private readonly SysDatabaseService _databaseService;
|
private readonly SysDatabaseService _databaseService;
|
||||||
|
private readonly string _backupDir;
|
||||||
|
|
||||||
public SysDbBackupService(ISqlSugarClient db, SysDatabaseService databaseService)
|
public SysDbBackupService(ISqlSugarClient db, SysDatabaseService databaseService)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -13,21 +13,20 @@ namespace Admin.NET.Core.Service;
|
|||||||
public class SysDictDataService : IDynamicApiController, ITransient
|
public class SysDictDataService : IDynamicApiController, ITransient
|
||||||
{
|
{
|
||||||
private readonly SqlSugarRepository<SysDictData> _sysDictDataRep;
|
private readonly SqlSugarRepository<SysDictData> _sysDictDataRep;
|
||||||
public readonly ISugarQueryable<SysDictData> VSysDictData;
|
|
||||||
private readonly SysCacheService _sysCacheService;
|
private readonly SysCacheService _sysCacheService;
|
||||||
private readonly UserManager _userManager;
|
private readonly UserManager _userManager;
|
||||||
|
public readonly ISugarQueryable<SysDictData> VSysDictData;
|
||||||
|
|
||||||
public SysDictDataService(SqlSugarRepository<SysDictData> sysDictDataRep,
|
public SysDictDataService(SqlSugarRepository<SysDictData> sysDictDataRep,
|
||||||
SysCacheService sysCacheService,
|
SysCacheService sysCacheService,
|
||||||
UserManager userManager)
|
UserManager userManager)
|
||||||
{
|
{
|
||||||
_userManager = userManager;
|
|
||||||
_sysDictDataRep = sysDictDataRep;
|
_sysDictDataRep = sysDictDataRep;
|
||||||
_sysCacheService = sysCacheService;
|
_sysCacheService = sysCacheService;
|
||||||
|
_userManager = userManager;
|
||||||
VSysDictData = _sysDictDataRep.Context.UnionAll(
|
VSysDictData = _sysDictDataRep.Context.UnionAll(
|
||||||
_sysDictDataRep.AsQueryable(),
|
_sysDictDataRep.AsQueryable(),
|
||||||
_sysDictDataRep.Change<SysDictDataTenant>().AsQueryable()
|
_sysDictDataRep.Change<SysDictDataTenant>().AsQueryable().Select<SysDictData>());
|
||||||
.Select<SysDictData>());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@ -18,9 +18,9 @@ public class SysFileService : IDynamicApiController, ITransient
|
|||||||
private readonly SqlSugarRepository<SysFile> _sysFileRep;
|
private readonly SqlSugarRepository<SysFile> _sysFileRep;
|
||||||
private readonly OSSProviderOptions _OSSProviderOptions;
|
private readonly OSSProviderOptions _OSSProviderOptions;
|
||||||
private readonly UploadOptions _uploadOptions;
|
private readonly UploadOptions _uploadOptions;
|
||||||
private readonly string _imageType = ".jpeg.jpg.png.bmp.gif.tif";
|
|
||||||
private readonly INamedServiceProvider<ICustomFileProvider> _namedServiceProvider;
|
private readonly INamedServiceProvider<ICustomFileProvider> _namedServiceProvider;
|
||||||
private readonly ICustomFileProvider _customFileProvider;
|
private readonly ICustomFileProvider _customFileProvider;
|
||||||
|
private readonly string _imageType = ".jpeg.jpg.png.bmp.gif.tif";
|
||||||
|
|
||||||
public SysFileService(UserManager userManager,
|
public SysFileService(UserManager userManager,
|
||||||
SqlSugarRepository<SysFile> sysFileRep,
|
SqlSugarRepository<SysFile> sysFileRep,
|
||||||
|
|||||||
@ -17,21 +17,18 @@ public class SysMenuService : IDynamicApiController, ITransient
|
|||||||
private readonly SysRoleMenuService _sysRoleMenuService;
|
private readonly SysRoleMenuService _sysRoleMenuService;
|
||||||
private readonly SysUserRoleService _sysUserRoleService;
|
private readonly SysUserRoleService _sysUserRoleService;
|
||||||
private readonly SysUserMenuService _sysUserMenuService;
|
private readonly SysUserMenuService _sysUserMenuService;
|
||||||
private readonly SysCacheService _sysCacheService;
|
|
||||||
|
|
||||||
public SysMenuService(UserManager userManager,
|
public SysMenuService(UserManager userManager,
|
||||||
SqlSugarRepository<SysMenu> sysMenuRep,
|
SqlSugarRepository<SysMenu> sysMenuRep,
|
||||||
SysRoleMenuService sysRoleMenuService,
|
SysRoleMenuService sysRoleMenuService,
|
||||||
SysUserRoleService sysUserRoleService,
|
SysUserRoleService sysUserRoleService,
|
||||||
SysUserMenuService sysUserMenuService,
|
SysUserMenuService sysUserMenuService)
|
||||||
SysCacheService sysCacheService)
|
|
||||||
{
|
{
|
||||||
_userManager = userManager;
|
_userManager = userManager;
|
||||||
_sysMenuRep = sysMenuRep;
|
_sysMenuRep = sysMenuRep;
|
||||||
_sysRoleMenuService = sysRoleMenuService;
|
_sysRoleMenuService = sysRoleMenuService;
|
||||||
_sysUserRoleService = sysUserRoleService;
|
_sysUserRoleService = sysUserRoleService;
|
||||||
_sysUserMenuService = sysUserMenuService;
|
_sysUserMenuService = sysUserMenuService;
|
||||||
_sysCacheService = sysCacheService;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@ -96,8 +96,8 @@ public class SysOAuthService : IDynamicApiController, ITransient
|
|||||||
Email = email,
|
Email = email,
|
||||||
Avatar = avatarUrl,
|
Avatar = avatarUrl,
|
||||||
Phone = mobilePhone,
|
Phone = mobilePhone,
|
||||||
OrgId = 1300000000101, // 根组织架构
|
OrgId = SqlSugarConst.DefaultTenantId, // 根组织架构
|
||||||
RoleIdList = new List<long> { 1300000000104 } // 仅本人数据角色
|
RoleIdList = [1300000000104] // 仅本人数据角色
|
||||||
});
|
});
|
||||||
|
|
||||||
await _sysOAuthUserRep.InsertAsync(new SysOAuthUser()
|
await _sysOAuthUserRep.InsertAsync(new SysOAuthUser()
|
||||||
@ -114,7 +114,6 @@ public class SysOAuthService : IDynamicApiController, ITransient
|
|||||||
|
|
||||||
// 构建Token令牌,默认回调登录为PC模式
|
// 构建Token令牌,默认回调登录为PC模式
|
||||||
var token = await App.GetRequiredService<SysAuthService>().CreateToken(wechatUser.SysUser);
|
var token = await App.GetRequiredService<SysAuthService>().CreateToken(wechatUser.SysUser);
|
||||||
|
|
||||||
return new RedirectResult($"{redirectUrl}/#/login?token={token.AccessToken}");
|
return new RedirectResult($"{redirectUrl}/#/login?token={token.AccessToken}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -14,13 +14,13 @@ namespace Admin.NET.Core.Service;
|
|||||||
[ApiDescriptionSettings(Order = 300, Description = "在线用户")]
|
[ApiDescriptionSettings(Order = 300, Description = "在线用户")]
|
||||||
public class SysOnlineUserService : IDynamicApiController, ITransient
|
public class SysOnlineUserService : IDynamicApiController, ITransient
|
||||||
{
|
{
|
||||||
|
private readonly SqlSugarRepository<SysOnlineUser> _sysOnlineUerRep;
|
||||||
private readonly SysConfigService _sysConfigService;
|
private readonly SysConfigService _sysConfigService;
|
||||||
private readonly IHubContext<OnlineUserHub, IOnlineUserHub> _onlineUserHubContext;
|
private readonly IHubContext<OnlineUserHub, IOnlineUserHub> _onlineUserHubContext;
|
||||||
private readonly SqlSugarRepository<SysOnlineUser> _sysOnlineUerRep;
|
|
||||||
|
|
||||||
public SysOnlineUserService(SysConfigService sysConfigService,
|
public SysOnlineUserService(SqlSugarRepository<SysOnlineUser> sysOnlineUerRep,
|
||||||
IHubContext<OnlineUserHub, IOnlineUserHub> onlineUserHubContext,
|
SysConfigService sysConfigService,
|
||||||
SqlSugarRepository<SysOnlineUser> sysOnlineUerRep)
|
IHubContext<OnlineUserHub, IOnlineUserHub> onlineUserHubContext)
|
||||||
{
|
{
|
||||||
_sysConfigService = sysConfigService;
|
_sysConfigService = sysConfigService;
|
||||||
_onlineUserHubContext = onlineUserHubContext;
|
_onlineUserHubContext = onlineUserHubContext;
|
||||||
|
|||||||
@ -45,14 +45,14 @@ namespace Admin.NET.Web.Core
|
|||||||
var userId = context.User.FindFirst(ClaimConst.UserId)?.Value;
|
var userId = context.User.FindFirst(ClaimConst.UserId)?.Value;
|
||||||
var tokenVersion1 = context.User.FindFirst(ClaimConst.TokenVersion)?.Value;
|
var tokenVersion1 = context.User.FindFirst(ClaimConst.TokenVersion)?.Value;
|
||||||
var tokenVersion2 = sysCacheService.Get<string>($"{CacheConst.KeyUserToken}{userId}");
|
var tokenVersion2 = sysCacheService.Get<string>($"{CacheConst.KeyUserToken}{userId}");
|
||||||
if (string.IsNullOrWhiteSpace(tokenVersion2))
|
if (string.IsNullOrWhiteSpace(tokenVersion2) && !string.IsNullOrWhiteSpace(userId))
|
||||||
{
|
{
|
||||||
// 查库并缓存用户Token版本
|
// 查库并缓存用户Token版本
|
||||||
var user = await serviceScope.ServiceProvider.GetRequiredService<ISqlSugarClient>().Queryable<SysUser>().FirstAsync(u => u.Id == long.Parse(userId));
|
var user = await serviceScope.ServiceProvider.GetRequiredService<ISqlSugarClient>().Queryable<SysUser>().FirstAsync(u => u.Id == long.Parse(userId));
|
||||||
sysCacheService.Set($"{CacheConst.KeyUserToken}{user.Id}", $"{user.TokenVersion}");
|
sysCacheService.Set($"{CacheConst.KeyUserToken}{user.Id}", $"{user.TokenVersion}");
|
||||||
tokenVersion2 = user.TokenVersion.ToString();
|
tokenVersion2 = user.TokenVersion.ToString();
|
||||||
}
|
}
|
||||||
if (tokenVersion1 != tokenVersion2)
|
if (string.IsNullOrWhiteSpace(tokenVersion1) || tokenVersion1 != tokenVersion2)
|
||||||
{
|
{
|
||||||
context.Fail(new AuthorizationFailureReason(this, "令牌已失效,请重新登录。"));
|
context.Fail(new AuthorizationFailureReason(this, "令牌已失效,请重新登录。"));
|
||||||
context.GetCurrentHttpContext().SignoutToSwagger();
|
context.GetCurrentHttpContext().SignoutToSwagger();
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user