Merge branch 'dev' of https://gitea.nxsir.cn/nanxun/ql_apimanager_backend into dev
This commit is contained in:
@@ -13,6 +13,9 @@ namespace Apimanager_backend.Data
|
||||
//自增
|
||||
builder.Property(x => x.Id)
|
||||
.ValueGeneratedOnAdd();
|
||||
//设置唯一
|
||||
builder.HasIndex(x => x.Endpoint)
|
||||
.IsUnique();
|
||||
//外键
|
||||
builder.HasOne(x => x.Package)
|
||||
.WithMany(u => u.Apis)
|
||||
|
||||
@@ -18,6 +18,10 @@ namespace Apimanager_backend.Data
|
||||
public DbSet<OperationLog> OperationLogs { get; set; }
|
||||
//订单表
|
||||
public DbSet<Order> Orders { get; set; }
|
||||
|
||||
//API套餐关联表
|
||||
public DbSet<ApiPackageItem> apiPackageItems { get; set; }
|
||||
|
||||
//用户已订购套餐表
|
||||
public DbSet<UserPackage> UserPackages { get; set; }
|
||||
//用户角色表
|
||||
@@ -26,14 +30,20 @@ namespace Apimanager_backend.Data
|
||||
public DbSet<Log> Logs { get; set; }
|
||||
//系统配置表
|
||||
public DbSet<SystemConfig> SystemConfigs { get; set; }
|
||||
|
||||
//支付配置
|
||||
public DbSet<PaymentConfig> paymentConfigs { get; set; }
|
||||
public ApiContext(DbContextOptions<ApiContext> options) : base(options) { }
|
||||
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
||||
{
|
||||
modelBuilder.ApplyConfigurationsFromAssembly(typeof(ApiContext).Assembly);
|
||||
// 配置全局查询筛选器
|
||||
modelBuilder.Entity<User>().HasQueryFilter(u => !u.IsDelete);
|
||||
modelBuilder.Entity<UserRole>()
|
||||
.HasQueryFilter(ur => !ur.User.IsDelete);
|
||||
modelBuilder.Entity<Api>().HasQueryFilter(a => !a.IsDelete);
|
||||
modelBuilder.Entity<Apipackage>().HasQueryFilter(x => !x.IsDeleted);
|
||||
modelBuilder.Entity<Order>().HasQueryFilter(x => !x.IsDeleted);
|
||||
//配置日志表
|
||||
modelBuilder.Entity<Log>().HasKey(x => x.Id);
|
||||
modelBuilder.Entity<Log>()
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
using Apimanager_backend.Models;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||
|
||||
namespace Apimanager_backend.Data
|
||||
{
|
||||
public class ApiPackageItemConfig : IEntityTypeConfiguration<ApiPackageItem>
|
||||
{
|
||||
public void Configure(EntityTypeBuilder<ApiPackageItem> builder)
|
||||
{
|
||||
//主键
|
||||
builder.HasKey(x => x.Id);
|
||||
//自增
|
||||
builder.Property(x => x.Id)
|
||||
.ValueGeneratedOnAdd();
|
||||
//外键
|
||||
builder.HasOne(x => x.Api)
|
||||
.WithMany(u => u.ApiPackageItems)
|
||||
.HasForeignKey(x => x.ApiId);
|
||||
|
||||
builder.HasOne(x => x.ApiPackage)
|
||||
.WithMany(u => u.ApiPackageItems)
|
||||
.HasForeignKey(x => x.ApiPackageId);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
using Apimanager_backend.Models;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||
|
||||
namespace Apimanager_backend.Data
|
||||
{
|
||||
public class PaymentConfigConfig : IEntityTypeConfiguration<PaymentConfig>
|
||||
{
|
||||
public void Configure(EntityTypeBuilder<PaymentConfig> builder)
|
||||
{
|
||||
builder.HasKey(x => x.Id);
|
||||
builder.Property(x => x.Id)
|
||||
.ValueGeneratedOnAdd();
|
||||
builder.HasData(
|
||||
new PaymentConfig() { Id = 1, Method = PaymentType.AliPay,PayType = PayType.Official, AppId = "", SecretKey = "", PublicKey = "", NotifyUrl = "", GatewayUrl = "", IsEnabled = false },
|
||||
new PaymentConfig() { Id = 2, Method = PaymentType.WxPay, PayType = PayType.Official, AppId = "", SecretKey = "", PublicKey = "", NotifyUrl = "", GatewayUrl = "", IsEnabled = false },
|
||||
new PaymentConfig() { Id = 3, Method = PaymentType.QQPay, PayType = PayType.Official, AppId = "", SecretKey = "", PublicKey = "", NotifyUrl = "", GatewayUrl = "", IsEnabled = false },
|
||||
new PaymentConfig() { Id = 4, Method = PaymentType.Bank, PayType = PayType.Official, AppId = "", SecretKey = "", PublicKey = "", NotifyUrl = "", GatewayUrl = "", IsEnabled = false }
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.Loader;
|
||||
|
||||
namespace Apimanager_backend.Data
|
||||
{
|
||||
// 隔离加载上下文
|
||||
public class PluginLoadContext : AssemblyLoadContext
|
||||
{
|
||||
private readonly AssemblyDependencyResolver _resolver;
|
||||
|
||||
public PluginLoadContext(string pluginPath) : base(isCollectible: true)
|
||||
{
|
||||
_resolver = new AssemblyDependencyResolver(pluginPath);
|
||||
}
|
||||
|
||||
protected override Assembly Load(AssemblyName assemblyName)
|
||||
{
|
||||
// 避免重复加载核心库
|
||||
if (assemblyName.Name == "YourSharedContract")
|
||||
return null;
|
||||
|
||||
string assemblyPath = _resolver.ResolveAssemblyToPath(assemblyName);
|
||||
return assemblyPath != null ? LoadFromAssemblyPath(assemblyPath) : null;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user