From 9e70e03376aa1d7b86baef15e2ddfe3641fc0cb8 Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期五, 03 一月 2025 11:06:55 +0800
Subject: [PATCH] 优化代码结构,改进打印和计划处理逻辑

---
 Tiger.Api/Startup.cs |   38 +++++++++++++++++++++++++++-----------
 1 files changed, 27 insertions(+), 11 deletions(-)

diff --git a/Tiger.Api/Startup.cs b/Tiger.Api/Startup.cs
index 1f25586..22cdfab 100644
--- a/Tiger.Api/Startup.cs
+++ b/Tiger.Api/Startup.cs
@@ -8,13 +8,17 @@
 using Microsoft.Extensions.DependencyInjection;
 using Microsoft.Extensions.Hosting;
 using Microsoft.OpenApi.Models;
+using NLog;
 using Rhea.Common;
 using Sundial;
 using System;
 using System.IO;
 using System.Linq;
 using System.Reflection;
+using Tiger.Api.Controllers;
+using Tiger.Api.DbCache;
 using Tiger.IBusiness;
+using Tiger.IBusiness.Utility;
 
 namespace Tiger.Api
 {
@@ -26,6 +30,7 @@
         public Startup(IConfiguration configuration)
         {
             Configuration = configuration;
+            //鍒濆鍖� ApiConfig
             ApiConfig.InitConfig(configuration);
 
             //娴嬭瘯浠g爜
@@ -53,11 +58,13 @@
         {
             //services.RegisterAssembly("Tiger.Service");
             //services.AddTransient(typeof(IBaseService<>), typeof(BaseService<>));
-            services.AddControllers().AddNewtonsoftJson(opt =>
+            services.AddControllersWithViews().AddExtraControllers().AddNewtonsoftJson(opt =>
             {
                 opt.SerializerSettings.ContractResolver = new Newtonsoft.Json.Serialization.DefaultContractResolver();
                 opt.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss";
             });
+            //services.AddControllers().AddApplicationPart(typeof(_WMSTestController).Assembly);
+            //services.AddControllers();
 
             //閰嶇疆璺ㄥ煙澶勭悊cors
 聽 聽 聽 聽 聽 聽 services.AddCors(options =>
@@ -73,7 +80,7 @@
             });
             services.AddSwaggerGen(c =>
             {
-                c.SwaggerDoc(version, new OpenApiInfo { Title = "Share API", Version = version });
+                c.SwaggerDoc(version, new OpenApiInfo { Title = "Tiger API", Version = version });
                 var basePath = AppDomain.CurrentDomain.BaseDirectory;
                 var xmlPath = Path.Combine(basePath, "Tiger.Api.xml");
                 c.IncludeXmlComments(xmlPath);
@@ -102,25 +109,26 @@
             BizConfig.InitConfig(bizConfig, DI.Resolve<ILanguage>().GetDictionary());
 
             //鍔犺浇閰嶇疆鏂囦欢
-            NLog.LogManager.LoadConfiguration("nlog.config").GetCurrentClassLogger();
+            NLog.LogManager.Setup().LoadConfigurationFromFile("nlog.config").GetCurrentClassLogger();
             app.UseMiddleware<LogMiddleware>();
 
             app.UseSwagger();
             app.UseSwaggerUI(c =>
             {
-                c.SwaggerEndpoint($"/swagger/{version}/swagger.json", $"Share API {version}");
+                c.SwaggerEndpoint($"/swagger/{version}/swagger.json", $"Tiger API {version}");
             });
 
             app.UseRouting();
             app.UseCors(anyAllowSpecificOrigins);//鏀寔璺ㄥ煙锛氬厑璁哥壒瀹氭潵婧愮殑涓绘満璁块棶
 
             //app.UseHttpsRedirection();
+            app.UseStaticFiles();
 
             //app.UseAuthorization();
             app.UseEndpoints(endpoints =>
             {
+                endpoints.MapControllerRoute(name: "default", pattern: "{controller=Home}/{action=Index}/{id?}").RequireCors(anyAllowSpecificOrigins);
                 endpoints.MapControllers().RequireCors(anyAllowSpecificOrigins);
-                //endpoints.MapControllers();
             });
 
             ConsoleExt.Write($"Api Run as{((ApiConfig.IsDevVersion || ApiConfig.IsTestVersion) ? ((ApiConfig.IsDevVersion ? " Dev" : "") + (ApiConfig.IsTestVersion ? " Test" : "")) : " Release")} Edition", ConsoleColor.Cyan);
@@ -143,6 +151,7 @@
                     (BizConfig.Configuration[$"Databases:Main:ConnectionString"].Split(';').Any(q => q.Contains("port")) ? "锛�" : "") +
                     BizConfig.Configuration[$"Databases:Main:ConnectionString"].Split(';').Where(q => q.Contains("Data Source") || q.Contains("DataSource") || q.Contains("database")).FirstOrDefault(), ConsoleColor.Cyan);
             }
+
             //鍒濆鍖朆usiness鐨凙utoFacContainer
             DI.Resolve<IBiz>().SetContainer(AutoFacContainer.Instance);
             //寮�鍚疉pi鐩戞帶鎬荤嚎
@@ -150,7 +159,10 @@
             //寮�鍚湇鍔℃�荤嚎
             DI.Resolve<IServicesBus>().StartServices(app.ApplicationServices.GetService<ISchedulerFactory>());
             //寮�鍚疍B缂撳瓨鑷姩鏇存柊
-            DI.Resolve<IDbCacheBus>().StartAutoUpdate();
+            //DI.Resolve<IDbCacheBus>().StartAutoUpdate();
+            DbCacheBus.StartAutoUpdate();
+            //寮�鍚疢QTT鏈嶅姟
+            MQTTHelper.Start();
         }
 
         /// <summary>
@@ -158,15 +170,19 @@
         /// </summary>
         public void DeleteLogs()
         {
-            DirectoryInfo di = new DirectoryInfo(AppDomain.CurrentDomain.BaseDirectory + "\\Logs");
-            var logFiles = di.GetFiles("*.log", SearchOption.AllDirectories);
-            foreach (var file in logFiles)
+            DirectoryInfo di = new (AppDomain.CurrentDomain.BaseDirectory + "\\Logs");
+            if(di.Exists) 
             {
-                if ((DateTime.Now - file.LastWriteTime).TotalDays > 30)
+                var logFiles = di.GetFiles("*.log", SearchOption.AllDirectories);
+                foreach (var file in logFiles)
                 {
-                    file.Delete();
+                    if ((DateTime.Now - file.LastWriteTime).TotalDays > 30)
+                    {
+                        file.Delete();
+                    }
                 }
             }
+            
         }
     }//endClass
 }
\ No newline at end of file

--
Gitblit v1.9.3