Bladeren bron

解决swagger自动生成接口文件时错误

zuohuaijun 3 jaren geleden
bovenliggende
commit
8bbaa3cd9f

+ 3 - 3
Admin.NET/Admin.NET.Core/Admin.NET.Core.csproj

@@ -25,9 +25,9 @@
   <ItemGroup>
     <PackageReference Include="AspNetCoreRateLimit" Version="4.0.2" />
     <PackageReference Include="Caching.CSRedis" Version="3.8.3" />
-    <PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.3.7" />
-    <PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.3.7" />
-    <PackageReference Include="Furion.Pure" Version="4.3.7" />
+    <PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.3.8" />
+    <PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.3.8" />
+    <PackageReference Include="Furion.Pure" Version="4.3.8" />
     <PackageReference Include="Magicodes.IE.Excel" Version="2.6.4" />
     <PackageReference Include="Magicodes.IE.Pdf" Version="2.6.4" />
     <PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="6.0.8" />

+ 26 - 12
Admin.NET/Admin.NET.Core/Admin.NET.Core.xml

@@ -3056,18 +3056,28 @@
             <param name="notice"></param>
             <returns></returns>
         </member>
-        <member name="T:Admin.NET.Core.JobTimer">
+        <member name="T:Admin.NET.Core.LogJob">
             <summary>
             任务调度
             </summary>
         </member>
-        <member name="M:Admin.NET.Core.JobTimer.ClearLogJob(Furion.TaskScheduler.SpareTimer,System.Int64)">
+        <member name="M:Admin.NET.Core.LogJob.ClearLogJob(Furion.TaskScheduler.SpareTimer,System.Int64)">
             <summary>
             日志删除定时器
             </summary>
             <param name="timer"></param>
             <param name="count"></param>
         </member>
+        <member name="T:Admin.NET.Core.Job.OnlineUserJob">
+            <summary>
+            任务调度
+            </summary>
+        </member>
+        <member name="M:Admin.NET.Core.Job.OnlineUserJob.ClearOnlineUser(Furion.TaskScheduler.SpareTimer,System.Int64)">
+            <summary>
+            清理在线用户定时器---服务启动时自动清空在线用户,防止存在僵尸用户(掉线用户会自动重连)
+            </summary>
+        </member>
         <member name="T:Admin.NET.Core.DbLoggingWriter">
             <summary>
             数据库日志写入器
@@ -3723,6 +3733,11 @@
             <param name="key"></param>
             <returns></returns>
         </member>
+        <member name="P:Admin.NET.Core.Service.CustomViewEngine.ConfigId">
+            <summary>
+            库定位器
+            </summary>
+        </member>
         <member name="T:Admin.NET.Core.Service.CodeGenConfig">
             <summary>
             代码生成详细配置参数
@@ -4038,11 +4053,6 @@
             菜单父级
             </summary>
         </member>
-        <member name="P:Admin.NET.Core.Service.CustomViewEngine.ConfigId">
-            <summary>
-            库定位器
-            </summary>
-        </member>
         <member name="T:Admin.NET.Core.Service.DatabaseOutput">
             <summary>
             多库代码生成库列表输出
@@ -4252,6 +4262,15 @@
             <param name="configs"></param>
             <returns></returns>
         </member>
+        <member name="M:Admin.NET.Core.Service.SysCodeGenService.AddMenu(System.String,System.String,System.Int64)">
+            <summary>
+            增加菜单
+            </summary>
+            <param name="className"></param>
+            <param name="busName"></param>
+            <param name="pid"></param>
+            <returns></returns>
+        </member>
         <member name="M:Admin.NET.Core.Service.SysCodeGenService.GetTemplatePathList">
             <summary>
             获取模板文件路径集合
@@ -6506,11 +6525,6 @@
             </summary>
             <returns></returns>
         </member>
-        <member name="M:Admin.NET.Core.Service.SysTimerService.StartTimer">
-            <summary>
-            启动自启动任务
-            </summary>
-        </member>
         <member name="P:Admin.NET.Core.Service.UserExtOrgPosOutput.OrgId">
             <summary>
             机构Id

+ 1 - 1
Admin.NET/Admin.NET.Core/Job/LogJob.cs

@@ -10,7 +10,7 @@ public class LogJob : ISpareTimeWorker
     /// </summary>
     /// <param name="timer"></param>
     /// <param name="count"></param>
