From d2c8f783e102956359f49e58ee1760d0009b7376 Mon Sep 17 00:00:00 2001 From: yubaolee Date: Sun, 24 May 2026 23:34:27 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=84refactor:=20=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E4=B8=BASqlSugar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- OpenAuth.App/BuilderTable/BuilderTableApp.cs | 65 ++++++---------- OpenAuth.App/Category/CategoryTypeApp.cs | 30 ++++--- OpenAuth.App/Files/FileApp.cs | 20 +++-- OpenAuth.App/Form/DragForm.cs | 13 ++-- OpenAuth.App/Form/FormApp.cs | 30 +++---- OpenAuth.App/Form/FormFactory.cs | 9 +-- OpenAuth.App/Form/LeipiForm.cs | 13 ++-- OpenAuth.App/FrmLeave/FrmLeaveReqApp.cs | 22 +++--- OpenAuth.App/Relevance/RevelanceManagerApp.cs | 78 ++++++++----------- OpenAuth.App/SysLogs/SysLogApp.cs | 16 ++-- 10 files changed, 130 insertions(+), 166 deletions(-) diff --git a/OpenAuth.App/BuilderTable/BuilderTableApp.cs b/OpenAuth.App/BuilderTable/BuilderTableApp.cs index 2e92b82f..58b2ad44 100644 --- a/OpenAuth.App/BuilderTable/BuilderTableApp.cs +++ b/OpenAuth.App/BuilderTable/BuilderTableApp.cs @@ -11,7 +11,6 @@ using Infrastructure; using Infrastructure.Extensions; using Infrastructure.Helpers; using Infrastructure.Utilities; -using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.DependencyModel; using Microsoft.Extensions.Options; using OpenAuth.App.Interface; @@ -20,12 +19,12 @@ using OpenAuth.App.Response; using OpenAuth.Repository; using OpenAuth.Repository.Core; using OpenAuth.Repository.Domain; -using OpenAuth.Repository.Interface; +using SqlSugar; namespace OpenAuth.App { - public class BuilderTableApp : BaseStringApp + public class BuilderTableApp : SqlSugarBaseApp { private BuilderTableColumnApp _builderTableColumnApp; private CategoryApp _categoryApp; @@ -34,9 +33,9 @@ namespace OpenAuth.App private string _startName = ""; private IOptions _appConfiguration; - public BuilderTableApp(IUnitWork unitWork, IRepository repository, + public BuilderTableApp(ISqlSugarClient client, RevelanceManagerApp app, IAuth auth, DbExtension dbExtension, BuilderTableColumnApp builderTableColumnApp, - IOptions appConfiguration, CategoryApp categoryApp) : base(unitWork, repository, auth) + IOptions appConfiguration, CategoryApp categoryApp) : base(client, auth) { _dbExtension = dbExtension; _builderTableColumnApp = builderTableColumnApp; @@ -87,7 +86,7 @@ namespace OpenAuth.App } var result = new PagedListDataResp(); - var objs = UnitWork.Find(null); + var objs = SugarClient.Queryable(); if (!string.IsNullOrEmpty(request.key)) { objs = objs.Where(u => u.Id.Contains(request.key)); @@ -126,7 +125,6 @@ namespace OpenAuth.App Check(req); var obj = AddTableAndColumns(req.MapTo()); - UnitWork.Save(); return obj.Id; } @@ -143,8 +141,7 @@ namespace OpenAuth.App var user = _auth.GetCurrentUser().User; obj.CreateUserId = user.Id; obj.CreateUserName = user.Name; - UnitWork.Add(obj); - UnitWork.Save(); //需要先保存表结构,后面才能正常判定 + Repository.Insert(obj); _dbExtension.ProcessExternalDb(obj.Id); //先处理外部数据库连接 var columns = _dbExtension.GetDbTableStructure(obj.TableName); @@ -175,7 +172,7 @@ namespace OpenAuth.App CreateUserName = user.Name, CreateTime = DateTime.Now }; - UnitWork.Add(builderColumn); + SugarClient.Insertable(builderColumn).ExecuteCommand(); } return obj; @@ -185,7 +182,7 @@ namespace OpenAuth.App { Check(obj); var user = _auth.GetCurrentUser().User; - UnitWork.Update(u => u.Id == obj.Id, u => new BuilderTable + Repository.Update(u => new BuilderTable { TableName = obj.TableName, Remark = obj.Remark, @@ -204,7 +201,7 @@ namespace OpenAuth.App UpdateUserId = user.Id, UpdateUserName = user.Name, ExternalDataSourceId = obj.ExternalDataSourceId //外部数据源ID - }); + }, u => u.Id == obj.Id); } /// @@ -213,12 +210,10 @@ namespace OpenAuth.App /// public void DelTableAndcolumns(string[] ids) { - UnitWork.ExecuteWithTransaction(() => - { - UnitWork.Delete(u => ids.Contains(u.Id)); - UnitWork.Delete(u => ids.Contains(u.TableId)); - UnitWork.Save(); - }); + SugarClient.Ado.BeginTran(); + SugarClient.Deleteable().Where(u => ids.Contains(u.Id)).ExecuteCommand(); + SugarClient.Deleteable().Where(u => ids.Contains(u.TableId)).ExecuteCommand(); + SugarClient.Ado.CommitTran(); } @@ -228,7 +223,7 @@ namespace OpenAuth.App /// public void CreateEntity(CreateEntityReq req) { - var sysTableInfo = Repository.FirstOrDefault(u => u.Id == req.Id); + var sysTableInfo = SugarClient.Queryable().First(u => u.Id == req.Id); var tableColumns = _builderTableColumnApp.Find(req.Id); if (sysTableInfo == null || tableColumns == null @@ -247,7 +242,7 @@ namespace OpenAuth.App /// public void CreateBusiness(CreateBusiReq req) { - var sysTableInfo = Repository.FirstOrDefault(u => u.Id == req.Id); + var sysTableInfo = SugarClient.Queryable().First(u => u.Id == req.Id); var mainColumns = _builderTableColumnApp.Find(req.Id); if (sysTableInfo == null || mainColumns == null @@ -319,7 +314,7 @@ namespace OpenAuth.App string domainContent = string.Empty; //查找是否存在子表的情况 - var subTable = Repository.FirstOrDefault(u => u.ParentTableId == sysTableInfo.Id); + var subTable = SugarClient.Queryable().First(u => u.ParentTableId == sysTableInfo.Id); if (subTable == null) //如果子表不存在,则用单模版生成 { @@ -386,21 +381,7 @@ namespace OpenAuth.App { throw new Exception($"未能找到表{sysTableInfo.TableName}的主键字段"); } - if (primarykey.ColumnType == "decimal" || primarykey.ColumnType == "numeric") //是否为数字 - { - if (primarykey.IsIncrement) //是否自增 - { - domainContent = domainContent.Replace("{BaseAppName}", "BaseIntAutoGenApp"); - } - else //普通的雪花算法生成id - { - domainContent = domainContent.Replace("{BaseAppName}", "BaseLongApp"); - } - } - else - { - domainContent = domainContent.Replace("{BaseAppName}", "BaseStringApp"); - } + domainContent = domainContent.Replace("{BaseAppName}", "SqlSugarBaseApp"); FileHelper.WriteFile($"{appRootPath}\\{sysTableInfo.ModuleCode}", $"{sysTableInfo.ModuleCode}.cs", domainContent); } @@ -465,7 +446,7 @@ namespace OpenAuth.App } //查找是否存在子表的情况 - var subTable = Repository.FirstOrDefault(u => u.ParentTableId == sysTableInfo.Id); + var subTable = SugarClient.Queryable().First(u => u.ParentTableId == sysTableInfo.Id); if (subTable != null) //如果子表存在,需要加子表的请求参数 { @@ -705,7 +686,7 @@ namespace OpenAuth.App { var types = AssemblyLoadContext.Default .LoadFromAssemblyName(new AssemblyName(compilation.Name)) - .GetTypes().Where(x => x.GetTypeInfo().BaseType != null + .GetTypes().Where(x => System.Reflection.IntrospectionExtensions.GetTypeInfo(x).BaseType != null && x.BaseType == typeof(StringEntity)); foreach (var entity in types) { @@ -736,7 +717,7 @@ namespace OpenAuth.App { throw new Exception("请提供vue项目的根目录,如:C:\\OpenAuth.Pro\\Client"); } - var sysTableInfo = Repository.FirstOrDefault(u => u.Id == req.Id); + var sysTableInfo = SugarClient.Queryable().First(u => u.Id == req.Id); if (!string.IsNullOrEmpty(sysTableInfo.ParentTableId)) { @@ -753,7 +734,7 @@ namespace OpenAuth.App string domainContent = string.Empty; //查找是否存在子表额情况 - var subTable = Repository.FirstOrDefault(u => u.ParentTableId == req.Id); + var subTable = SugarClient.Queryable().First(u => u.ParentTableId == req.Id); if (subTable == null) //如果子表不存在,则用单模版生成 { @@ -868,7 +849,7 @@ namespace OpenAuth.App { throw new Exception("请提供vue项目的根目录,如:C:\\OpenAuth.Pro\\Client"); } - var sysTableInfo = Repository.FirstOrDefault(u => u.Id == req.Id); + var sysTableInfo = SugarClient.Queryable().First(u => u.Id == req.Id); var tableColumns = _builderTableColumnApp.Find(req.Id); if (sysTableInfo == null || tableColumns == null @@ -890,7 +871,7 @@ namespace OpenAuth.App public async Task AllMain() { var result = new PagedDynamicDataResp(); - var objs = UnitWork.Find(u => string.IsNullOrEmpty(u.ParentTableId)).Select(u => new + var objs = SugarClient.Queryable().Where(u => string.IsNullOrEmpty(u.ParentTableId)).Select(u => new { Id = u.Id, Name = u.TableName diff --git a/OpenAuth.App/Category/CategoryTypeApp.cs b/OpenAuth.App/Category/CategoryTypeApp.cs index b7fff817..e0952cc2 100644 --- a/OpenAuth.App/Category/CategoryTypeApp.cs +++ b/OpenAuth.App/Category/CategoryTypeApp.cs @@ -3,18 +3,16 @@ using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Infrastructure; -using Microsoft.EntityFrameworkCore; using OpenAuth.App.Interface; using OpenAuth.App.Request; using OpenAuth.App.Response; -using OpenAuth.Repository; using OpenAuth.Repository.Domain; -using OpenAuth.Repository.Interface; +using SqlSugar; namespace OpenAuth.App { - public class CategoryTypeApp : BaseStringApp + public class CategoryTypeApp : SqlSugarBaseApp { private RevelanceManagerApp _revelanceApp; @@ -24,7 +22,7 @@ namespace OpenAuth.App public async Task Load(QueryCategoryTypeListReq request) { var result = new PagedDynamicDataResp(); - var objs = UnitWork.Find(null); + var objs = SugarClient.Queryable(); if (!string.IsNullOrEmpty(request.key)) { objs = objs.Where(u => u.Id.Contains(request.key) || u.Name.Contains(request.key)); @@ -42,39 +40,37 @@ namespace OpenAuth.App var obj = req.MapTo(); //todo:补充或调整自己需要的字段 obj.CreateTime = DateTime.Now; - Repository.Add(obj); + Repository.Insert(obj); } public void Update(AddOrUpdateCategoryTypeReq obj) { var user = _auth.GetCurrentUser().User; - UnitWork.Update(u => u.Id == obj.Id, u => new CategoryType + Repository.Update(u => new CategoryType { Name = obj.Name, CreateTime = DateTime.Now //todo:补充或调整自己需要的字段 - }); + }, u => u.Id == obj.Id); } public new void Delete(string[] ids) { - UnitWork.ExecuteWithTransaction(() => - { - UnitWork.Delete(u=>ids.Contains(u.Id)); - UnitWork.Delete(u=>ids.Contains(u.TypeId)); - UnitWork.Save(); - }); + SugarClient.Ado.BeginTran(); + SugarClient.Deleteable().Where(u=>ids.Contains(u.Id)).ExecuteCommand(); + SugarClient.Deleteable().Where(u=>ids.Contains(u.TypeId)).ExecuteCommand(); + SugarClient.Ado.CommitTran(); } public List AllTypes() { - return UnitWork.Find(null).ToList(); + return SugarClient.Queryable().ToList(); } - public CategoryTypeApp(IUnitWork unitWork, IRepository repository, - RevelanceManagerApp app, IAuth auth) : base(unitWork, repository,auth) + public CategoryTypeApp(ISqlSugarClient client, + RevelanceManagerApp app, IAuth auth) : base(client, auth) { _revelanceApp = app; } diff --git a/OpenAuth.App/Files/FileApp.cs b/OpenAuth.App/Files/FileApp.cs index 5904579d..48b2bee6 100644 --- a/OpenAuth.App/Files/FileApp.cs +++ b/OpenAuth.App/Files/FileApp.cs @@ -7,31 +7,29 @@ using Infrastructure; using Infrastructure.Extensions; using Infrastructure.Helpers; using Microsoft.AspNetCore.Http; -using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; using OpenAuth.App.Interface; using OpenAuth.App.Request; using OpenAuth.App.Response; -using OpenAuth.Repository; using OpenAuth.Repository.Domain; -using OpenAuth.Repository.Interface; +using SqlSugar; namespace OpenAuth.App { /// /// 文件管理 /// - public class FileApp : BaseStringApp + public class FileApp : SqlSugarBaseApp { private ILogger _logger; private string _filePath; private string _dbFilePath; //数据库中的文件路径 private string _dbThumbnail; //数据库中的缩略图路径 - public FileApp(IOptions setOptions, IUnitWork unitWork, IRepository repository, + public FileApp(IOptions setOptions, ISqlSugarClient client, ILogger logger, IAuth auth) - : base(unitWork, repository, auth) + : base(client, auth) { _logger = logger; _filePath = setOptions.Value.UploadPath; @@ -47,7 +45,7 @@ namespace OpenAuth.App public async Task Load(QueryFileListReq request) { var result = new PagedDynamicDataResp(); - var objs = UnitWork.Find(null); + var objs = SugarClient.Queryable(); if (!string.IsNullOrEmpty(request.key)) { objs = objs.Where(u => u.FileName.Contains(request.key) || u.FilePath.Contains(request.key)); @@ -112,7 +110,7 @@ namespace OpenAuth.App FileType = Path.GetExtension(fileName), Extension = Path.GetExtension(fileName) }; - Repository.Add(filedb); + Repository.Insert(filedb); return filedb; } } @@ -126,9 +124,9 @@ namespace OpenAuth.App /// 删除附件 /// /// - public override void Delete(string[] ids) + public new void Delete(string[] ids) { - var files = base.Repository.Find(u => ids.Contains(u.Id)).ToList(); + var files = SugarClient.Queryable().Where(u => ids.Contains(u.Id)).ToList(); for (int i = 0; i < files.Count(); i++) { var uploadPath = Path.Combine(_filePath, files[i].FilePath); @@ -137,7 +135,7 @@ namespace OpenAuth.App { FileHelper.FileDel(Path.Combine(_filePath, files[i].Thumbnail)); } - Repository.Delete(u =>u.Id == files[i].Id); + SugarClient.Deleteable().Where(u =>u.Id == files[i].Id).ExecuteCommand(); } } diff --git a/OpenAuth.App/Form/DragForm.cs b/OpenAuth.App/Form/DragForm.cs index 5db71b0d..55b9cca7 100644 --- a/OpenAuth.App/Form/DragForm.cs +++ b/OpenAuth.App/Form/DragForm.cs @@ -3,9 +3,8 @@ using System.Linq; using System.Text; using Infrastructure; using Newtonsoft.Json.Linq; -using OpenAuth.Repository; -using OpenAuth.Repository.Interface; using OpenAuth.Repository.QueryObj; +using SqlSugar; namespace OpenAuth.App { /// @@ -13,10 +12,10 @@ namespace OpenAuth.App /// public class DragForm: IForm { - private IUnitWork _unitWork; - public DragForm(IUnitWork unitWork) + private ISqlSugarClient _sugarClient; + public DragForm(ISqlSugarClient sugarClient) { - _unitWork = unitWork; + _sugarClient = sugarClient; } /** * 功能: 创建表单数据表格(基于sql server) @@ -29,7 +28,7 @@ namespace OpenAuth.App var jsonArray = JsonHelper.Instance.Deserialize(form.ContentData)["widgetList"]; string tableName = form.DbName; //如果数据库已经存在该表,则不用创建 - var exist = _unitWork.FromSql($"select '1' as value from sysobjects where name = '{tableName}' and type = 'U'").SingleOrDefault(); + var exist = _sugarClient.Ado.SqlQuery($"select '1' as value from sysobjects where name = '{tableName}' and type = 'U'").SingleOrDefault(); if (exist != null) return string.Empty; // 如果数据库没有指定的表,则创建表 StringBuilder sql = new StringBuilder($"CREATE TABLE {tableName} ( [Id] varchar(50) COLLATE Chinese_PRC_CI_AS NOT NULL,"); //主键 @@ -62,7 +61,7 @@ namespace OpenAuth.App var jsonArray = JsonHelper.Instance.Deserialize(form.ContentData)["widgetList"]; string tableName = form.DbName; //如果数据库已经存在该表,则不用创建 - var exist = _unitWork.FromSql($"select distinct table_name as value from information_schema.tables where table_name ='{tableName}'").SingleOrDefault(); + var exist = _sugarClient.Ado.SqlQuery($"select distinct table_name as value from information_schema.tables where table_name ='{tableName}'").SingleOrDefault(); if (exist != null) return string.Empty; // 如果数据库没有指定的表,则创建表 StringBuilder sql = new StringBuilder($"create table if not exists `{tableName}` ( Id varchar(50) not null primary key,"); //主键 diff --git a/OpenAuth.App/Form/FormApp.cs b/OpenAuth.App/Form/FormApp.cs index 7f69166f..96cd85ee 100644 --- a/OpenAuth.App/Form/FormApp.cs +++ b/OpenAuth.App/Form/FormApp.cs @@ -4,19 +4,17 @@ using System.Threading.Tasks; using Infrastructure; using Infrastructure.Utilities; using Microsoft.AspNetCore.Http; -using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Options; using OpenAuth.App.Interface; using OpenAuth.App.Request; using OpenAuth.App.Response; -using OpenAuth.Repository; using OpenAuth.Repository.Domain; -using OpenAuth.Repository.Interface; +using SqlSugar; namespace OpenAuth.App { - public class FormApp : BaseStringApp + public class FormApp : SqlSugarBaseApp
{ private IOptions _appConfiguration; private IHttpContextAccessor _httpContextAccessor; @@ -44,19 +42,21 @@ namespace OpenAuth.App var user = _auth.GetCurrentUser().User; obj.CreateUserId = user.Id; obj.CreateUserName = user.Name; - UnitWork.Add(obj); + Repository.Insert(obj); if (!string.IsNullOrEmpty(obj.DbName)) { var dbtype = _appConfiguration.Value.DbTypes[_httpContextAccessor.GetTenantId()]; - - UnitWork.ExecuteSql(FormFactory.CreateForm(obj, this.UnitWork).GetSql(obj, dbtype)); + var sql = FormFactory.CreateForm(obj, SugarClient).GetSql(obj, dbtype); + if (!string.IsNullOrEmpty(sql)) + { + SugarClient.Ado.ExecuteCommand(sql); + } } - UnitWork.Save(); } public void Update(Form obj) { - Repository.Update(u => u.Id == obj.Id, u => new Form + Repository.Update(u => new Form { FrmType = obj.FrmType, ContentData = obj.ContentData, @@ -69,12 +69,16 @@ namespace OpenAuth.App Description = obj.Description, OrgId = obj.OrgId, ModifyDate = DateTime.Now - }); + }, u => u.Id == obj.Id); if (!string.IsNullOrEmpty(obj.DbName)) { var dbtype = _appConfiguration.Value.DbTypes[_httpContextAccessor.GetTenantId()]; - UnitWork.ExecuteSql(FormFactory.CreateForm(obj,this.UnitWork).GetSql(obj, dbtype)); + var sql = FormFactory.CreateForm(obj, SugarClient).GetSql(obj, dbtype); + if (!string.IsNullOrEmpty(sql)) + { + SugarClient.Ado.ExecuteCommand(sql); + } } } @@ -84,8 +88,8 @@ namespace OpenAuth.App return form.MapTo(); } - public FormApp(IUnitWork unitWork, IRepository repository, - IAuth auth, IOptions appConfiguration, IHttpContextAccessor httpContextAccessor) : base(unitWork, repository, auth) + public FormApp(ISqlSugarClient client, + IAuth auth, IOptions appConfiguration, IHttpContextAccessor httpContextAccessor) : base(client, auth) { _auth = auth; _appConfiguration = appConfiguration; diff --git a/OpenAuth.App/Form/FormFactory.cs b/OpenAuth.App/Form/FormFactory.cs index f514e8f5..185a7c23 100644 --- a/OpenAuth.App/Form/FormFactory.cs +++ b/OpenAuth.App/Form/FormFactory.cs @@ -1,25 +1,24 @@ using System; -using OpenAuth.Repository; using OpenAuth.Repository.Domain; -using OpenAuth.Repository.Interface; using Infrastructure; +using SqlSugar; namespace OpenAuth.App { public class FormFactory { - public static IForm CreateForm(Form form, IUnitWork unitWork) + public static IForm CreateForm(Form form, ISqlSugarClient sugarClient) { if (form.FrmType == Define.FORM_TYPE_DYNAMIC) { - return new LeipiForm(unitWork); + return new LeipiForm(sugarClient); }else if (form.FrmType == Define.FORM_TYPE_DEVELOP) { throw new Exception("自定义表单不需要创建数据库表"); } else { - return new DragForm(unitWork); + return new DragForm(sugarClient); } } } diff --git a/OpenAuth.App/Form/LeipiForm.cs b/OpenAuth.App/Form/LeipiForm.cs index 58c68104..f7d3a859 100644 --- a/OpenAuth.App/Form/LeipiForm.cs +++ b/OpenAuth.App/Form/LeipiForm.cs @@ -2,17 +2,16 @@ using System.Text; using Infrastructure; using Newtonsoft.Json.Linq; -using OpenAuth.Repository; -using OpenAuth.Repository.Interface; using OpenAuth.Repository.QueryObj; +using SqlSugar; namespace OpenAuth.App { public class LeipiForm : IForm { - private IUnitWork _unitWork; - public LeipiForm(IUnitWork unitWork) + private ISqlSugarClient _sugarClient; + public LeipiForm(ISqlSugarClient sugarClient) { - _unitWork = unitWork; + _sugarClient = sugarClient; } /** * 功能: 创建表单数据表格(基于sql server) @@ -25,7 +24,7 @@ namespace OpenAuth.App var jsonArray = JArray.Parse(form.ContentData); // 数据库名称 string tableName = form.DbName; - var exist = _unitWork.FromSql($"select '1' as value from sysobjects where name = '{tableName}' and type = 'U'").SingleOrDefault(); + var exist = _sugarClient.Ado.SqlQuery($"select '1' as value from sysobjects where name = '{tableName}' and type = 'U'").SingleOrDefault(); if (exist != null) return string.Empty; // 创建数据表 StringBuilder sql = new StringBuilder($"CREATE TABLE {tableName} ( [Id] varchar(50) COLLATE Chinese_PRC_CI_AS NOT NULL,"); //主键 @@ -61,7 +60,7 @@ namespace OpenAuth.App var jsonArray = JArray.Parse(form.ContentData); // 数据库名称 string tableName = form.DbName; - var exist = _unitWork.FromSql($"select distinct table_name as value from information_schema.tables where table_name ='{tableName}'").SingleOrDefault(); + var exist = _sugarClient.Ado.SqlQuery($"select distinct table_name as value from information_schema.tables where table_name ='{tableName}'").SingleOrDefault(); if (exist != null) return string.Empty; // 创建数据表 StringBuilder sql = new StringBuilder($"create table if not exists `{tableName}` ( Id varchar(50) not null primary key,"); //主键 diff --git a/OpenAuth.App/FrmLeave/FrmLeaveReqApp.cs b/OpenAuth.App/FrmLeave/FrmLeaveReqApp.cs index a45cb83b..9d19885a 100644 --- a/OpenAuth.App/FrmLeave/FrmLeaveReqApp.cs +++ b/OpenAuth.App/FrmLeave/FrmLeaveReqApp.cs @@ -1,17 +1,15 @@ using System.Threading.Tasks; using Infrastructure; -using Microsoft.EntityFrameworkCore; using OpenAuth.App.Interface; using OpenAuth.App.Request; using OpenAuth.App.Response; -using OpenAuth.Repository; using OpenAuth.Repository.Domain; -using OpenAuth.Repository.Interface; +using SqlSugar; namespace OpenAuth.App { - public class FrmLeaveReqApp : BaseStringApp, ICustomerForm + public class FrmLeaveReqApp : SqlSugarBaseApp, ICustomerForm { private RevelanceManagerApp _revelanceApp; @@ -22,18 +20,20 @@ namespace OpenAuth.App { return new PagedDynamicDataResp { - Count = await Repository.CountAsync(null), - Data = await Repository.Find(request.page, request.limit, "Id desc").ToListAsync() + Count = await SugarClient.Queryable().CountAsync(), + Data = await SugarClient.Queryable().OrderByDescending(u => u.Id) + .Skip((request.page - 1) * request.limit) + .Take(request.limit).ToListAsync() }; } public void Add(FrmLeaveReq obj) { - Repository.Add(obj); + Repository.Insert(obj); } - public FrmLeaveReqApp(IUnitWork unitWork, IRepository repository, - RevelanceManagerApp app,IAuth auth) : base(unitWork, repository, auth) + public FrmLeaveReqApp(ISqlSugarClient client, + RevelanceManagerApp app,IAuth auth) : base(client, auth) { _revelanceApp = app; } @@ -48,13 +48,13 @@ namespace OpenAuth.App public void Update(string flowInstanceId, string frmData) { var req = JsonHelper.Instance.Deserialize(frmData); - UnitWork.Update(u => u.FlowInstanceId == flowInstanceId, u => new FrmLeaveReq + Repository.Update(u => new FrmLeaveReq { UserName = req.UserName, RequestComment = req.RequestComment, RequestType = req.RequestType //补充其他需要更新的字段 - }); + }, u => u.FlowInstanceId == flowInstanceId); } } } \ No newline at end of file diff --git a/OpenAuth.App/Relevance/RevelanceManagerApp.cs b/OpenAuth.App/Relevance/RevelanceManagerApp.cs index a4d92b24..b4d0117d 100644 --- a/OpenAuth.App/Relevance/RevelanceManagerApp.cs +++ b/OpenAuth.App/Relevance/RevelanceManagerApp.cs @@ -6,17 +6,15 @@ using Infrastructure.Helpers; using Microsoft.Extensions.Logging; using OpenAuth.App.Interface; using OpenAuth.App.Request; -using OpenAuth.Repository; using OpenAuth.Repository.Domain; -using OpenAuth.Repository.Interface; +using SqlSugar; namespace OpenAuth.App { - public class RevelanceManagerApp : BaseStringApp + public class RevelanceManagerApp : SqlSugarBaseApp { private readonly ILogger _logger; - public RevelanceManagerApp(IUnitWork unitWork, IRepository repository, IAuth auth, ILogger logger) : base(unitWork, - repository, auth) + public RevelanceManagerApp(ISqlSugarClient client, IAuth auth, ILogger logger) : base(client, auth) { _logger = logger; } @@ -38,7 +36,7 @@ namespace OpenAuth.App /// public void Assign(string key, ILookup idMaps) { - UnitWork.BatchAdd((from sameVals in idMaps + SugarClient.Insertable((from sameVals in idMaps from value in sameVals select new Relevance { @@ -46,8 +44,7 @@ namespace OpenAuth.App FirstId = sameVals.Key, SecondId = value, OperateTime = TimeHelper.Now - }).ToArray()); - UnitWork.Save(); + }).ToArray()).ExecuteCommand(); } /// @@ -82,7 +79,7 @@ namespace OpenAuth.App _logger.LogInformation($"start=> delete {key} {sameVals.Key} {value}"); try { - UnitWork.Delete(u => u.RelKey == key && u.FirstId == sameVals.Key && u.SecondId == value); + SugarClient.Deleteable().Where(u => u.RelKey == key && u.FirstId == sameVals.Key && u.SecondId == value).ExecuteCommand(); } catch (Exception e) { @@ -95,7 +92,7 @@ namespace OpenAuth.App public void DeleteBy(string key, params string[] firstIds) { - UnitWork.Delete(u => firstIds.Contains(u.FirstId) && u.RelKey == key); + SugarClient.Deleteable().Where(u => firstIds.Contains(u.FirstId) && u.RelKey == key).ExecuteCommand(); } @@ -110,12 +107,12 @@ namespace OpenAuth.App { if (returnSecondIds) { - return Repository.Find(u => u.RelKey == key + return SugarClient.Queryable().Where(u => u.RelKey == key && ids.Contains(u.FirstId)).Select(u => u.SecondId).ToList(); } else { - return Repository.Find(u => u.RelKey == key + return SugarClient.Queryable().Where(u => u.RelKey == key && ids.Contains(u.SecondId)).Select(u => u.FirstId).ToList(); } } @@ -129,7 +126,7 @@ namespace OpenAuth.App /// public List Get(string key, string firstId, string secondId) { - return Repository.Find(u => u.RelKey == key && u.FirstId == firstId && u.SecondId == secondId) + return SugarClient.Queryable().Where(u => u.RelKey == key && u.FirstId == firstId && u.SecondId == secondId) .Select(u => u.ThirdId).ToList(); } @@ -157,8 +154,7 @@ namespace OpenAuth.App }); } - UnitWork.BatchAdd(relevances.ToArray()); - UnitWork.Save(); + SugarClient.Insertable(relevances).ExecuteCommand(); } /// @@ -182,10 +178,10 @@ namespace OpenAuth.App { foreach (var property in request.Properties) { - UnitWork.Delete(u => u.RelKey == Define.ROLEDATAPROPERTY + SugarClient.Deleteable().Where(u => u.RelKey == Define.ROLEDATAPROPERTY && u.FirstId == request.RoleId && u.SecondId == request.ModuleCode - && u.ThirdId == property); + && u.ThirdId == property).ExecuteCommand(); } } } @@ -196,21 +192,19 @@ namespace OpenAuth.App /// public void AssignRoleUsers(AssignRoleUsers request) { - UnitWork.ExecuteWithTransaction(() => - { - //删除以前的所有用户 - UnitWork.Delete(u => u.SecondId == request.RoleId && u.RelKey == Define.USERROLE); - //批量分配用户角色 - UnitWork.BatchAdd((from firstId in request.UserIds + SugarClient.Ado.BeginTran(); + //删除以前的所有用户 + SugarClient.Deleteable().Where(u => u.SecondId == request.RoleId && u.RelKey == Define.USERROLE).ExecuteCommand(); + //批量分配用户角色 + SugarClient.Insertable((from firstId in request.UserIds select new Relevance { RelKey = Define.USERROLE, FirstId = firstId, SecondId = request.RoleId, OperateTime = TimeHelper.Now - }).ToArray()); - UnitWork.Save(); - }); + }).ToArray()).ExecuteCommand(); + SugarClient.Ado.CommitTran(); } /// @@ -219,21 +213,19 @@ namespace OpenAuth.App /// public void AssignOrgUsers(AssignOrgUsers request) { - UnitWork.ExecuteWithTransaction(() => - { - //删除以前的所有用户 - UnitWork.Delete(u => u.SecondId == request.OrgId && u.RelKey == Define.USERORG); - //批量分配用户角色 - UnitWork.BatchAdd((from firstId in request.UserIds + SugarClient.Ado.BeginTran(); + //删除以前的所有用户 + SugarClient.Deleteable().Where(u => u.SecondId == request.OrgId && u.RelKey == Define.USERORG).ExecuteCommand(); + //批量分配用户角色 + SugarClient.Insertable((from firstId in request.UserIds select new Relevance { RelKey = Define.USERORG, FirstId = firstId, SecondId = request.OrgId, OperateTime = TimeHelper.Now - }).ToArray()); - UnitWork.Save(); - }); + }).ToArray()).ExecuteCommand(); + SugarClient.Ado.CommitTran(); } /// @@ -242,21 +234,19 @@ namespace OpenAuth.App /// public void AssignRoleResources(AssignRoleResources request) { - UnitWork.ExecuteWithTransaction(() => - { - //删除以前的所有资源 - UnitWork.Delete(u => u.FirstId == request.RoleId && u.RelKey == Define.ROLERESOURCE); - //批量分配角色资源 - UnitWork.BatchAdd((from firstId in request.ResourceIds + SugarClient.Ado.BeginTran(); + //删除以前的所有资源 + SugarClient.Deleteable().Where(u => u.FirstId == request.RoleId && u.RelKey == Define.ROLERESOURCE).ExecuteCommand(); + //批量分配角色资源 + SugarClient.Insertable((from firstId in request.ResourceIds select new Relevance { RelKey = Define.ROLERESOURCE, FirstId = request.RoleId, SecondId = firstId, OperateTime = TimeHelper.Now - }).ToArray()); - UnitWork.Save(); - }); + }).ToArray()).ExecuteCommand(); + SugarClient.Ado.CommitTran(); } } } \ No newline at end of file diff --git a/OpenAuth.App/SysLogs/SysLogApp.cs b/OpenAuth.App/SysLogs/SysLogApp.cs index 110df7c4..4c315a76 100644 --- a/OpenAuth.App/SysLogs/SysLogApp.cs +++ b/OpenAuth.App/SysLogs/SysLogApp.cs @@ -1,17 +1,15 @@ using System.Linq; using System.Reflection; using System.Threading.Tasks; -using Microsoft.EntityFrameworkCore; using OpenAuth.App.Request; using OpenAuth.App.Response; -using OpenAuth.Repository; using OpenAuth.Repository.Domain; -using OpenAuth.Repository.Interface; +using SqlSugar; namespace OpenAuth.App { - public class SysLogApp : BaseStringApp + public class SysLogApp : SqlSugarBaseApp { /// @@ -20,7 +18,7 @@ namespace OpenAuth.App public async Task Load(QuerySysLogListReq request) { var result = new PagedDynamicDataResp(); - var objs = UnitWork.Find(null); + var objs = SugarClient.Queryable(); if (!string.IsNullOrEmpty(request.key)) { objs = objs.Where(u => u.Content.Contains(request.key) || u.Id.Contains(request.key)); @@ -37,19 +35,19 @@ namespace OpenAuth.App { //程序类型取入口应用的名称,可以根据自己需要调整 obj.Application = Assembly.GetEntryAssembly().FullName.Split(',')[0]; - Repository.Add(obj); + Repository.Insert(obj); } public void Update(SysLog obj) { - UnitWork.Update(u => u.Id == obj.Id, u => new SysLog + Repository.Update(u => new SysLog { //todo:要修改的字段赋值 - }); + }, u => u.Id == obj.Id); } - public SysLogApp(IUnitWork unitWork, IRepository repository) : base(unitWork, repository, null) + public SysLogApp(ISqlSugarClient client) : base(client, null) { } }