From 84a08806b9907a468e971d83be80048fb5fcb07c Mon Sep 17 00:00:00 2001 From: qwj <qwjzorro@163.com> Date: 星期三, 26 七月 2023 15:32:49 +0800 Subject: [PATCH] 公共类 --- Document.Unility/NLogProvider.cs | 59 +++++++++++ Document.Model/Document.Model.csproj | 17 +++ Document.Unility/PageResult.cs | 35 +++++++ Document.Unility/NLog.config | 27 +++++ Document.Unility/PageBaseSearch.cs | 28 +++++ DocumentServiceAPI.Core/BaseRepository.cs | 13 ++ Document.Model/SQL/Document_UserInfo.cs | 32 ++++++ DocumentServiceAPI.Core/SqlsugarSetup.cs | 38 +++++++ Document.Unility/Document.Unility.csproj | 19 +++ 9 files changed, 268 insertions(+), 0 deletions(-) diff --git a/Document.Model/Document.Model.csproj b/Document.Model/Document.Model.csproj new file mode 100644 index 0000000..b825ed2 --- /dev/null +++ b/Document.Model/Document.Model.csproj @@ -0,0 +1,17 @@ +<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <TargetFramework>net6.0</TargetFramework> + <ImplicitUsings>enable</ImplicitUsings> + <Nullable>enable</Nullable> + </PropertyGroup> + + <ItemGroup> + <PackageReference Include="SqlSugarCore" Version="5.1.4.93" /> + </ItemGroup> + + <ItemGroup> + <Folder Include="DTO\" /> + </ItemGroup> + +</Project> diff --git a/Document.Model/SQL/Document_UserInfo.cs b/Document.Model/SQL/Document_UserInfo.cs new file mode 100644 index 0000000..323e4f4 --- /dev/null +++ b/Document.Model/SQL/Document_UserInfo.cs @@ -0,0 +1,32 @@ +锘縰sing SqlSugar; + +namespace Document.Model +{ + [SugarTable("Document_UserInfo")] + public class Document_UserInfo + { + /// <summary> + /// 璐﹀彿 + /// </summary> + [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "璐﹀彿")] + public int UserId { get; set; } + + /// <summary> + /// 鐢ㄦ埛鍚嶇О + /// </summary> + [SugarColumn(Length = 50, ColumnDescription = "鐢ㄦ埛鍚嶇О")] + public string UserName { get; set; } + + /// <summary> + /// 鏄惁绠$悊鍛� + /// </summary> + [SugarColumn(ColumnDescription = "鏄惁绠$悊鍛�")] + public int IsManager { get; set; } + + /// <summary> + /// 鏄惁鍚敤 + /// </summary> + [SugarColumn(ColumnDescription = "鏄惁鍚敤")] + public int IsUsed { get; set; } + } +} \ No newline at end of file diff --git a/Document.Unility/Document.Unility.csproj b/Document.Unility/Document.Unility.csproj new file mode 100644 index 0000000..0706e06 --- /dev/null +++ b/Document.Unility/Document.Unility.csproj @@ -0,0 +1,19 @@ +<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <TargetFramework>net6.0</TargetFramework> + <ImplicitUsings>enable</ImplicitUsings> + <Nullable>enable</Nullable> + </PropertyGroup> + + <ItemGroup> + <PackageReference Include="NLog" Version="5.2.2" /> + </ItemGroup> + + <ItemGroup> + <None Update="NLog.config"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + </ItemGroup> + +</Project> diff --git a/Document.Unility/NLog.config b/Document.Unility/NLog.config new file mode 100644 index 0000000..a891ee6 --- /dev/null +++ b/Document.Unility/NLog.config @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8" ?> +<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"> + + <targets> + + <target xsi:type="File" name="info_file" fileName="${basedir}/logs/${shortdate}_info.log" layout="${longdate} ${uppercase:${level}} ${message}"/> + <target xsi:type="File" name="error_file" fileName="${basedir}/logs/${shortdate}_error.log" layout="${longdate} ${uppercase:${level}} ${message} ${exception:stacktrace}" /> + + <!-- + Write events to a file with the date in the filename. + <target xsi:type="File" name="f" fileName="${basedir}/logs/${shortdate}.log" + layout="${longdate} ${uppercase:${level}} ${message}" /> + --> + </targets> + + <rules> + <logger name="*" minlevel="Info" maxlevel="Info" writeTo="info_file" /> + <logger name="*" minlevel="Error" maxlevel="Error" writeTo="error_file" /> + + <!-- + Write all events with minimal level of Debug (So Debug, Info, Warn, Error and Fatal, but not Trace) to "f" + <logger name="*" minlevel="Debug" writeTo="f" /> + --> + </rules> +</nlog> diff --git a/Document.Unility/NLogProvider.cs b/Document.Unility/NLogProvider.cs new file mode 100644 index 0000000..372e086 --- /dev/null +++ b/Document.Unility/NLogProvider.cs @@ -0,0 +1,59 @@ +锘縰sing NLog; + +namespace Document.Unility +{ + public class NLogProvider + { + + private NLogProvider() + { + logger = LogManager.GetLogger("Logger");//.GetCurrentClassLogger(); + } + + private readonly Logger logger = null; + private static NLogProvider logProvider = null; + + /// <summary> + /// 闈欐�佸疄渚� + /// </summary> + /// <returns></returns> + public static NLogProvider GetInstance() + { + if (logProvider == null) + { + logProvider = new NLogProvider(); + } + return logProvider; + } + + /// <summary> + /// Info + /// </summary> + /// <param name="txt"></param> + public void Info(string txt) + { + if (logger != null) + logger.Info(txt); + } + + /// <summary> + /// Error + /// </summary> + /// <param name="er"></param> + public void Error(Exception er) + { + if (logger != null) + logger.Error(er); + } + + /// <summary> + /// Error + /// </summary> + /// <param name="str"></param> + public void Error(string str) + { + if (logger != null) + logger.Error(str); + } + } +} diff --git a/Document.Unility/PageBaseSearch.cs b/Document.Unility/PageBaseSearch.cs new file mode 100644 index 0000000..f1f184c --- /dev/null +++ b/Document.Unility/PageBaseSearch.cs @@ -0,0 +1,28 @@ +锘縩amespace Document.Unility +{ + /// <summary> + /// 鍒嗛〉鏌ヨ鏉′欢鍩虹被 + /// </summary> + public class PageBaseSearch + { + /// <summary> + /// 椤电爜 + /// </summary> + public int PageIndex { get; set; } = 1; + + /// <summary> + /// 鍒嗛〉澶у皬 + /// </summary> + public int PageSize { get; set; } = 20; + + /// <summary> + /// 寮�濮嬫棩鏈� + /// </summary> + public DateTime? StartTime { get; set; } + + /// <summary> + /// 缁撴潫鏃ユ湡 + /// </summary> + public DateTime? EndTime { get; set; } + } +} diff --git a/Document.Unility/PageResult.cs b/Document.Unility/PageResult.cs new file mode 100644 index 0000000..712fc7d --- /dev/null +++ b/Document.Unility/PageResult.cs @@ -0,0 +1,35 @@ +锘縩amespace Document.Unility +{ + /// <summary> + /// 鍒嗛〉鏁版嵁淇℃伅 + /// </summary> + /// <typeparam name="T"></typeparam> + public class PageResult<T> + { + /// <summary> + /// 椤电爜 + /// </summary> + public int PageIndex { get; set; } + + /// <summary> + /// 鍒嗛〉澶у皬 + /// </summary> + public int PageSize { get; set; } + + /// <summary> + /// 椤垫�绘暟 + /// </summary> + public int TotalPage { get; set; } + + /// <summary> + /// 璁板綍鎬绘暟 + /// </summary> + public int TotalCount { get; set; } + + /// <summary> + /// 璁板綍闆嗗悎 + /// </summary> + public List<T> Items { get; set; } = new(); + + } +} \ No newline at end of file diff --git a/DocumentServiceAPI.Core/BaseRepository.cs b/DocumentServiceAPI.Core/BaseRepository.cs new file mode 100644 index 0000000..822abf9 --- /dev/null +++ b/DocumentServiceAPI.Core/BaseRepository.cs @@ -0,0 +1,13 @@ +锘縰sing Furion; +using SqlSugar; + +namespace DocumentServiceAPI.Core +{ + public class BaseRepository<T> : SimpleClient<T> where T : class,new() + { + public BaseRepository(ISqlSugarClient context = null) : base(context) + { + base.Context = App.GetService<ISqlSugarClient>();//鐢ㄦ墜鍔ㄨ幏鍙栨柟寮忔敮鎸佸垏鎹粨鍌� + } + } +} diff --git a/DocumentServiceAPI.Core/SqlsugarSetup.cs b/DocumentServiceAPI.Core/SqlsugarSetup.cs new file mode 100644 index 0000000..87b8d1f --- /dev/null +++ b/DocumentServiceAPI.Core/SqlsugarSetup.cs @@ -0,0 +1,38 @@ +锘縰sing Document.Unility; +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.DependencyInjection; +using SqlSugar; + +namespace DocumentServiceAPI.Core +{ + public static class SqlsugarSetup + { + public static void AddSqlsugarSetup(this IServiceCollection services, IConfiguration configuration, string dbName = "sqldb") + { + //濡傛灉澶氫釜鏁版暟鎹簱浼� List<ConnectionConfig> + var configConnection = new ConnectionConfig() + { + DbType = SqlSugar.DbType.SqlServer, + ConnectionString = configuration.GetConnectionString(dbName), + IsAutoCloseConnection = true, + }; + + SqlSugarScope sqlSugar = new SqlSugarScope(configConnection, + db => + { + //鍗曚緥鍙傛暟閰嶇疆锛屾墍鏈変笂涓嬫枃鐢熸晥 + db.Aop.OnLogExecuting = (sql, pars) => + { + //Console.WriteLine(sql);//杈撳嚭sql + }; + //SQL鎶ラ敊 + db.Aop.OnError = (exp) => + { + NLogProvider.GetInstance().Error(exp); + }; + }); + + services.AddSingleton<ISqlSugarClient>(sqlSugar);//杩欒竟鏄疭qlSugarScope鐢ˋddSingleton + } + } +} -- Gitblit v1.9.1