修改初始数据
This commit is contained in:
parent
8845fb6521
commit
e94a8bbfd2
@ -1,4 +1,5 @@
|
||||
using LMS.Repository.User;
|
||||
using LMS.Tools.Extensions;
|
||||
using Microsoft.AspNetCore.Identity;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
@ -33,13 +34,13 @@ namespace LMS.Repository.Models.DB
|
||||
public string? Options { get; set; } = "{}";
|
||||
|
||||
[Column(TypeName = "datetime")]
|
||||
public DateTime CreatedDate { get; set; } = DateTime.Now;
|
||||
public DateTime CreatedDate { get; set; } = BeijingTimeExtension.GetBeijingTime();
|
||||
|
||||
[Column(TypeName = "datetime")]
|
||||
public DateTime UpdatedDate { get; set; } = DateTime.Now;
|
||||
public DateTime UpdatedDate { get; set; } = BeijingTimeExtension.GetBeijingTime();
|
||||
|
||||
[Column(TypeName = "datetime")]
|
||||
public DateTime LastLoginDate { get; set; } = DateTime.Now;
|
||||
public DateTime LastLoginDate { get; set; } = BeijingTimeExtension.GetBeijingTime();
|
||||
|
||||
public string? LastLoginIp { get; set; } = "";
|
||||
|
||||
|
||||
12
LMS.service/.config/dotnet-tools.json
Normal file
12
LMS.service/.config/dotnet-tools.json
Normal file
@ -0,0 +1,12 @@
|
||||
{
|
||||
"version": 1,
|
||||
"isRoot": true,
|
||||
"tools": {
|
||||
"dotnet-ef": {
|
||||
"version": "8.0.10",
|
||||
"commands": [
|
||||
"dotnet-ef"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,100 @@
|
||||
using LMS.DAO;
|
||||
using LMS.Repository.Models.DB;
|
||||
using LMS.Tools.Extensions;
|
||||
using Microsoft.AspNetCore.Identity;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using static LMS.Common.Enums.ResponseCodeEnum;
|
||||
|
||||
namespace LMS.service.Configuration.InitConfiguration;
|
||||
|
||||
/// <summary>
|
||||
/// 检查数据库中的一些操作
|
||||
/// </summary>
|
||||
/// <param name="serviceProvider"></param>
|
||||
public class DatabaseConfiguration(IServiceProvider serviceProvider) : IHostedService
|
||||
{
|
||||
private readonly IServiceProvider _serviceProvider = serviceProvider;
|
||||
public async Task StartAsync(CancellationToken cancellationToken)
|
||||
{
|
||||
using var scope = _serviceProvider.CreateScope();
|
||||
var dbContext = scope.ServiceProvider.GetRequiredService<ApplicationDbContext>();
|
||||
var userManager = scope.ServiceProvider.GetRequiredService<UserManager<User>>();
|
||||
var roleManager = scope.ServiceProvider.GetRequiredService<RoleManager<Role>>();
|
||||
using var transaction = await dbContext.Database.BeginTransactionAsync(cancellationToken);
|
||||
try
|
||||
{
|
||||
// 判断数据库中是不是超级管理员,没有创建一个
|
||||
// 要是没有用户,默认没有
|
||||
User? user = await dbContext.Users.FirstOrDefaultAsync(x => x.UserName == "admin", cancellationToken: cancellationToken);
|
||||
if (user != null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
User admin = new()
|
||||
{
|
||||
UserName = "admin",
|
||||
NickName = "admin",
|
||||
Email = "admin@admin.com",
|
||||
AllDeviceCount = 1,
|
||||
AgentPercent = 0.50,
|
||||
FreeCount = 10,
|
||||
CreatedDate = BeijingTimeExtension.GetBeijingTime(),
|
||||
UpdatedDate = BeijingTimeExtension.GetBeijingTime(),
|
||||
};
|
||||
var result = await userManager.CreateAsync(admin, "Admin123.");
|
||||
if (!result.Succeeded)
|
||||
{
|
||||
foreach (var s in result.Errors)
|
||||
{
|
||||
Console.WriteLine(s.Description);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
List<string> roleNames =
|
||||
[
|
||||
"Super Admin",
|
||||
"Admin",
|
||||
"Agent User",
|
||||
"VIP User",
|
||||
"Simple User"
|
||||
];
|
||||
|
||||
for (int i = 0; i < roleNames.Count; i++)
|
||||
{
|
||||
// 开始添加一些默认数据。添加角色
|
||||
if (await roleManager.FindByNameAsync(roleNames[i]) == null)
|
||||
{
|
||||
var indentiyResult = await roleManager.CreateAsync(new Role
|
||||
{
|
||||
Name = roleNames[i],
|
||||
CreatedUserId = admin.Id,
|
||||
UpdatedUserId = admin.Id,
|
||||
CreatedTime = BeijingTimeExtension.GetBeijingTime(),
|
||||
UpdatedTime = BeijingTimeExtension.GetBeijingTime(),
|
||||
Remark = string.Empty,
|
||||
});
|
||||
Console.WriteLine(indentiyResult.Succeeded);
|
||||
}
|
||||
}
|
||||
// 判断判断admin是不是超级管理员,不是的话,添加
|
||||
if (!await userManager.IsInRoleAsync(admin, "Super Admin"))
|
||||
{
|
||||
await userManager.AddToRoleAsync(admin, "Super Admin");
|
||||
}
|
||||
await transaction.CommitAsync(cancellationToken);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
await transaction.RollbackAsync(cancellationToken);
|
||||
// 根据需要处理异常,例如终止应用程序
|
||||
Console.WriteLine(ex.Message);
|
||||
Environment.Exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
public Task StopAsync(CancellationToken cancellationToken)
|
||||
{
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
}
|
||||
@ -1,16 +1,14 @@
|
||||
|
||||
using LMS.Common.RSAKey;
|
||||
using LMS.Common.RSAKey;
|
||||
using LMS.DAO;
|
||||
using LMS.Repository.DB;
|
||||
using LMS.Tools.Extensions;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace LMS.service.Configuration
|
||||
namespace LMS.service.Configuration.InitConfiguration
|
||||
{
|
||||
public class RsaConfigurattions(IServiceProvider serviceProvider) : IHostedService
|
||||
{
|
||||
private readonly IServiceProvider _serviceProvider = serviceProvider;
|
||||
|
||||
public async Task StartAsync(CancellationToken cancellationToken)
|
||||
{
|
||||
using var scope = _serviceProvider.CreateScope();
|
||||
@ -2,7 +2,7 @@
|
||||
using LMS.DAO.PermissionDAO;
|
||||
using LMS.DAO.RoleDAO;
|
||||
using LMS.DAO.UserDAO;
|
||||
using LMS.service.Configuration;
|
||||
using LMS.service.Configuration.InitConfiguration;
|
||||
using LMS.service.Service;
|
||||
using LMS.service.Service.PermissionService;
|
||||
using LMS.service.Service.RoleService;
|
||||
@ -16,6 +16,7 @@ namespace Lai_server.Configuration
|
||||
{
|
||||
// 注入Service
|
||||
services.AddScoped<RsaConfigurattions>();
|
||||
services.AddScoped<DatabaseConfiguration>();
|
||||
|
||||
// 注入DDL
|
||||
services.AddScoped<LoginService>();
|
||||
|
||||
@ -199,7 +199,7 @@ namespace LMS.service.Controllers
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 将用户升级为代理
|
||||
#region 将用户升级为代理
|
||||
|
||||
[HttpPost]
|
||||
[Authorize]
|
||||
@ -208,6 +208,7 @@ namespace LMS.service.Controllers
|
||||
long requestUserId = ConvertExtension.ObjectToLong(HttpContext.Items["UserId"] ?? 0);
|
||||
return await _loginService.EnableAgent(requestUserId);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 获取用户的代理信息
|
||||
|
||||
@ -2,6 +2,7 @@ using Lai_server.Configuration;
|
||||
using LMS.DAO;
|
||||
using LMS.Repository.Models.DB;
|
||||
using LMS.service.Configuration;
|
||||
using LMS.service.Configuration.InitConfiguration;
|
||||
using LMS.service.Extensions.Middleware;
|
||||
using Microsoft.AspNetCore.Identity;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
@ -70,6 +71,7 @@ builder.Services.AddEndpointsApiExplorer();
|
||||
builder.Services.AddSwaggerService();
|
||||
|
||||
builder.Services.AddHostedService<RsaConfigurattions>();
|
||||
builder.Services.AddHostedService<DatabaseConfiguration>();
|
||||
|
||||
|
||||
var app = builder.Build();
|
||||
|
||||
281
SQL/Structure/Structure.sql
Normal file
281
SQL/Structure/Structure.sql
Normal file
@ -0,0 +1,281 @@
|
||||
/*
|
||||
Navicat Premium Dump SQL
|
||||
|
||||
Source Server : 亿速云(国内)
|
||||
Source Server Type : MySQL
|
||||
Source Server Version : 80018 (8.0.18)
|
||||
Source Host : yisurds-66dc0b453c05d4.rds.ysydb1.com:14080
|
||||
Source Schema : LMS_TEST
|
||||
|
||||
Target Server Type : MySQL
|
||||
Target Server Version : 80018 (8.0.18)
|
||||
File Encoding : 65001
|
||||
|
||||
Date: 13/10/2024 21:05:08
|
||||
*/
|
||||
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for ApiEndpoints
|
||||
-- ----------------------------
|
||||
CREATE TABLE IF NOT EXISTS `ApiEndpoints` (
|
||||
`Id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
|
||||
`HttpMethod` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'Http请求方式',
|
||||
`Path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'Http请求地址',
|
||||
`CreateTime` datetime NOT NULL COMMENT '创建时间',
|
||||
`RequiredPermissionIds` json NOT NULL COMMENT '需要的权限ID',
|
||||
`CreatedId` bigint(20) NOT NULL COMMENT '创建者ID',
|
||||
`UpdatedId` bigint(20) NOT NULL COMMENT '更新者ID',
|
||||
PRIMARY KEY (`Id`) USING BTREE
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for AspNetRoleClaims
|
||||
-- ----------------------------
|
||||
CREATE TABLE IF NOT EXISTS `AspNetRoleClaims` (
|
||||
`Id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`RoleId` bigint(20) NOT NULL,
|
||||
`ClaimType` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
|
||||
`ClaimValue` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
|
||||
PRIMARY KEY (`Id`) USING BTREE,
|
||||
INDEX `IX_AspNetRoleClaims_RoleId`(`RoleId` ASC) USING BTREE,
|
||||
CONSTRAINT `FK_AspNetRoleClaims_AspNetRoles_RoleId` FOREIGN KEY (`RoleId`) REFERENCES `AspNetRoles` (`Id`) ON DELETE CASCADE ON UPDATE RESTRICT
|
||||
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for AspNetRoles
|
||||
-- ----------------------------
|
||||
CREATE TABLE IF NOT EXISTS `AspNetRoles` (
|
||||
`Id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`Name` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
|
||||
`NormalizedName` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
|
||||
`ConcurrencyStamp` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
|
||||
`CreatedUserId` bigint(20) NOT NULL,
|
||||
`UpdatedUserId` bigint(20) NOT NULL,
|
||||
`CreatedTime` datetime NOT NULL,
|
||||
`UpdatedTime` datetime NOT NULL,
|
||||
`Remark` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
|
||||
PRIMARY KEY (`Id`) USING BTREE,
|
||||
UNIQUE INDEX `RoleNameIndex`(`NormalizedName` ASC) USING BTREE
|
||||
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for AspNetUserClaims
|
||||
-- ----------------------------
|
||||
CREATE TABLE IF NOT EXISTS `AspNetUserClaims` (
|
||||
`Id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`UserId` bigint(20) NOT NULL,
|
||||
`ClaimType` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
|
||||
`ClaimValue` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
|
||||
PRIMARY KEY (`Id`) USING BTREE,
|
||||
INDEX `IX_AspNetUserClaims_UserId`(`UserId` ASC) USING BTREE,
|
||||
CONSTRAINT `FK_AspNetUserClaims_AspNetUsers_UserId` FOREIGN KEY (`UserId`) REFERENCES `AspNetUsers` (`Id`) ON DELETE CASCADE ON UPDATE RESTRICT
|
||||
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for AspNetUserLogins
|
||||
-- ----------------------------
|
||||
CREATE TABLE IF NOT EXISTS `AspNetUserLogins` (
|
||||
`LoginProvider` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
|
||||
`ProviderKey` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
|
||||
`ProviderDisplayName` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
|
||||
`UserId` bigint(20) NOT NULL,
|
||||
PRIMARY KEY (`LoginProvider`, `ProviderKey`) USING BTREE,
|
||||
INDEX `IX_AspNetUserLogins_UserId`(`UserId` ASC) USING BTREE,
|
||||
CONSTRAINT `FK_AspNetUserLogins_AspNetUsers_UserId` FOREIGN KEY (`UserId`) REFERENCES `AspNetUsers` (`Id`) ON DELETE CASCADE ON UPDATE RESTRICT
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for AspNetUserRoles
|
||||
-- ----------------------------
|
||||
CREATE TABLE IF NOT EXISTS `AspNetUserRoles` (
|
||||
`UserId` bigint(20) NOT NULL,
|
||||
`RoleId` bigint(20) NOT NULL,
|
||||
PRIMARY KEY (`UserId`, `RoleId`) USING BTREE,
|
||||
INDEX `IX_AspNetUserRoles_RoleId`(`RoleId` ASC) USING BTREE,
|
||||
CONSTRAINT `FK_AspNetUserRoles_AspNetRoles_RoleId` FOREIGN KEY (`RoleId`) REFERENCES `AspNetRoles` (`Id`) ON DELETE CASCADE ON UPDATE RESTRICT,
|
||||
CONSTRAINT `FK_AspNetUserRoles_AspNetUsers_UserId` FOREIGN KEY (`UserId`) REFERENCES `AspNetUsers` (`Id`) ON DELETE CASCADE ON UPDATE RESTRICT
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for AspNetUserTokens
|
||||
-- ----------------------------
|
||||
CREATE TABLE IF NOT EXISTS `AspNetUserTokens` (
|
||||
`UserId` bigint(20) NOT NULL,
|
||||
`LoginProvider` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
|
||||
`Name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
|
||||
`Value` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
|
||||
PRIMARY KEY (`UserId`, `LoginProvider`, `Name`) USING BTREE,
|
||||
CONSTRAINT `FK_AspNetUserTokens_AspNetUsers_UserId` FOREIGN KEY (`UserId`) REFERENCES `AspNetUsers` (`Id`) ON DELETE CASCADE ON UPDATE RESTRICT
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for AspNetUsers
|
||||
-- ----------------------------
|
||||
CREATE TABLE IF NOT EXISTS `AspNetUsers` (
|
||||
`Id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`NickName` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
|
||||
`CreatedDate` datetime NOT NULL,
|
||||
`UpdatedDate` datetime NOT NULL,
|
||||
`LastLoginDate` datetime NOT NULL,
|
||||
`LastLoginIp` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
|
||||
`LastLoginDevice` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
|
||||
`UserName` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
|
||||
`NormalizedUserName` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
|
||||
`Email` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
|
||||
`NormalizedEmail` varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
|
||||
`EmailConfirmed` tinyint(1) NOT NULL,
|
||||
`PasswordHash` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
|
||||
`SecurityStamp` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
|
||||
`ConcurrencyStamp` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
|
||||
`PhoneNumber` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL,
|
||||
`PhoneNumberConfirmed` tinyint(1) NOT NULL,
|
||||
`TwoFactorEnabled` tinyint(1) NOT NULL,
|
||||
`LockoutEnd` datetime(6) NULL DEFAULT NULL,
|
||||
`LockoutEnabled` tinyint(1) NULL DEFAULT NULL,
|
||||
`AccessFailedCount` int(11) NULL DEFAULT NULL,
|
||||
`FreeCount` bigint(20) NOT NULL DEFAULT 5 COMMENT '免费修改机器码的次数',
|
||||
`AgentPercent` double NOT NULL DEFAULT 0.5 COMMENT '代理分成的百分比',
|
||||
`AllDeviceCount` bigint(10) NOT NULL DEFAULT 1 COMMENT '可用的机器码数量(买了几次)',
|
||||
`Options` json NULL,
|
||||
`ParentId` bigint(20) NULL DEFAULT NULL,
|
||||
`AffiliateCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
|
||||
PRIMARY KEY (`Id`) USING BTREE,
|
||||
UNIQUE INDEX `UserNameIndex`(`NormalizedUserName` ASC) USING BTREE,
|
||||
INDEX `EmailIndex`(`NormalizedEmail` ASC) USING BTREE
|
||||
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for Machine
|
||||
-- ----------------------------
|
||||
CREATE TABLE IF NOT EXISTS `Machine` (
|
||||
`Id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'ID',
|
||||
`MachineId` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '用户电脑的机器码',
|
||||
`CreateTime` datetime NOT NULL COMMENT '创建时间',
|
||||
`UpdateTime` datetime NOT NULL COMMENT '更新时间',
|
||||
`DeactivationTime` datetime NULL DEFAULT NULL COMMENT '停用时间',
|
||||
`Status` int(11) NOT NULL COMMENT '状态 (激活/冻结)',
|
||||
`CreateId` bigint(20) NOT NULL COMMENT '创建者ID',
|
||||
`UpdateId` bigint(20) NOT NULL COMMENT '更新者ID',
|
||||
`UseStatus` int(11) NOT NULL COMMENT '使用状态(使用/永久)',
|
||||
`Remark` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '备注',
|
||||
`UserID` bigint(20) NOT NULL COMMENT '机器码所属ID',
|
||||
PRIMARY KEY (`Id`) USING BTREE
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for Permission
|
||||
-- ----------------------------
|
||||
CREATE TABLE IF NOT EXISTS `Permission` (
|
||||
`Id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '权限的ID',
|
||||
`UserId` bigint(20) NULL DEFAULT NULL COMMENT '用户的ID',
|
||||
`MachineId` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '机器码的ID(是ID,不是机器码)',
|
||||
`RoleId` bigint(20) NULL DEFAULT NULL COMMENT '角色ID',
|
||||
`PermissionTypeIds` json NULL COMMENT '权限类型的ID(子权限)',
|
||||
`PermissionCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '权限对应的Code',
|
||||
`CreateUserId` bigint(20) NOT NULL COMMENT '创建人ID',
|
||||
`UpdateUserId` bigint(20) NOT NULL COMMENT '更新人ID',
|
||||
`CreateTime` datetime NOT NULL COMMENT '创建时间',
|
||||
`UpdateTime` datetime NOT NULL COMMENT '更新时间',
|
||||
`Remark` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '备注',
|
||||
`Type` int(11) NOT NULL COMMENT '对应的类型\r\n对应 User,Role,Machine\r\n设置对应的type 检查对应的属性数据是不是存在\r\n',
|
||||
PRIMARY KEY (`Id`) USING BTREE
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for PermissionType
|
||||
-- ----------------------------
|
||||
CREATE TABLE IF NOT EXISTS `PermissionType` (
|
||||
`Id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '权限ID',
|
||||
`Name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '权限的名字',
|
||||
`Code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '表示权限的代码',
|
||||
`Type` int(11) NOT NULL COMMENT '权限的分类(user和machine,role,prompt,permission,自定义)',
|
||||
`CreateUserId` bigint(20) NOT NULL COMMENT '创建者ID',
|
||||
`CreateTime` datetime NOT NULL COMMENT '创建时间',
|
||||
`UpdateUserId` bigint(20) NOT NULL COMMENT '更新者ID',
|
||||
`UpdateTime` datetime NOT NULL COMMENT '更新权限类型的时间',
|
||||
`Remark` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '权限的描述',
|
||||
PRIMARY KEY (`Id`) USING BTREE
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for Prompt
|
||||
-- ----------------------------
|
||||
CREATE TABLE IF NOT EXISTS `Prompt` (
|
||||
`Id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'ID',
|
||||
`Name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '提示词预设的名称',
|
||||
`PromptTypeId` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '提示词的类型ID',
|
||||
`PromptTypeCode` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '提示词的类型编码',
|
||||
`PromptString` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '提示词预设字符串',
|
||||
`Version` int(11) NOT NULL COMMENT '当前版本',
|
||||
`Status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '状态',
|
||||
`Description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '提示词的描述',
|
||||
`CreateUserId` bigint(20) NOT NULL COMMENT '创建者',
|
||||
`CreateTime` datetime NOT NULL COMMENT '创建时间',
|
||||
`UpdateUserId` bigint(20) NOT NULL COMMENT '更新者',
|
||||
`UpdateTime` datetime NOT NULL COMMENT '更新时间',
|
||||
`Remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
|
||||
PRIMARY KEY (`Id`) USING BTREE
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '存放提示词的表' ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for PromptType
|
||||
-- ----------------------------
|
||||
CREATE TABLE IF NOT EXISTS `PromptType` (
|
||||
`Id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'ID',
|
||||
`Code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '提示词类型编码',
|
||||
`Name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '提示词类型名称',
|
||||
`Remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '提示词类型描述',
|
||||
`Status` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '提示词类型状态',
|
||||
`IsDeleted` tinyint(1) NOT NULL COMMENT '是否删除',
|
||||
`CreateUserId` bigint(20) NOT NULL COMMENT '创建用户ID',
|
||||
`CreateTime` datetime NOT NULL COMMENT '创建时间',
|
||||
`UpdateUserId` bigint(20) NOT NULL COMMENT '更新者ID',
|
||||
`UpdateTime` datetime NOT NULL COMMENT '更新时间',
|
||||
PRIMARY KEY (`Id`) USING BTREE
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '提示词类型的库' ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for RefreshTokens
|
||||
-- ----------------------------
|
||||
CREATE TABLE IF NOT EXISTS `RefreshTokens` (
|
||||
`Id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'ID ',
|
||||
`UserId` bigint(20) NOT NULL COMMENT '用户ID\r\n',
|
||||
`Token` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '刷新token',
|
||||
`Expiration` datetime NOT NULL COMMENT '到期时间',
|
||||
`Revoked` bit(1) NOT NULL COMMENT '是不是失效',
|
||||
`CreatedTime` datetime NOT NULL COMMENT '创建时间',
|
||||
`LastCheckIp` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '上次校验IP',
|
||||
`DeviceInfo` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '设备信息,浏览器信息等',
|
||||
PRIMARY KEY (`Id` DESC) USING BTREE
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for RsaKeys
|
||||
-- ----------------------------
|
||||
CREATE TABLE IF NOT EXISTS `RsaKeys` (
|
||||
`Id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'ID 主键',
|
||||
`PublicKey` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '公钥',
|
||||
`EncryptedPrivateKey` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '加密后的私钥',
|
||||
`EncryptionKey` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '加密私钥的随机字符串',
|
||||
`EncryptionIV` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '加密私钥的IV',
|
||||
`KeyVersion` int(11) NOT NULL COMMENT 'Key的版本',
|
||||
`CreatedTime` datetime NOT NULL COMMENT '创建时间',
|
||||
`LastUsed` datetime NULL DEFAULT NULL COMMENT '上次使用的时间',
|
||||
`UseCount` int(11) NOT NULL DEFAULT 0 COMMENT '使用的次数',
|
||||
`ExpirationTime` datetime NOT NULL COMMENT '到期时间',
|
||||
PRIMARY KEY (`Id`) USING BTREE
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = 'RSA密钥存储表' ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for __EFMigrationsHistory
|
||||
-- ----------------------------
|
||||
CREATE TABLE IF NOT EXISTS `__EFMigrationsHistory` (
|
||||
`MigrationId` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
|
||||
`ProductVersion` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
|
||||
PRIMARY KEY (`MigrationId`) USING BTREE
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
Loading…
x
Reference in New Issue
Block a user