-    [SpareTime("@midnight", "日志删除定时器", Description = "每天午夜运行一次", DoOnce = false, StartNow = true, ExecuteType = SpareTimeExecuteTypes.Serial)]
+    [SpareTime("@midnight", "清理日志", Description = "每天午夜运行一次", DoOnce = false, StartNow = true, ExecuteType = SpareTimeExecuteTypes.Serial)]
     public void ClearLogJob(SpareTimer timer, long count)
     {
         Scoped.Create(async (_, scope) =>

+ 2 - 2
Admin.NET/Admin.NET.Core/Job/OnlineUserJob.cs

@@ -8,7 +8,7 @@ public class OnlineUserJob : ISpareTimeWorker
     /// <summary>
     /// 清理在线用户定时器---服务启动时自动清空在线用户,防止存在僵尸用户(掉线用户会自动重连)
     /// </summary>
-    [SpareTime(1000, "在线用户清理", Description = "服务启动时运行", DoOnce = true, StartNow = true, ExecuteType = SpareTimeExecuteTypes.Serial)]
+    [SpareTime(1000, "清空在线用户", Description = "服务启动时运行", DoOnce = true, StartNow = true, ExecuteType = SpareTimeExecuteTypes.Serial)]
     public void ClearOnlineUser(SpareTimer timer, long count)
     {
         Scoped.Create(async (_, scope) =>
@@ -18,7 +18,7 @@ public class OnlineUserJob : ISpareTimeWorker
             await rep.AsDeleteable().ExecuteCommandAsync();
 
             Console.ForegroundColor = ConsoleColor.Blue;
-            Console.WriteLine("【" + DateTime.Now + "——清空在线人员】\r\n服务重启触发清空在线人员");
+            Console.WriteLine("【" + DateTime.Now + "——清空在线用户】\r\n服务重启触发清空在线用户");
         });
     }
 }

+ 1 - 0
Admin.NET/Admin.NET.Core/Service/CodeGen/Dto/CustomViewEngine.cs → Admin.NET/Admin.NET.Core/Service/CodeGen/CustomViewEngine.cs

@@ -41,6 +41,7 @@ public class CustomViewEngine : ViewEngineModel
     public bool IsJoinTable { get; set; }
 
     public bool IsUpload { get; set; }
+
     private List<TableColumnOuput> ColumnList { get; set; }
 
     public string GetColumnNetType(object tbName, object colName)

+ 2 - 2
Admin.NET/Admin.NET.Core/Service/CodeGen/Dto/DatabaseOutput.cs

@@ -8,12 +8,12 @@ public class DatabaseOutput
     /// <summary>
     /// 库定位器名
     /// </summary>
-    public dynamic ConfigId { get; set; }
+    public string ConfigId { get; set; }
 
     /// <summary>
     /// 数据库类型
     /// </summary>
-    public string DbType { get; set; }
+    public SqlSugar.DbType DbType { get; set; }
 
     /// <summary>
     /// 数据库连接字符串

+ 1 - 2
Admin.NET/Admin.NET.Core/Service/CodeGen/SysCodeGenConfigService.cs

@@ -31,8 +31,7 @@ public class SysCodeGenConfigService : IDynamicApiController, ITransient
     /// </summary>
     /// <param name="input"></param>
     /// <returns></returns>
