支持表自动迁移 & 优化ServiceProvider获取 & 包版本升级

This commit is contained in:
SampsonYe
2022-07-01 16:29:02 +08:00
parent 0905956926
commit 4518d7d960
17 changed files with 80 additions and 113 deletions

View File

@@ -1,10 +1,12 @@
using Infrastructure;
using Infrastructure.Helper;
using Microsoft.Extensions.Configuration;
using SqlSugar;
using SqlSugar.IOC;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using ZR.Admin.WebApi.Framework;
using ZR.Model.System;
@@ -24,6 +26,9 @@ namespace ZR.Admin.WebApi.Extensions
//仅本人数据权限
public static string DATA_SCOPE_SELF = "5";
public static void AddDb(IConfiguration Configuration)
{
string connStr = Configuration.GetConnectionString("conn_db");
@@ -83,6 +88,18 @@ namespace ZR.Admin.WebApi.Extensions
};
#endregion
});
}
public static void InitDb(this IServiceProvider service)
{
var db = DbScoped.SugarScope;
db.DbMaintenance.CreateDatabase();
//db.CodeFirst.
var baseType = typeof(SysBase);
var entityes = AssemblyUtils.GetAllTypes().Where(p => !p.IsAbstract && p != baseType && /*p.IsAssignableTo(baseType) && */p.GetCustomAttribute<SugarTable>()!=null).ToArray();
db.CodeFirst.SetStringDefaultLength(512).InitTables(entityes);
}
/// <summary>

View File

@@ -39,7 +39,7 @@ namespace ZR.Admin.WebApi.Extensions
public static void AddSwaggerConfig(this IServiceCollection services)
{
if (services == null) throw new ArgumentNullException(nameof(services));
IWebHostEnvironment hostEnvironment = App.GetRequiredService<IWebHostEnvironment>();
//IWebHostEnvironment hostEnvironment = App.GetRequiredService<IWebHostEnvironment>();
services.AddSwaggerGen(c =>
{
@@ -52,7 +52,7 @@ namespace ZR.Admin.WebApi.Extensions
try
{
//添加文档注释
c.IncludeXmlComments(Path.Combine(hostEnvironment.ContentRootPath, "ZRAdmin.xml"), true);
c.IncludeXmlComments("ZRAdmin.xml", true);
}
catch (Exception ex)
{

View File

@@ -35,7 +35,7 @@ namespace ZR.Admin.WebApi.Extensions
{
//var _tasksQzService = (ISysTasksQzService)App.GetRequiredService(typeof(ISysTasksQzService));
ITaskSchedulerServer _schedulerServer = App.GetRequiredService<ITaskSchedulerServer>();
ITaskSchedulerServer _schedulerServer = app.ApplicationServices.GetRequiredService<ITaskSchedulerServer>();
//var tasks = _tasksQzService.GetList(m => m.IsStart);
var tasks = SqlSugar.IOC.DbScoped.SugarScope.Queryable<Model.System.SysTasksQz>().Where(m => m.IsStart).ToList();

View File

@@ -55,7 +55,7 @@ builder.Services.AddAuthentication(options =>
o.TokenValidationParameters = JwtUtil.ValidParameters();
});
InternalApp.InternalServices = builder.Services;
//InternalApp.InternalServices = builder.Services;
builder.Services.AddAppService();
builder.Services.AddSingleton(new AppSettings(builder.Configuration));
//开启计划任务
@@ -81,7 +81,8 @@ builder.Services.AddMvc(options =>
builder.Services.AddSwaggerConfig();
var app = builder.Build();
InternalApp.ServiceProvider = app.Services;
app.Services.InitDb();
app.UseSwagger();
//使可以多次多去body内容

View File

@@ -22,15 +22,15 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="AspNetCoreRateLimit" Version="4.0.2" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="6.0.5" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="6.0.6" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.3.1" />
<PackageReference Include="Swashbuckle.AspNetCore.Filters" Version="7.0.2" />
<PackageReference Include="Swashbuckle.AspNetCore.Filters" Version="7.0.3" />
<PackageReference Include="UAParser" Version="3.1.47" />
<PackageReference Include="IPTools.China" Version="1.6.0" />
<PackageReference Include="NLog" Version="5.0.0-rc2" />
<PackageReference Include="NLog.Web.AspNetCore" Version="4.14.0" />
<PackageReference Include="NLog" Version="5.0.1" />
<PackageReference Include="NLog.Web.AspNetCore" Version="5.0.0" />
<PackageReference Include="Mapster" Version="7.3.0" />
<PackageReference Include="EPPlus" Version="6.0.4" />
<PackageReference Include="EPPlus" Version="6.0.5" />
<PackageReference Include="Hei.Captcha" Version="0.3.0" />
<PackageReference Include="Snowflake.Core" Version="2.0.0" />
</ItemGroup>