From 2a2d83d02602bc156c36f17cee157ba35b58e28f Mon Sep 17 00:00:00 2001 From: yubaolee Date: Wed, 19 Feb 2025 12:44:42 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4User=E4=B8=BASysUser=E3=80=81?= =?UTF-8?q?Resource=E4=B8=BASysResource?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- OpenAuth.App/AuthContextFactory.cs | 2 +- .../AuthStrategies/AuthStrategyContext.cs | 4 +- .../AuthStrategies/NormalAuthStrategy.cs | 12 +- .../AuthStrategies/SystemAuthStrategy.cs | 14 +- OpenAuth.App/FlowInstance/FlowInstanceApp.cs | 214 ++++++++---------- OpenAuth.App/Interface/IAuthStrategy.cs | 4 +- OpenAuth.App/Resources/ResourceApp.cs | 10 +- OpenAuth.App/SSO/LoginParse.cs | 18 +- OpenAuth.App/SysMessage/SysMessageApp.cs | 12 +- OpenAuth.App/Test/TestAsync.cs | 4 +- OpenAuth.App/Test/TestCache.cs | 6 +- .../UserManager/Request/UpdateUserReq.cs | 8 +- OpenAuth.App/UserManager/Response/UserView.cs | 8 +- OpenAuth.App/UserManager/UserManagerApp.cs | 38 ++-- OpenAuth.Identity/CustomProfileService.cs | 10 +- .../Quickstart/Account/AccountController.cs | 14 +- OpenAuth.Mvc/Startup.cs | 3 +- .../Domain/{Resource.cs => SysResource.cs} | 211 +++++++++-------- .../Domain/{User.cs => SysUser.cs} | 188 +++++++-------- OpenAuth.Repository/Domain/UserExt.cs | 4 +- OpenAuth.Repository/OpenAuthDBContext.cs | 23 +- OpenAuth.Repository/Test/TestDbContext.cs | 8 +- .../Test/TestSugarDynamicLinq.cs | 4 +- OpenAuth.Repository/Test/TestTransaction.cs | 12 +- OpenAuth.Repository/Test/TestUnitWork.cs | 4 +- .../Controllers/CheckController.cs | 4 +- .../Controllers/ResourcesController.cs | 4 +- 27 files changed, 417 insertions(+), 426 deletions(-) rename OpenAuth.Repository/Domain/{Resource.cs => SysResource.cs} (82%) rename OpenAuth.Repository/Domain/{User.cs => SysUser.cs} (93%) diff --git a/OpenAuth.App/AuthContextFactory.cs b/OpenAuth.App/AuthContextFactory.cs index c4c81f9d..803433bd 100644 --- a/OpenAuth.App/AuthContextFactory.cs +++ b/OpenAuth.App/AuthContextFactory.cs @@ -52,7 +52,7 @@ namespace OpenAuth.App else { service = _normalAuthStrategy; - service.User = _unitWork.FirstOrDefault(u => u.Account == username); + service.User = _unitWork.FirstOrDefault(u => u.Account == username); } return new AuthStrategyContext(service); diff --git a/OpenAuth.App/AuthStrategies/AuthStrategyContext.cs b/OpenAuth.App/AuthStrategies/AuthStrategyContext.cs index e6b6735b..ff5eecff 100644 --- a/OpenAuth.App/AuthStrategies/AuthStrategyContext.cs +++ b/OpenAuth.App/AuthStrategies/AuthStrategyContext.cs @@ -34,7 +34,7 @@ namespace OpenAuth.App this._strategy = strategy; } - public User User + public SysUser User { get { return _strategy.User; } } @@ -54,7 +54,7 @@ namespace OpenAuth.App get { return _strategy.Roles; } } - public List Resources + public List Resources { get { return _strategy.Resources; } } diff --git a/OpenAuth.App/AuthStrategies/NormalAuthStrategy.cs b/OpenAuth.App/AuthStrategies/NormalAuthStrategy.cs index 899144e5..d35a491b 100644 --- a/OpenAuth.App/AuthStrategies/NormalAuthStrategy.cs +++ b/OpenAuth.App/AuthStrategies/NormalAuthStrategy.cs @@ -30,10 +30,10 @@ namespace OpenAuth.App /// /// 普通用户授权策略 /// - public class NormalAuthStrategy : SqlSugarBaseApp, IAuthStrategy + public class NormalAuthStrategy : SqlSugarBaseApp, IAuthStrategy { - protected User _user; + protected SysUser _user; private List _userRoleIds; //用户角色GUID private DbExtension _dbExtension; @@ -79,14 +79,14 @@ namespace OpenAuth.App get { return SugarClient.Queryable().Where(u => _userRoleIds.Contains(u.Id)).ToList(); } } - public List Resources + public List Resources { get { var resourceIds = SugarClient.Queryable().Where( u => u.Key == Define.ROLERESOURCE && _userRoleIds.Contains(u.FirstId)).Select(u => u.SecondId).ToList(); - return SugarClient.Queryable().Where(u => resourceIds.Contains(u.Id)).ToList(); + return SugarClient.Queryable().Where(u => resourceIds.Contains(u.Id)).ToList(); } } @@ -97,7 +97,7 @@ namespace OpenAuth.App var orgids = SugarClient.Queryable().Where( u =>u.FirstId == _user.Id && u.Key == Define.USERORG).Select(u => u.SecondId).ToList(); return SugarClient.Queryable().Where(org =>orgids.Contains(org.Id)) - .LeftJoin((org, user) => org.ChairmanId ==user.Id) + .LeftJoin((org, user) => org.ChairmanId ==user.Id) .Select((org,user)=>new OrgView { Id = org.Id.SelectAll(), @@ -106,7 +106,7 @@ namespace OpenAuth.App } } - public User User + public SysUser User { get { return _user; } set diff --git a/OpenAuth.App/AuthStrategies/SystemAuthStrategy.cs b/OpenAuth.App/AuthStrategies/SystemAuthStrategy.cs index 5c802dd1..ad94b38f 100644 --- a/OpenAuth.App/AuthStrategies/SystemAuthStrategy.cs +++ b/OpenAuth.App/AuthStrategies/SystemAuthStrategy.cs @@ -31,9 +31,9 @@ namespace OpenAuth.App /// 超级管理员权限 /// 超级管理员使用guid.empty为ID,可以根据需要修改 /// - public class SystemAuthStrategy : SqlSugarBaseApp, IAuthStrategy + public class SystemAuthStrategy : SqlSugarBaseApp, IAuthStrategy { - protected User _user; + protected SysUser _user; private DbExtension _dbExtension; public List Modules @@ -54,15 +54,15 @@ namespace OpenAuth.App get { return SugarClient.Queryable().ToList(); } } - public List Resources + public List Resources { - get { return SugarClient.Queryable().ToList(); } + get { return SugarClient.Queryable().ToList(); } } public List Orgs { get { return SugarClient.Queryable() - .LeftJoin((org, user) => org.ChairmanId ==user.Id) + .LeftJoin((org, user) => org.ChairmanId ==user.Id) .Select((org,user)=>new OrgView { Id = org.Id.SelectAll(), @@ -70,7 +70,7 @@ namespace OpenAuth.App }).ToList(); } } - public User User + public SysUser User { get { return _user; } set //禁止外部设置 @@ -94,7 +94,7 @@ namespace OpenAuth.App public SystemAuthStrategy(ISqlSugarClient client,DbExtension dbExtension) : base(client, null) { _dbExtension = dbExtension; - _user = new User + _user = new SysUser { Account = Define.SYSTEM_USERNAME, Name = "超级管理员", diff --git a/OpenAuth.App/FlowInstance/FlowInstanceApp.cs b/OpenAuth.App/FlowInstance/FlowInstanceApp.cs index 7a0decb5..143c36a9 100644 --- a/OpenAuth.App/FlowInstance/FlowInstanceApp.cs +++ b/OpenAuth.App/FlowInstance/FlowInstanceApp.cs @@ -2,7 +2,7 @@ * @Author: yubaolee | ahfu~ <954478625@qq.com> * @Date: 2024-12-13 16:55:17 * @Description: 工作流实例表操作 - * @LastEditTime: 2025-02-13 17:26:19 + * @LastEditTime: 2025-02-19 11:43:24 * Copyright (c) 2024 by yubaolee | ahfu~ , All Rights Reserved. */ @@ -592,141 +592,135 @@ namespace OpenAuth.App var user = _auth.GetCurrentUser(); //行转列专用SQL string groupConcatSql = $@" ( SELECT GROUP_CONCAT(Account SEPARATOR ',') - FROM `User` + FROM `SysUser` WHERE fi.MakerList like concat('%', Id, '%') ) "; //sqlserver的行转列需要特殊处理 - if (SugarClient.CurrentConnectionConfig.DbType == DbType.SqlServer) + if(SugarClient.CurrentConnectionConfig.DbType == DbType.SqlServer) { groupConcatSql = $@" STUFF(( SELECT ',' + Account - FROM [User] + FROM [SysUser] WHERE fi.MakerList LIKE '%' + Id + '%' FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 1, '') "; } else if (SugarClient.CurrentConnectionConfig.DbType == DbType.Oracle) { - groupConcatSql = $@" (select listagg(""Account"", ',') within group (order by ""Account"") - from ""User"" - where fi.""MakerList"" like '%' || ""Id"" || '%') "; + groupConcatSql = $@" (select listagg(Account, ',') within group (order by Account) + from SysUser + where fi.MakerList like '%' || Id || '%') "; } string sql = String.Empty; + if (request.type == "wait") //待办事项(即需要我处理的流程) { sql = $@" - SELECT {"fi." + Quote("Id")}, - {"fi." + Quote("CreateUserName")}, - {"fi." + Quote("ActivityName")}, - {"fi." + Quote("CreateDate")}, - {"fi." + Quote("CustomName")}, - {"fi." + Quote("Code")}, - {"fi." + Quote("Description")}, - {"fi." + Quote("IsFinish")}, + SELECT fi.Id, + fi.CreateUserName, + fi.ActivityName, + fi.CreateDate, + fi.CustomName, + fi.Code, + fi.Description, + fi.IsFinish, CASE - WHEN {"fi." + Quote("MakerList")} = '1' THEN '所有人' - WHEN {"fi." + Quote("MakerList")} = '00000000-0000-0000-0000-000000000000' THEN 'System' - ELSE {groupConcatSql} - END AS {Quote("MakerList")} - FROM {Quote("FlowInstance")} fi - JOIN ( - SELECT {"fith." + Quote("Id")} - FROM {Quote("FlowInstance")} fith - WHERE ({"fith." + Quote("MakerList")} = '1' or {"fith." + Quote("MakerList")} LIKE '%{user.User.Id}%') - and ({"fith." + Quote("IsFinish")} = {FlowInstanceStatus.Running} or {"fith." + Quote("IsFinish")} = {FlowInstanceStatus.Rejected}) - and not exists ( - SELECT 1 - FROM {Quote("FlowApprover")} - WHERE {"fith." + Quote("Id")} = {Quote("InstanceId")} - and {"fith." + Quote("ActivityId")} = {Quote("ActivityId")} - and {Quote("Status")} = 0 - ) - UNION - SELECT {"fa." + Quote("InstanceId")} - FROM {Quote("FlowApprover")} fa - WHERE {"fa." + Quote("Status")} = 0 - AND {"fa." + Quote("ApproverId")} = '{user.User.Id}' - ) UniqueInstanceIds - ON {"fi." + Quote("Id")} = {"UniqueInstanceIds." + Quote("Id")} - "; + WHEN fi.MakerList = '1' THEN '所有人' + WHEN fi.MakerList = '00000000-0000-0000-0000-000000000000' THEN 'System' + ELSE {groupConcatSql} + END AS MakerList + FROM FlowInstance fi + JOIN (SELECT fith.Id + FROM FlowInstance fith + WHERE (MakerList = '1' or MakerList LIKE '%{user.User.Id}%') + and (fith.IsFinish = {FlowInstanceStatus.Running} or fith.IsFinish = {FlowInstanceStatus.Rejected}) + and not exists (select 1 + from flowapprover + where fith.Id = InstanceId + and fith.ActivityId = ActivityId + and Status = 0) + UNION + SELECT fa.InstanceId + FROM FlowApprover fa + WHERE fa.Status = 0 + AND fa.ApproverId = '{user.User.Id}') UniqueInstanceIds + ON fi.Id = UniqueInstanceIds.Id"; } else if (request.type == "disposed") //已办事项(即我参与过的流程) { sql = $@" - SELECT {"fi." + Quote("Id")}, - {"fi." + Quote("CreateUserName")}, - {"fi." + Quote("ActivityName")}, - {"fi." + Quote("CreateDate")}, - {"fi." + Quote("CustomName")}, - {"fi." + Quote("Code")}, - {"fi." + Quote("Description")}, - {"fi." + Quote("IsFinish")}, - CASE - WHEN {"fi." + Quote("MakerList")} = '1' THEN '所有人' - WHEN {"fi." + Quote("MakerList")} = '00000000-0000-0000-0000-000000000000' THEN 'System' - ELSE {groupConcatSql} - END AS {Quote("MakerList")} - FROM {Quote("FlowInstance")} fi - JOIN ( - SELECT {"fith." + Quote("InstanceId")} - FROM {Quote("FlowInstanceOperationHistory")} fith - WHERE {"fith." + Quote("CreateUserId")} = '{user.User.Id}' - UNION - SELECT {"fa." + Quote("InstanceId")} - FROM {Quote("FlowApprover")} fa - WHERE {"fa." + Quote("Status")} <> 0 - AND {"fa." + Quote("ApproverId")} = '{user.User.Id}' - ) UniqueInstanceIds - ON {"fi." + Quote("Id")} = {"UniqueInstanceIds." + Quote("InstanceId")} - "; + SELECT fi.Id, + fi.CreateUserName, + fi.ActivityName, + fi.CreateDate, + fi.CustomName, + fi.Code, + fi.Description, + fi.IsFinish, + CASE + WHEN fi.MakerList = '1' THEN '所有人' + WHEN fi.MakerList = '00000000-0000-0000-0000-000000000000' THEN 'System' + ELSE {groupConcatSql} + END AS MakerList + FROM FlowInstance fi + JOIN (SELECT fith.InstanceId + FROM FlowInstanceOperationHistory fith + WHERE fith.CreateUserId = '{user.User.Id}' + UNION + SELECT fa.InstanceId + FROM FlowApprover fa + WHERE fa.Status <> 0 + AND fa.ApproverId = '{user.User.Id}') UniqueInstanceIds + ON fi.Id = UniqueInstanceIds.InstanceId + "; } else //我的流程(我创建的及知会我的) { sql = $@" - SELECT {"fi." + Quote("Id")}, - {"fi." + Quote("CreateUserName")}, - {"fi." + Quote("ActivityName")}, - {"fi." + Quote("CreateDate")}, - {"fi." + Quote("CustomName")}, - {"fi." + Quote("Code")}, - {"fi." + Quote("Description")}, - {"fi." + Quote("IsFinish")}, - CASE - WHEN {"fi." + Quote("MakerList")} = '1' THEN '所有人' - WHEN {"fi." + Quote("MakerList")} = '00000000-0000-0000-0000-000000000000' THEN 'System' - ELSE {groupConcatSql} - END AS {Quote("MakerList")} - FROM {Quote("FlowInstance")} fi - JOIN ( - SELECT {Quote("Id")} as {Quote("InstanceId")} - FROM {Quote("FlowInstance")} - WHERE {Quote("CreateUserId")} = '{user.User.Id}' - UNION - SELECT DISTINCT {Quote("FirstId")} as {Quote("InstanceId")} - FROM {Quote("Relevance")} rel - INNER JOIN {Quote("FlowInstance")} flow ON {"rel." + Quote("FirstId")} = {"flow." + Quote("Id")} and {"flow." + Quote("IsFinish")} = 1 - WHERE {Quote("Key")} = '{Define.INSTANCE_NOTICE_USER}' - AND {Quote("SecondId")} = '{user.User.Id}' - UNION - SELECT DISTINCT {"a." + Quote("FirstId")} as {Quote("InstanceId")} - FROM {Quote("Relevance")} a - INNER JOIN ( - SELECT {Quote("SecondId")} as {Quote("RoleId")} - FROM {Quote("Relevance")} - WHERE {Quote("Key")} = 'UserRole' - AND {Quote("FirstId")} = '{user.User.Id}' - ) b ON {"a." + Quote("SecondId")} = {"b." + Quote("RoleId")} - INNER JOIN {Quote("FlowInstance")} flow ON {"a." + Quote("FirstId")} = {"flow." + Quote("Id")} and {"flow." + Quote("IsFinish")} = 1 - WHERE {"a." + Quote("Key")} = '{Define.INSTANCE_NOTICE_ROLE}' - ) UniqueInstanceIds - ON {"fi." + Quote("Id")} = {"UniqueInstanceIds." + Quote("InstanceId")} - "; + SELECT fi.Id, + fi.CreateUserName, + fi.ActivityName, + fi.CreateDate, + fi.CustomName, + fi.Code, + fi.Description, + fi.IsFinish, + CASE + WHEN fi.MakerList = '1' THEN '所有人' + WHEN fi.MakerList = '00000000-0000-0000-0000-000000000000' THEN 'System' + ELSE {groupConcatSql} + END AS MakerList + FROM FlowInstance fi + JOIN (select Id as InstanceId + from FlowInstance + where CreateUserId = '{user.User.Id}' + union + select distinct FirstId as InstanceId + from Relevance rel + inner join FlowInstance flow on rel.FirstId = flow.Id and flow.IsFinish = 1 + where `Key` = '{Define.INSTANCE_NOTICE_USER}' + and SecondId = '{user.User.Id}' + union + select distinct a.FirstId as InstanceId + from Relevance a + inner join (select SecondId as RoleId + from Relevance + where `Key` = 'UserRole' + and FirstId = '{user.User.Id}') b on a.SecondId = b.RoleId + inner join FlowInstance flow on a.FirstId = flow.Id and flow.IsFinish = 1 + where a.`Key` = '{Define.INSTANCE_NOTICE_ROLE}') UniqueInstanceIds + ON fi.Id = UniqueInstanceIds.InstanceId + "; } switch (SugarClient.CurrentConnectionConfig.DbType) { case DbType.SqlServer: + sql = sql.Replace("`Key`", "[Key]"); sql = sql.Replace("from dual", ""); break; + case DbType.Oracle: + sql = sql.Replace("`Key`", "\"KEY\""); + break; } var finalQuery = SugarClient.SqlQueryable(sql) @@ -738,18 +732,6 @@ namespace OpenAuth.App return result; } - string Quote(string name) - { - switch (SugarClient.CurrentConnectionConfig.DbType) - { - case DbType.SqlServer: - return $"[{name}]"; - case DbType.Oracle: - return $"\"{name}\""; - default: - return $"`{name}`"; - } - } public List QueryHistories(QueryFlowInstanceHistoryReq request) { diff --git a/OpenAuth.App/Interface/IAuthStrategy.cs b/OpenAuth.App/Interface/IAuthStrategy.cs index 1a58edd1..24a3073d 100644 --- a/OpenAuth.App/Interface/IAuthStrategy.cs +++ b/OpenAuth.App/Interface/IAuthStrategy.cs @@ -31,11 +31,11 @@ namespace OpenAuth.App List Roles { get; } - List Resources { get; } + List Resources { get; } List Orgs { get; } - User User + SysUser User { get;set; } diff --git a/OpenAuth.App/Resources/ResourceApp.cs b/OpenAuth.App/Resources/ResourceApp.cs index d8902778..ccc6f4a8 100644 --- a/OpenAuth.App/Resources/ResourceApp.cs +++ b/OpenAuth.App/Resources/ResourceApp.cs @@ -14,13 +14,13 @@ namespace OpenAuth.App /// /// 分类管理 /// - public class ResourceApp:SqlSugarBaseApp + public class ResourceApp:SqlSugarBaseApp { private RevelanceManagerApp _revelanceApp; public void Add(AddOrUpdateResReq resource) { - var obj = resource.MapTo(); + var obj = resource.MapTo(); CaculateCascade(obj); obj.CreateTime = DateTime.Now; var user = _auth.GetCurrentUser().User; @@ -32,7 +32,7 @@ namespace OpenAuth.App public void Update(AddOrUpdateResReq obj) { var user = _auth.GetCurrentUser().User; - Repository.Update(u => new Resource + Repository.Update(u => new SysResource { Name = obj.Name, Disable = obj.Disable, @@ -51,10 +51,10 @@ namespace OpenAuth.App },u => u.Id == obj.Id); } - public IEnumerable LoadForRole(string appId, string roleId) + public IEnumerable LoadForRole(string appId, string roleId) { var elementIds = _revelanceApp.Get(Define.ROLERESOURCE, true, roleId); - return SugarClient.Queryable().Where(u => elementIds.Contains(u.Id) && (appId == null || appId =="" || u.AppId == appId)).ToArray(); + return SugarClient.Queryable().Where(u => elementIds.Contains(u.Id) && (appId == null || appId =="" || u.AppId == appId)).ToArray(); } public async Task Load(QueryResourcesReq request) diff --git a/OpenAuth.App/SSO/LoginParse.cs b/OpenAuth.App/SSO/LoginParse.cs index 1e5e7bea..59544dd9 100644 --- a/OpenAuth.App/SSO/LoginParse.cs +++ b/OpenAuth.App/SSO/LoginParse.cs @@ -16,11 +16,11 @@ namespace OpenAuth.App.SSO { //这个地方使用IRepository 而不使用UserManagerApp是防止循环依赖 - public IRepository _app; + public IRepository _app; private ICacheContext _cacheContext; private AppManager _appInfoService; - public LoginParse( AppManager infoService, ICacheContext cacheContext, IRepository userApp) + public LoginParse( AppManager infoService, ICacheContext cacheContext, IRepository userApp) { _appInfoService = infoService; _cacheContext = cacheContext; @@ -40,10 +40,10 @@ namespace OpenAuth.App.SSO // throw new Exception("应用不存在"); // } //获取用户信息 - User userInfo = null; + SysUser sysUserInfo = null; if (model.Account == Define.SYSTEM_USERNAME) { - userInfo = new User + sysUserInfo = new SysUser { Id = Guid.Empty.ToString(), Account = Define.SYSTEM_USERNAME, @@ -53,19 +53,19 @@ namespace OpenAuth.App.SSO } else { - userInfo = _app.FirstOrDefault(u =>u.Account == model.Account); + sysUserInfo = _app.FirstOrDefault(u =>u.Account == model.Account); } - if (userInfo == null) + if (sysUserInfo == null) { throw new Exception("用户不存在"); } - if (userInfo.Password != model.Password) + if (sysUserInfo.Password != model.Password) { throw new Exception("密码错误"); } - if (userInfo.Status != 0) + if (sysUserInfo.Status != 0) { throw new Exception("账号状态异常,可能已停用"); } @@ -73,7 +73,7 @@ namespace OpenAuth.App.SSO var currentSession = new UserAuthSession { Account = model.Account, - Name = userInfo.Name, + Name = sysUserInfo.Name, Token = Guid.NewGuid().ToString().GetHashCode().ToString("x"), AppKey = model.AppKey, CreateTime = DateTime.Now diff --git a/OpenAuth.App/SysMessage/SysMessageApp.cs b/OpenAuth.App/SysMessage/SysMessageApp.cs index 1a660059..f07244d8 100644 --- a/OpenAuth.App/SysMessage/SysMessageApp.cs +++ b/OpenAuth.App/SysMessage/SysMessageApp.cs @@ -63,10 +63,10 @@ namespace OpenAuth.App /// public void SendMsgTo(string userId, string message) { - User user = null; + SysUser sysUser = null; if (userId == Guid.Empty.ToString()) { - user = new User + sysUser = new SysUser { Name = Define.SYSTEM_USERNAME, Id = userId @@ -74,17 +74,17 @@ namespace OpenAuth.App } else { - user = UnitWork.FirstOrDefault(u => u.Id == userId); + sysUser = UnitWork.FirstOrDefault(u => u.Id == userId); } - if (user == null) + if (sysUser == null) { _logger.LogError($"未能找到用户{userId},不能给该用户发送消息"); return; } Repository.Add(new SysMessage { - ToId = user.Id, - ToName = user.Name, + ToId = sysUser.Id, + ToName = sysUser.Name, TypeName = "系统消息", TypeId ="SYS_MSG", FromId = Guid.Empty.ToString(), diff --git a/OpenAuth.App/Test/TestAsync.cs b/OpenAuth.App/Test/TestAsync.cs index ef954025..a7dd48f9 100644 --- a/OpenAuth.App/Test/TestAsync.cs +++ b/OpenAuth.App/Test/TestAsync.cs @@ -50,11 +50,11 @@ namespace OpenAuth.App.Test private async Task AddOrUpdate() { - var repository = _autofacServiceProvider.GetService>(); + var repository = _autofacServiceProvider.GetService>(); var account = "user_" + DateTime.Now.ToString("yyyy_MM_dd HH:mm:ss"); - var user = new User + var user = new SysUser { Account = account, Name = account diff --git a/OpenAuth.App/Test/TestCache.cs b/OpenAuth.App/Test/TestCache.cs index 3375c31e..af9c0d55 100644 --- a/OpenAuth.App/Test/TestCache.cs +++ b/OpenAuth.App/Test/TestCache.cs @@ -49,14 +49,14 @@ namespace OpenAuth.App.Test public void SetObj() { var app = _autofacServiceProvider.GetService(); - app.Set("user:info", new User + app.Set("user:info", new SysUser { Name = "测试", Account ="Test", BizCode = "0.1.1" }, DateTime.Now.AddDays(1)); - var result = app.Get("user:info"); + var result = app.Get("user:info"); Console.WriteLine($"redis结果:{JsonHelper.Instance.Serialize(result)}"); } @@ -68,7 +68,7 @@ namespace OpenAuth.App.Test { var app = _autofacServiceProvider.GetService(); - var result = app.Get("noexistkey"); + var result = app.Get("noexistkey"); Console.WriteLine($"redis结果:{JsonHelper.Instance.Serialize(result)}"); } diff --git a/OpenAuth.App/UserManager/Request/UpdateUserReq.cs b/OpenAuth.App/UserManager/Request/UpdateUserReq.cs index dd04bba7..8f68eb53 100644 --- a/OpenAuth.App/UserManager/Request/UpdateUserReq.cs +++ b/OpenAuth.App/UserManager/Request/UpdateUserReq.cs @@ -61,14 +61,14 @@ namespace OpenAuth.App.Request [Required(ErrorMessage = "请为用户分配机构")] public string OrganizationIds { get; set; } - public static implicit operator UpdateUserReq(User user) + public static implicit operator UpdateUserReq(SysUser sysUser) { - return user.MapTo(); + return sysUser.MapTo(); } - public static implicit operator User(UpdateUserReq view) + public static implicit operator SysUser(UpdateUserReq view) { - return view.MapTo(); + return view.MapTo(); } public UpdateUserReq() diff --git a/OpenAuth.App/UserManager/Response/UserView.cs b/OpenAuth.App/UserManager/Response/UserView.cs index bf1ae529..b083ad9a 100644 --- a/OpenAuth.App/UserManager/Response/UserView.cs +++ b/OpenAuth.App/UserManager/Response/UserView.cs @@ -76,14 +76,14 @@ namespace OpenAuth.App.Response public string OrganizationIds { get; set; } - public static implicit operator UserView(User user) + public static implicit operator UserView(SysUser sysUser) { - return user.MapTo(); + return sysUser.MapTo(); } - public static implicit operator User(UserView view) + public static implicit operator SysUser(UserView view) { - return view.MapTo(); + return view.MapTo(); } public UserView() diff --git a/OpenAuth.App/UserManager/UserManagerApp.cs b/OpenAuth.App/UserManager/UserManagerApp.cs index ad9b07fe..4f3a0ee7 100644 --- a/OpenAuth.App/UserManager/UserManagerApp.cs +++ b/OpenAuth.App/UserManager/UserManagerApp.cs @@ -14,17 +14,17 @@ using OpenAuth.Repository.Domain; using OpenAuth.Repository.Interface; namespace OpenAuth.App { - public class UserManagerApp : BaseStringApp + public class UserManagerApp : BaseStringApp { private RevelanceManagerApp _revelanceApp; private OrgManagerApp _orgManagerApp; - public UserManagerApp(IUnitWork unitWork, IRepository repository, + public UserManagerApp(IUnitWork unitWork, IRepository repository, RevelanceManagerApp app,IAuth auth, OrgManagerApp orgManagerApp) : base(unitWork, repository, auth) { _revelanceApp = app; _orgManagerApp = orgManagerApp; } - public User GetByAccount(string account) + public SysUser GetByAccount(string account) { return Repository.FirstOrDefault(u => u.Account == account); } @@ -35,13 +35,13 @@ namespace OpenAuth.App public async Task Load(QueryUserListReq request) { var loginUser = _auth.GetCurrentUser(); - IQueryable query = UnitWork.Find(null); + IQueryable query = UnitWork.Find(null); if (!string.IsNullOrEmpty(request.key)) { - query = UnitWork.Find(u => u.Name.Contains(request.key) || u.Account.Contains(request.key)); + query = UnitWork.Find(u => u.Name.Contains(request.key) || u.Account.Contains(request.key)); } var userOrgs = from user in query - join user2 in UnitWork.Find(null) + join user2 in UnitWork.Find(null) on user.ParentId equals user2.Id into tempuser from u in tempuser.DefaultIfEmpty() join relevance in UnitWork.Find(u => u.Key == "UserOrg") @@ -113,13 +113,13 @@ namespace OpenAuth.App /// public async Task> LoadAll(QueryUserListReq request) { - IQueryable query = UnitWork.Find(null); + IQueryable query = UnitWork.Find(null); if (!string.IsNullOrEmpty(request.key)) { - query = UnitWork.Find(u => u.Name.Contains(request.key) || u.Account.Contains(request.key)); + query = UnitWork.Find(u => u.Name.Contains(request.key) || u.Account.Contains(request.key)); } var userOrgs = from user in query - join user2 in UnitWork.Find(null) + join user2 in UnitWork.Find(null) on user.ParentId equals user2.Id into tempuser from u in tempuser.DefaultIfEmpty() join relevance in UnitWork.Find(u => u.Key == "UserOrg") @@ -179,13 +179,13 @@ namespace OpenAuth.App request.ValidationEntity(u => new {u.Account,u.Name, u.OrganizationIds}); if (string.IsNullOrEmpty(request.OrganizationIds)) throw new Exception("请为用户分配机构"); - User requser = request; + SysUser requser = request; requser.CreateId = _auth.GetCurrentUser().User.Id; UnitWork.ExecuteWithTransaction(() => { if (string.IsNullOrEmpty(request.Id)) { - if (UnitWork.Any(u => u.Account == request.Account)) + if (UnitWork.Any(u => u.Account == request.Account)) { throw new Exception("用户账号已存在"); } @@ -199,7 +199,7 @@ namespace OpenAuth.App } else { - UnitWork.Update(u => u.Id == request.Id, u => new User + UnitWork.Update(u => u.Id == request.Id, u => new SysUser { Account = requser.Account, BizCode = requser.BizCode, @@ -210,7 +210,7 @@ namespace OpenAuth.App }); if (!string.IsNullOrEmpty(requser.Password)) //密码为空的时候,不做修改 { - UnitWork.Update(u => u.Id == request.Id, u => new User + UnitWork.Update(u => u.Id == request.Id, u => new SysUser { Password = requser.Password }); @@ -232,7 +232,7 @@ namespace OpenAuth.App { UnitWork.Delete(u =>(u.Key == Define.USERROLE || u.Key == Define.USERORG) && ids.Contains(u.FirstId)); - UnitWork.Delete(u => ids.Contains(u.Id)); + UnitWork.Delete(u => ids.Contains(u.Id)); UnitWork.Save(); }); } @@ -242,7 +242,7 @@ namespace OpenAuth.App /// public void ChangePassword(ChangePasswordReq request) { - Repository.Update(u => u.Account == request.Account, user => new User + Repository.Update(u => u.Account == request.Account, user => new SysUser { Password = request.Password }); @@ -256,7 +256,7 @@ namespace OpenAuth.App { var users = from userRole in UnitWork.Find(u => u.SecondId == request.roleId && u.Key == Define.USERROLE) - join user in UnitWork.Find(null) on userRole.FirstId equals user.Id into temp + join user in UnitWork.Find(null) on userRole.FirstId equals user.Id into temp from c in temp.Where(u =>u.Id != null) select c; return new TableData @@ -274,7 +274,7 @@ namespace OpenAuth.App { var users = from userOrg in UnitWork.Find(u => u.SecondId == request.orgId && u.Key == Define.USERORG) - join user in UnitWork.Find(null) on userOrg.FirstId equals user.Id into temp + join user in UnitWork.Find(null) on userOrg.FirstId equals user.Id into temp from c in temp.Where(u =>u.Id != null) select c; return new TableData @@ -293,7 +293,7 @@ namespace OpenAuth.App { throw new Exception("不能修改超级管理员信息"); } - Repository.Update(u => u.Account == request.Account, user => new User + Repository.Update(u => u.Account == request.Account, user => new SysUser { Name = request.Name, Sex = request.Sex @@ -349,7 +349,7 @@ namespace OpenAuth.App sql = sql.Replace("`Key`", "\"Key\""); } - var users = UnitWork.FromSql(sql); + var users = UnitWork.FromSql(sql); return users.Select(u=>u.Id).ToList(); } } diff --git a/OpenAuth.Identity/CustomProfileService.cs b/OpenAuth.Identity/CustomProfileService.cs index b2bbdf6a..6f79967f 100644 --- a/OpenAuth.Identity/CustomProfileService.cs +++ b/OpenAuth.Identity/CustomProfileService.cs @@ -78,12 +78,12 @@ namespace OpenAuth.IdentityServer return Task.CompletedTask; } - private User GetUserById(string id) + private SysUser GetUserById(string id) { - User user; + SysUser sysUser; if (id == Define.SYSTEM_USERNAME) { - user = new User + sysUser = new SysUser { Account = Define.SYSTEM_USERNAME, Id = Define.SYSTEM_USERNAME, @@ -92,10 +92,10 @@ namespace OpenAuth.IdentityServer } else { - user = UserManager.Get(id); + sysUser = UserManager.Get(id); } - return user; + return sysUser; } } } diff --git a/OpenAuth.Identity/Quickstart/Account/AccountController.cs b/OpenAuth.Identity/Quickstart/Account/AccountController.cs index 7e70b0cc..073d20e2 100644 --- a/OpenAuth.Identity/Quickstart/Account/AccountController.cs +++ b/OpenAuth.Identity/Quickstart/Account/AccountController.cs @@ -107,10 +107,10 @@ namespace OpenAuth.IdentityServer.Quickstart.Account if (ModelState.IsValid) { - User user; + SysUser sysUser; if (model.Username == Define.SYSTEM_USERNAME && model.Password == Define.SYSTEM_USERPWD) { - user = new User + sysUser = new SysUser { Account = Define.SYSTEM_USERNAME, Password = Define.SYSTEM_USERPWD, @@ -119,12 +119,12 @@ namespace OpenAuth.IdentityServer.Quickstart.Account } else { - user = _userManager.GetByAccount(model.Username); + sysUser = _userManager.GetByAccount(model.Username); } - if (user != null &&(user.Password ==model.Password)) + if (sysUser != null &&(sysUser.Password ==model.Password)) { - if (user.Status != 0) //判断用户状态 + if (sysUser.Status != 0) //判断用户状态 { await _events.RaiseAsync(new UserLoginFailureEvent(model.Username, "invalid user status")); ModelState.AddModelError(string.Empty, "user.status must be 0"); @@ -132,7 +132,7 @@ namespace OpenAuth.IdentityServer.Quickstart.Account return View(err); } - await _events.RaiseAsync(new UserLoginSuccessEvent(user.Account, user.Id, user.Account)); + await _events.RaiseAsync(new UserLoginSuccessEvent(sysUser.Account, sysUser.Id, sysUser.Account)); // only set explicit expiration here if user chooses "remember me". // otherwise we rely upon expiration configured in cookie middleware. @@ -147,7 +147,7 @@ namespace OpenAuth.IdentityServer.Quickstart.Account }; // issue authentication cookie with subject ID and username - await HttpContext.SignInAsync(user.Id, user.Account, props); + await HttpContext.SignInAsync(sysUser.Id, sysUser.Account, props); if (context != null) { diff --git a/OpenAuth.Mvc/Startup.cs b/OpenAuth.Mvc/Startup.cs index 3ec17a8f..b8d2684b 100644 --- a/OpenAuth.Mvc/Startup.cs +++ b/OpenAuth.Mvc/Startup.cs @@ -112,8 +112,7 @@ namespace OpenAuth.Mvc IsAutoCloseConnection = true, MoreSettings=new ConnMoreSettings() { PgSqlIsAutoToLower = false,//增删查改支持驼峰表 - PgSqlIsAutoToLowerCodeFirst = false, // 建表建驼峰表。5.1.3.30 - IsAutoToUpper=false //禁用自动转成大写表 + PgSqlIsAutoToLowerCodeFirst = false // 建表建驼峰表。5.1.3.30 } }, db => { db.Aop.OnLogExecuting = (sql, pars) => { logger.LogInformation(sql); }; }); return sqlSugar; diff --git a/OpenAuth.Repository/Domain/Resource.cs b/OpenAuth.Repository/Domain/SysResource.cs similarity index 82% rename from OpenAuth.Repository/Domain/Resource.cs rename to OpenAuth.Repository/Domain/SysResource.cs index 69c9c59a..d7ec35a7 100644 --- a/OpenAuth.Repository/Domain/Resource.cs +++ b/OpenAuth.Repository/Domain/SysResource.cs @@ -1,111 +1,102 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a CodeSmith Template. -// -// DO NOT MODIFY contents of this file. Changes to this -// file will be lost if the code is regenerated. -// Author:Yubao Li -// -//------------------------------------------------------------------------------ -using System; -using System.ComponentModel; -using System.ComponentModel.DataAnnotations.Schema; -using OpenAuth.Repository.Core; - -namespace OpenAuth.Repository.Domain -{ - /// - /// 资源表 - /// - [Table("Resource")] - public partial class Resource : TreeEntity - { - public Resource() - { - this.Name= string.Empty; - this.SortNo= 0; - this.Description= string.Empty; - this.AppId= string.Empty; - this.AppName= string.Empty; - this.TypeName= string.Empty; - this.TypeId= string.Empty; - this.CreateTime= DateTime.Now; - this.CreateUserId= string.Empty; - this.CreateUserName= string.Empty; - this.UpdateTime= DateTime.Now; - this.UpdateUserId= string.Empty; - this.UpdateUserName= string.Empty; - } - - - /// - /// 排序号 - /// - [Description("排序号")] - public int SortNo { get; set; } - /// - /// 描述 - /// - [Description("描述")] - public string Description { get; set; } - /// - /// 资源所属应用ID - /// - [Description("资源所属应用ID")] - [Browsable(false)] - public string AppId { get; set; } - /// - /// 所属应用名称 - /// - [Description("所属应用名称")] - public string AppName { get; set; } - /// - /// 分类名称 - /// - [Description("分类名称")] - public string TypeName { get; set; } - /// - /// 分类ID - /// - [Description("分类ID")] - [Browsable(false)] - public string TypeId { get; set; } - /// - /// 是否可用 - /// - [Description("是否可用")] - public bool Disable { get; set; } - /// - /// 创建时间 - /// - [Description("创建时间")] - public System.DateTime CreateTime { get; set; } - /// - /// 创建人ID - /// - [Description("创建人ID")] - [Browsable(false)] - public string CreateUserId { get; set; } - /// - /// 创建人 - /// - [Description("创建人")] - public string CreateUserName { get; set; } - /// - /// 最后更新时间 - /// - [Description("最后更新时间")] - public System.DateTime? UpdateTime { get; set; } - /// - /// 最后更新人ID - /// - [Description("最后更新人ID")] - [Browsable(false)] - public string UpdateUserId { get; set; } - /// - /// 最后更新人 - /// - [Description("最后更新人")] - public string UpdateUserName { get; set; } - } +using System; +using System.ComponentModel; +using System.ComponentModel.DataAnnotations.Schema; +using OpenAuth.Repository.Core; + +namespace OpenAuth.Repository.Domain +{ + /// + /// 资源表 + /// + [Table("SysResource")] + public partial class SysResource : TreeEntity + { + public SysResource() + { + this.Name= string.Empty; + this.SortNo= 0; + this.Description= string.Empty; + this.AppId= string.Empty; + this.AppName= string.Empty; + this.TypeName= string.Empty; + this.TypeId= string.Empty; + this.CreateTime= DateTime.Now; + this.CreateUserId= string.Empty; + this.CreateUserName= string.Empty; + this.UpdateTime= DateTime.Now; + this.UpdateUserId= string.Empty; + this.UpdateUserName= string.Empty; + } + + + /// + /// 排序号 + /// + [Description("排序号")] + public int SortNo { get; set; } + /// + /// 描述 + /// + [Description("描述")] + public string Description { get; set; } + /// + /// 资源所属应用ID + /// + [Description("资源所属应用ID")] + [Browsable(false)] + public string AppId { get; set; } + /// + /// 所属应用名称 + /// + [Description("所属应用名称")] + public string AppName { get; set; } + /// + /// 分类名称 + /// + [Description("分类名称")] + public string TypeName { get; set; } + /// + /// 分类ID + /// + [Description("分类ID")] + [Browsable(false)] + public string TypeId { get; set; } + /// + /// 是否可用 + /// + [Description("是否可用")] + public bool Disable { get; set; } + /// + /// 创建时间 + /// + [Description("创建时间")] + public System.DateTime CreateTime { get; set; } + /// + /// 创建人ID + /// + [Description("创建人ID")] + [Browsable(false)] + public string CreateUserId { get; set; } + /// + /// 创建人 + /// + [Description("创建人")] + public string CreateUserName { get; set; } + /// + /// 最后更新时间 + /// + [Description("最后更新时间")] + public System.DateTime? UpdateTime { get; set; } + /// + /// 最后更新人ID + /// + [Description("最后更新人ID")] + [Browsable(false)] + public string UpdateUserId { get; set; } + /// + /// 最后更新人 + /// + [Description("最后更新人")] + public string UpdateUserName { get; set; } + } } \ No newline at end of file diff --git a/OpenAuth.Repository/Domain/User.cs b/OpenAuth.Repository/Domain/SysUser.cs similarity index 93% rename from OpenAuth.Repository/Domain/User.cs rename to OpenAuth.Repository/Domain/SysUser.cs index 70e8885e..02a421bf 100644 --- a/OpenAuth.Repository/Domain/User.cs +++ b/OpenAuth.Repository/Domain/SysUser.cs @@ -1,95 +1,95 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a CodeSmith Template. -// -// DO NOT MODIFY contents of this file. Changes to this -// file will be lost if the code is regenerated. -// Author:Yubao Li -// -//------------------------------------------------------------------------------ -using System; -using System.ComponentModel; -using System.ComponentModel.DataAnnotations.Schema; -using OpenAuth.Repository.Core; - -namespace OpenAuth.Repository.Domain -{ - /// - /// 用户基本信息表 - /// - [Table("User")] - public partial class User : StringEntity - { - public User() - { - this.Account= string.Empty; - this.Password= string.Empty; - this.Name= string.Empty; - this.Sex= 0; - this.Status= 0; - this.BizCode= string.Empty; - this.CreateTime= DateTime.Now; - this.CreateId= string.Empty; - this.TypeName= string.Empty; - this.TypeId= string.Empty; - } - - /// - /// 用户登录帐号 - /// - [Description("用户登录帐号")] - public string Account { get; set; } - /// - /// 密码 - /// - [Description("密码")] - public string Password { get; set; } - /// - /// 用户姓名 - /// - [Description("用户姓名")] - public string Name { get; set; } - /// - /// 性别 - /// - [Description("性别")] - public int Sex { get; set; } - /// - /// 用户状态 - /// - [Description("用户状态")] - public int Status { get; set; } - /// - /// 业务对照码 - /// - [Description("业务对照码")] - public string BizCode { get; set; } - /// - /// 经办时间 - /// - [Description("经办时间")] - public System.DateTime CreateTime { get; set; } - /// - /// 创建人 - /// - [Description("创建人")] - public string CreateId { get; set; } - /// - /// 分类名称 - /// - [Description("分类名称")] - public string TypeName { get; set; } - /// - /// 分类ID - /// - [Description("分类ID")] - public string TypeId { get; set; } - - /// - /// 直接上级 - /// - [Description("直接上级")] - public string ParentId { get; set; } - - } +//------------------------------------------------------------------------------ +// +// This code was generated by a CodeSmith Template. +// +// DO NOT MODIFY contents of this file. Changes to this +// file will be lost if the code is regenerated. +// Author:Yubao Li +// +//------------------------------------------------------------------------------ +using System; +using System.ComponentModel; +using System.ComponentModel.DataAnnotations.Schema; +using OpenAuth.Repository.Core; + +namespace OpenAuth.Repository.Domain +{ + /// + /// 用户基本信息表 + /// + [Table("SysUser")] + public partial class SysUser : StringEntity + { + public SysUser() + { + this.Account= string.Empty; + this.Password= string.Empty; + this.Name= string.Empty; + this.Sex= 0; + this.Status= 0; + this.BizCode= string.Empty; + this.CreateTime= DateTime.Now; + this.CreateId= string.Empty; + this.TypeName= string.Empty; + this.TypeId= string.Empty; + } + + /// + /// 用户登录帐号 + /// + [Description("用户登录帐号")] + public string Account { get; set; } + /// + /// 密码 + /// + [Description("密码")] + public string Password { get; set; } + /// + /// 用户姓名 + /// + [Description("用户姓名")] + public string Name { get; set; } + /// + /// 性别 + /// + [Description("性别")] + public int Sex { get; set; } + /// + /// 用户状态 + /// + [Description("用户状态")] + public int Status { get; set; } + /// + /// 业务对照码 + /// + [Description("业务对照码")] + public string BizCode { get; set; } + /// + /// 经办时间 + /// + [Description("经办时间")] + public System.DateTime CreateTime { get; set; } + /// + /// 创建人 + /// + [Description("创建人")] + public string CreateId { get; set; } + /// + /// 分类名称 + /// + [Description("分类名称")] + public string TypeName { get; set; } + /// + /// 分类ID + /// + [Description("分类ID")] + public string TypeId { get; set; } + + /// + /// 直接上级 + /// + [Description("直接上级")] + public string ParentId { get; set; } + + } } \ No newline at end of file diff --git a/OpenAuth.Repository/Domain/UserExt.cs b/OpenAuth.Repository/Domain/UserExt.cs index 1a41f77d..08ce0ef2 100644 --- a/OpenAuth.Repository/Domain/UserExt.cs +++ b/OpenAuth.Repository/Domain/UserExt.cs @@ -7,9 +7,9 @@ namespace OpenAuth.Repository.Domain /// public static class UserExt { - public static void CheckPassword(this User user, string password) + public static void CheckPassword(this SysUser sysUser, string password) { - if (user.Password != password) + if (sysUser.Password != password) { throw new Exception("密码错误"); } diff --git a/OpenAuth.Repository/OpenAuthDBContext.cs b/OpenAuth.Repository/OpenAuthDBContext.cs index d73864dd..edb32c76 100644 --- a/OpenAuth.Repository/OpenAuthDBContext.cs +++ b/OpenAuth.Repository/OpenAuthDBContext.cs @@ -5,6 +5,7 @@ using Infrastructure.Extensions; using Infrastructure.Utilities; using Microsoft.AspNetCore.Http; using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Logging; @@ -106,6 +107,24 @@ namespace OpenAuth.Repository } } } + + //如果数据库是Oracle,则将所有表名和字段名转换为大写 + if (Database.ProviderName == "Oracle.EntityFrameworkCore") + { + foreach (var entity in modelBuilder.Model.GetEntityTypes()) + { + entity.SetTableName(entity.GetTableName().ToUpper()); + // 将所有属性映射到大写列名 + foreach (var property in entity.GetProperties()) + { + var storeObject = StoreObjectIdentifier.Create(entity, StoreObjectType.Table); + if (storeObject.HasValue) + { + property.SetColumnName(property.GetColumnName(storeObject.Value).ToUpper()); + } + } + } + } } public virtual DbSet Applications { get; set; } @@ -120,9 +139,9 @@ namespace OpenAuth.Repository public virtual DbSet ModuleElements { get; set; } public virtual DbSet Orgs { get; set; } public virtual DbSet Relevances { get; set; } - public virtual DbSet Resources { get; set; } + public virtual DbSet Resources { get; set; } public virtual DbSet Roles { get; set; } - public virtual DbSet Users { get; set; } + public virtual DbSet Users { get; set; } public virtual DbSet UploadFiles { get; set; } public virtual DbSet SysPrinterPlans { get; set; } public virtual DbSet FrmLeaveReqs { get; set; } diff --git a/OpenAuth.Repository/Test/TestDbContext.cs b/OpenAuth.Repository/Test/TestDbContext.cs index 97cc9db0..a871576a 100644 --- a/OpenAuth.Repository/Test/TestDbContext.cs +++ b/OpenAuth.Repository/Test/TestDbContext.cs @@ -21,7 +21,7 @@ namespace OpenAuth.Repository.Test var account = "user_" + DateTime.Now.ToString("yyyy_MM_dd HH:mm:ss"); Console.WriteLine(account); - dbcontext.Users.Add(new User + dbcontext.Users.Add(new SysUser { Account = account, Name = account, @@ -83,10 +83,10 @@ namespace OpenAuth.Repository.Test Console.WriteLine(account); - var repository = _autofacServiceProvider.GetService>(); + var repository = _autofacServiceProvider.GetService>(); //新增 - repository.Add(new User + repository.Add(new SysUser { Account = account, Name = account, @@ -105,7 +105,7 @@ namespace OpenAuth.Repository.Test Assert.NotNull(newuser); //批量修改 - repository.Update(u => u.Id == id, u =>new User{ Name = account}); + repository.Update(u => u.Id == id, u =>new SysUser{ Name = account}); newuser = repository.FirstOrDefault(u => u.Name == account); Assert.NotNull(newuser); diff --git a/OpenAuth.Repository/Test/TestSugarDynamicLinq.cs b/OpenAuth.Repository/Test/TestSugarDynamicLinq.cs index ff3c4451..167a0714 100644 --- a/OpenAuth.Repository/Test/TestSugarDynamicLinq.cs +++ b/OpenAuth.Repository/Test/TestSugarDynamicLinq.cs @@ -52,7 +52,7 @@ namespace OpenAuth.Repository.Test } "; - var query = sugarClient.Queryable().GenerateFilter("c",json); + var query = sugarClient.Queryable().GenerateFilter("c",json); Console.WriteLine(query.ToSqlString()); Console.WriteLine(JsonHelper.Instance.Serialize(query.ToList())); @@ -100,7 +100,7 @@ namespace OpenAuth.Repository.Test var sugarClient = _autofacServiceProvider.GetService(); - var query = sugarClient.Queryable().GenerateFilter("c",queryObject); + var query = sugarClient.Queryable().GenerateFilter("c",queryObject); Console.WriteLine(query.ToSqlString()); } } diff --git a/OpenAuth.Repository/Test/TestTransaction.cs b/OpenAuth.Repository/Test/TestTransaction.cs index a6db4d0a..21a86a93 100644 --- a/OpenAuth.Repository/Test/TestTransaction.cs +++ b/OpenAuth.Repository/Test/TestTransaction.cs @@ -51,7 +51,7 @@ namespace OpenAuth.Repository.Test } //如果没有插入成功,表示事务发生了回滚 - Assert.IsFalse(unitWork.Any( u=>u.Id == account)); + Assert.IsFalse(unitWork.Any( u=>u.Id == account)); } @@ -60,7 +60,7 @@ namespace OpenAuth.Repository.Test /// private void AddAndUpdate(string account, IUnitWork unitWork) { - var user = new User + var user = new SysUser { Id = account, Account = account, @@ -78,7 +78,7 @@ namespace OpenAuth.Repository.Test unitWork.Save(); - unitWork.Update(u => u.Id == account, u => new User + unitWork.Update(u => u.Id == account, u => new SysUser { Account = "Trans2_" + user.Account }); @@ -90,7 +90,7 @@ namespace OpenAuth.Repository.Test { var unitWork = _autofacServiceProvider.GetService>(); - var users = unitWork.Find(u => u.Account.Contains("test")); + var users = unitWork.Find(u => u.Account.Contains("test")); foreach (var user in users) { user.Name = "user_" + DateTime.Now.ToString("yyyy_MM_dd HH:mm:ss"); @@ -105,12 +105,12 @@ namespace OpenAuth.Repository.Test public void MultiUpdate2() { var unitWork = _autofacServiceProvider.GetService>(); - var users = unitWork.Find(null).ToList(); + var users = unitWork.Find(null).ToList(); unitWork.ExecuteWithTransaction(()=> { foreach (var req in users) { - unitWork.Update(u =>u.Id == req.Id, user => new User + unitWork.Update(u =>u.Id == req.Id, user => new SysUser { Name = "user_" + DateTime.Now.ToString("yyyy_MM_dd HH:mm:ss") }); diff --git a/OpenAuth.Repository/Test/TestUnitWork.cs b/OpenAuth.Repository/Test/TestUnitWork.cs index 7d20df1a..5b7914fb 100644 --- a/OpenAuth.Repository/Test/TestUnitWork.cs +++ b/OpenAuth.Repository/Test/TestUnitWork.cs @@ -23,7 +23,7 @@ namespace OpenAuth.Repository.Test public void ExecProcedure() { var unitWork = _autofacServiceProvider.GetService>(); - var users = unitWork.ExecProcedure("sp_alluser"); + var users = unitWork.ExecProcedure("sp_alluser"); Console.WriteLine(JsonHelper.Instance.Serialize(users)); } @@ -37,7 +37,7 @@ namespace OpenAuth.Repository.Test var unitWork = _autofacServiceProvider.GetService>(); var param = new MySqlParameter("keyword", SqlDbType.NVarChar); param.Value = "test%"; - var users = unitWork.ExecProcedure("sp_alluser", new []{param}); + var users = unitWork.ExecProcedure("sp_alluser", new []{param}); Console.WriteLine(JsonHelper.Instance.Serialize(users)); } diff --git a/OpenAuth.WebApi/Controllers/CheckController.cs b/OpenAuth.WebApi/Controllers/CheckController.cs index 0579104c..a5a5f504 100644 --- a/OpenAuth.WebApi/Controllers/CheckController.cs +++ b/OpenAuth.WebApi/Controllers/CheckController.cs @@ -273,9 +273,9 @@ namespace OpenAuth.WebApi.Controllers /// 获取登录用户的所有可访问的资源 /// [HttpGet] - public Response> GetResources() + public Response> GetResources() { - var result = new Response>(); + var result = new Response>(); try { result.Result = _authStrategyContext.Resources; diff --git a/OpenAuth.WebApi/Controllers/ResourcesController.cs b/OpenAuth.WebApi/Controllers/ResourcesController.cs index 3fb7f54f..15ef6948 100644 --- a/OpenAuth.WebApi/Controllers/ResourcesController.cs +++ b/OpenAuth.WebApi/Controllers/ResourcesController.cs @@ -87,9 +87,9 @@ namespace OpenAuth.WebApi.Controllers /// 应用ID /// 角色ID [HttpGet] - public Response> LoadForRole(string appId, string firstId) + public Response> LoadForRole(string appId, string firstId) { - var result = new Response>(); + var result = new Response>(); try { result.Result = _app.LoadForRole(appId, firstId).ToList();