-    [NonAction]
-    public async Task Add(CodeGenConfig input)
+    private async Task Add(CodeGenConfig input)
     {
         var codeGenConfig = input.Adapt<SysCodeGenConfig>();
         await _db.Insertable(codeGenConfig).ExecuteCommandAsync();

+ 13 - 6
Admin.NET/Admin.NET.Core/Service/CodeGen/SysCodeGenService.cs

@@ -29,7 +29,7 @@ public class SysCodeGenService : IDynamicApiController, ITransient
     /// <param name="input"></param>
     /// <returns></returns>
     [HttpGet("/codeGenerate/page")]
-    public async Task<dynamic> GetCodeGenPage([FromQuery] CodeGenInput input)
+    public async Task<SqlSugarPagedList<SysCodeGen>> GetCodeGenPage([FromQuery] CodeGenInput input)
     {
         var tableName = !string.IsNullOrEmpty(input.TableName?.Trim());
         return await _db.Queryable<SysCodeGen>()
@@ -106,10 +106,11 @@ public class SysCodeGenService : IDynamicApiController, ITransient
     /// 获取数据库库集合
     /// </summary>
     /// <returns></returns>
-    [HttpGet("codeGenerate/DatabaseList")]
-    public async Task<List<ConnectionConfig>> GetDatabaseList()
+    [HttpGet("codeGenerate/databaseList")]
+    public async Task<List<DatabaseOutput>> GetDatabaseList()
     {
-        return await Task.FromResult(App.GetOptions<DbConnectionOptions>().ConnectionConfigs);
+        var dblist = await Task.FromResult(App.GetOptions<DbConnectionOptions>().ConnectionConfigs);
+        return dblist.Adapt<List<DatabaseOutput>>();
     }
 
     /// <summary>
@@ -169,8 +170,7 @@ public class SysCodeGenService : IDynamicApiController, ITransient
     /// 获取数据表列(实体属性)集合
     /// </summary>
     /// <returns></returns>
-    [NonAction]
-    public List<TableColumnOuput> GetColumnList([FromQuery] AddCodeGenInput input)
+    private List<TableColumnOuput> GetColumnList([FromQuery] AddCodeGenInput input)
     {
         // 切库---多库代码生成用
         var provider = _db.AsTenant().GetConnectionScope(!string.IsNullOrEmpty(input.ConfigId) ? input.ConfigId : SqlSugarConst.ConfigId);
@@ -259,6 +259,13 @@ public class SysCodeGenService : IDynamicApiController, ITransient
         return (str.TrimEnd(','), lowerStr.TrimEnd(','));
     }
 
+    /// <summary>
+    /// 增加菜单
+    /// </summary>
+    /// <param name="className"></param>
+    /// <param name="busName"></param>
+    /// <param name="pid"></param>
+    /// <returns></returns>
     private async Task AddMenu(string className, string busName, long pid)
     {
         // 如果 pid 为 0 说明为顶级菜单, 需要创建顶级目录

+ 37 - 38
Admin.NET/Admin.NET.Core/Service/Timer/Dto/TimerInput.cs

@@ -1,46 +1,45 @@
-namespace Admin.NET.Core.Service
+namespace Admin.NET.Core.Service;
+
+public class PageTimerInput : BasePageInput
 {
-    public class PageTimerInput : BasePageInput
-    {
-        /// <summary>
-        /// 任务名称
-        /// </summary>
-        public string TimerName { get; set; }
-    }
+    /// <summary>
+    /// 任务名称
+    /// </summary>
+    public string TimerName { get; set; }
+}
 
-    [NotTable]
-    public class AddTimerInput : SysTimer
-    {
-        /// <summary>
-        /// 任务名称
-        /// </summary>
-        [Required(ErrorMessage = "任务名称不能为空")]
-        public override string TimerName { get; set; }
-    }
+[NotTable]
+public class AddTimerInput : SysTimer
+{
+    /// <summary>
+    /// 任务名称
+    /// </summary>
+    [Required(ErrorMessage = "任务名称不能为空")]
+    public override string TimerName { get; set; }
+}
 
-    public class DeleteTimerInput : BaseIdInput
-    {
-    }
+public class DeleteTimerInput : BaseIdInput
+{
+}
 
-    public class UpdateTimerInput : AddTimerInput
-    {
-    }
+public class UpdateTimerInput : AddTimerInput
+{
+}
 
-    public class StopTimerInput : AddTimerInput
-    {
-    }
+public class StopTimerInput : AddTimerInput
+{
+}
 
-    public class SetTimerStatusInput
-    {
-        /// <summary>
-        /// 任务名称
-        /// </summary>
-        [Required(ErrorMessage = "任务名称不能为空")]
-        public string TimerName { get; set; }
+public class SetTimerStatusInput
+{
+    /// <summary>
+    /// 任务名称
+    /// </summary>
+    [Required(ErrorMessage = "任务名称不能为空")]
+    public string TimerName { get; set; }
 
-        /// <summary>
-        /// 任务状态
-        /// </summary>
-        public SpareTimeStatus Status { get; set; } = SpareTimeStatus.Stopped;
-    }
+    /// <summary>
+    /// 任务状态
+    /// </summary>
+    public SpareTimeStatus Status { get; set; } = SpareTimeStatus.Stopped;
 }

+ 13 - 14
Admin.NET/Admin.NET.Core/Service/Timer/Dto/TimerMethod.cs

@@ -1,19 +1,18 @@
-namespace Admin.NET.Core.Service
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 定时任务方法
+/// </summary>
+[NotTable]
+public class TimerMethod : SysTimer
 {
     /// <summary>
-    /// 定时任务方法
+    /// 方法
     /// </summary>
-    [NotTable]
-    public class TimerMethod : SysTimer
-    {
-        /// <summary>
-        /// 方法名
-        /// </summary>
-        public string MethodName { get; set; }
+    public string MethodName { get; set; }
 
-        /// <summary>
-        /// 所属类
-        /// </summary>
-        public Type DeclaringType { get; set; }
-    }
+    /// <summary>
+    /// 所属类
+    /// </summary>
+    public Type DeclaringType { get; set; }
 }

+ 16 - 17
Admin.NET/Admin.NET.Core/Service/Timer/Dto/TimerOutput.cs

@@ -1,21 +1,20 @@
-namespace Admin.NET.Core.Service
+namespace Admin.NET.Core.Service;
+
+[NotTable]
+public class TimerOutput : SysTimer
 {
-    [NotTable]
-    public class TimerOutput : SysTimer
-    {
-        /// <summary>
-        /// 执行次数
-        /// </summary>
-        public long Tally { get; set; }
+    /// <summary>
+    /// 执行次数
+    /// </summary>
+    public long Tally { get; set; }
 
-        /// <summary>
-        /// 任务状态
-        /// </summary>
-        public SpareTimeStatus Status { get; set; } = SpareTimeStatus.Stopped;
+    /// <summary>
+    /// 任务状态
+    /// </summary>
+    public SpareTimeStatus Status { get; set; } = SpareTimeStatus.Stopped;
 
-        /// <summary>
-        /// 异常信息
-        /// </summary>
-        public string Exception { get; set; }
-    }
+    /// <summary>
+    /// 异常信息
+    /// </summary>
+    public string Exception { get; set; }
 }

+ 0 - 10
Admin.NET/Admin.NET.Core/Service/Timer/SysTimerService.cs

@@ -242,14 +242,4 @@ public class SysTimerService : IDynamicApiController, ITransient
         await _sysCacheService.SetAsync(CacheConst.KeyTimer, timerMethodList);
         return timerMethodList;
     }
-
-    /// <summary>
-    /// 启动自启动任务
-    /// </summary>
-    [NonAction]
-    public async void StartTimer()
-    {
-        var timerList = await _sysTimerRep.GetListAsync(t => t.StartNow);
-        timerList.ForEach(CreateTimer);
-    }
 }

+ 5 - 5
Admin.NET/Admin.NET.Core/SqlSugar/SqlSugarSetup.cs

@@ -139,7 +139,7 @@ public static class SqlSugarSetup
     /// <summary>
     /// 初始化数据库结构
     /// </summary>
-    public static void InitDataBase(SqlSugarScope db, DbConnectionOptions dbOptions)
+    private static void InitDataBase(SqlSugarScope db, DbConnectionOptions dbOptions)
     {
         // 创建数据库
         dbOptions.ConnectionConfigs.ForEach(config =>
@@ -199,7 +199,7 @@ public static class SqlSugarSetup
     /// <summary>
     /// 配置实体假删除过滤器
     /// </summary>
-    public static void SetDeletedEntityFilter(SqlSugarScopeProvider db)
+    private static void SetDeletedEntityFilter(SqlSugarScopeProvider db)
     {
         // 获取所有继承基类数据表集合
         var entityTypes = App.EffectiveTypes.Where(u => !u.IsInterface && !u.IsAbstract && u.IsClass
@@ -216,7 +216,7 @@ public static class SqlSugarSetup
     /// <summary>
     /// 配置实体机构过滤器
     /// </summary>
-    public static async void SetOrgEntityFilter(SqlSugarScopeProvider db)
+    private static async void SetOrgEntityFilter(SqlSugarScopeProvider db)
     {
         // 获取业务数据表集合
         var dataEntityTypes = App.EffectiveTypes.Where(u => !u.IsInterface && !u.IsAbstract && u.IsClass
@@ -240,7 +240,7 @@ public static class SqlSugarSetup
     /// <summary>
     /// 配置自定义实体过滤器
     /// </summary>
-    public static void SetCustomEntityFilter(SqlSugarScopeProvider db)
+    private static void SetCustomEntityFilter(SqlSugarScopeProvider db)
     {
         // 排除超管过滤
         if (App.User?.FindFirst(ClaimConst.SuperAdmin)?.Value == ((int)UserTypeEnum.SuperAdmin).ToString())
@@ -265,7 +265,7 @@ public static class SqlSugarSetup
     /// <summary>
     /// 配置租户实体过滤器
     /// </summary>
-    public static void SetTenantEntityFilter(SqlSugarScopeProvider db)
+    private static void SetTenantEntityFilter(SqlSugarScopeProvider db)
     {
         // 获取租户实体数据表集合
         var dataEntityTypes = App.EffectiveTypes.Where(u => !u.IsInterface && !u.IsAbstract && u.IsClass

+ 1 - 1
Admin.NET/Admin.NET.UnitTest/Admin.NET.UnitTest.csproj

@@ -8,7 +8,7 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <PackageReference Include="Furion.Pure.Xunit" Version="4.3.7" />
+    <PackageReference Include="Furion.Pure.Xunit" Version="4.3.8" />
     <PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="6.0.8" />
     <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.1" />
     <PackageReference Include="xunit" Version="2.4.2" />