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