初始化数据库表配置
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
using Apimanager_backend.Data;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Apimanager_backend.Models
|
||||
{
|
||||
public class Api
|
||||
{
|
||||
/// <summary>
|
||||
/// 主键,自增
|
||||
/// </summary>
|
||||
public int Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// API名称
|
||||
/// </summary>
|
||||
[MaxLength(200)]
|
||||
[Required]
|
||||
public string Name { get; set; } // varchar(20)
|
||||
|
||||
/// <summary>
|
||||
/// API地址
|
||||
/// </summary>
|
||||
[Required]
|
||||
public string Endpoint { get; set; } // varchar(255)
|
||||
|
||||
/// <summary>
|
||||
/// 调用方法
|
||||
/// </summary>
|
||||
public ApiMethod Method { get; set; } // enum('GET','POST','PUT', 'DELETE')
|
||||
|
||||
/// <summary>
|
||||
/// 套餐Id,默认为空(免费无限制)
|
||||
/// </summary>
|
||||
public int? PackageId { get; set; } // int? 使其可为null
|
||||
|
||||
/// <summary>
|
||||
/// 是否第三方API
|
||||
/// </summary>
|
||||
public bool IsThirdParty { get; set; } // boolean
|
||||
|
||||
/// <summary>
|
||||
/// 是否启用
|
||||
/// </summary>
|
||||
public bool IsActive { get; set; } // boolean
|
||||
/// <summary>
|
||||
/// 是否删除
|
||||
/// </summary>
|
||||
public bool IsDelete { get; set; } // boolean
|
||||
|
||||
/// <summary>
|
||||
/// 创建时间,默认当前时间
|
||||
/// </summary>
|
||||
public DateTime CreatedAt { get; set; } = DateTime.UtcNow; // timestamp
|
||||
|
||||
//导航属性
|
||||
public Apipackage? Package { get; set; }
|
||||
public ICollection<ApiCallLog> ApiCalls { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
namespace Apimanager_backend.Models
|
||||
{
|
||||
public class ApiCallLog
|
||||
{
|
||||
/// <summary>
|
||||
/// 主键,自增
|
||||
/// </summary>
|
||||
public int Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 外键,用户ID
|
||||
/// </summary>
|
||||
public int UserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 外键,API ID
|
||||
/// </summary>
|
||||
public int ApiId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 调用时间,默认当前时间
|
||||
/// </summary>
|
||||
public DateTime CallTime { get; set; } = DateTime.UtcNow; // Timestamp
|
||||
|
||||
/// <summary>
|
||||
/// 调用结果状态码
|
||||
/// </summary>
|
||||
public int CallResult { get; set; } // 调用结果状态码
|
||||
|
||||
|
||||
//导航属性
|
||||
public User? User { get; set; }
|
||||
public Api? Api { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
namespace Apimanager_backend.Models
|
||||
{
|
||||
public enum ApiMethod
|
||||
{
|
||||
GET,
|
||||
POST,
|
||||
PUT,
|
||||
DELETE
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Apimanager_backend.Models
|
||||
{
|
||||
public class Apipackage
|
||||
{
|
||||
/// <summary>
|
||||
/// 主键,自增
|
||||
/// </summary>
|
||||
[Key]
|
||||
public int Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 套餐名称
|
||||
/// </summary>
|
||||
[MaxLength(20)]
|
||||
public string Name { get; set; } // varchar(20)
|
||||
|
||||
/// <summary>
|
||||
/// 最大调用次数
|
||||
/// </summary>
|
||||
public int CallLimit { get; set; } // int
|
||||
|
||||
/// <summary>
|
||||
/// 价格
|
||||
/// </summary>
|
||||
public decimal Price { get; set; } // decimal(10,2)
|
||||
|
||||
/// <summary>
|
||||
/// 套餐过期时间,可用于控制套餐是否过期
|
||||
/// </summary>
|
||||
public DateTime ExpiryDate { get; set; } // timestamp
|
||||
|
||||
/// <summary>
|
||||
/// 创建时间
|
||||
/// </summary>
|
||||
public DateTime CreatedAt { get; set; } = DateTime.UtcNow; // timestamp
|
||||
|
||||
//导航属性
|
||||
public ICollection<Api> Apis { get; set; }
|
||||
public ICollection<UserPackage> Packages { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
using Microsoft.AspNetCore.Antiforgery;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Apimanager_backend.Models
|
||||
{
|
||||
public class OperationLog
|
||||
{
|
||||
/// <summary>
|
||||
/// 主键,自增
|
||||
/// </summary>
|
||||
public int Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 操作人ID,操作者的用户ID(通常是管理员)
|
||||
/// </summary>
|
||||
public int UserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 操作类型,描述操作的具体内容
|
||||
/// </summary>
|
||||
[Required]
|
||||
[MaxLength(20)]
|
||||
public string Operation { get; set; } // varchar(20)
|
||||
|
||||
/// <summary>
|
||||
/// 目标类型,操作的对象类型
|
||||
/// </summary>
|
||||
[Required]
|
||||
[MaxLength(50)]
|
||||
public string TargetType { get; set; } // varchar(50)
|
||||
|
||||
/// <summary>
|
||||
/// 目标对象ID,操作对象的具体ID
|
||||
/// </summary>
|
||||
public int TargetId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 操作时间,操作发生时间
|
||||
/// </summary>
|
||||
public DateTime CreatedAt { get; set; } = DateTime.UtcNow; // timestamp
|
||||
|
||||
/// <summary>
|
||||
/// 操作来源IP
|
||||
/// </summary>
|
||||
[MaxLength(45)]
|
||||
public string IpAddress { get; set; } // varchar(45)
|
||||
|
||||
/// <summary>
|
||||
/// 操作设备信息
|
||||
/// </summary>
|
||||
public string UserAgent { get; set; } // varchar(255)
|
||||
|
||||
/// <summary>
|
||||
/// 操作描述,可选的详细说明,解释操作原因等
|
||||
/// </summary>
|
||||
public string Description { get; set; } // varchar(255)
|
||||
|
||||
//导航属性
|
||||
public User? User { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Apimanager_backend.Models
|
||||
{
|
||||
public class Order
|
||||
{
|
||||
/// <summary>
|
||||
/// 主键,自增
|
||||
/// </summary>
|
||||
public int Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 外键,用户ID
|
||||
/// </summary>
|
||||
public int UserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 订单号,唯一
|
||||
/// </summary>
|
||||
[Required]
|
||||
public string OrderNumber { get; set; } // varchar(50)
|
||||
|
||||
/// <summary>
|
||||
/// 第三方系统订单编号
|
||||
/// </summary>
|
||||
public string? ThirdPartyOrderId { get; set; } // varchar(100)
|
||||
|
||||
/// <summary>
|
||||
/// 订单金额
|
||||
/// </summary>
|
||||
public decimal Amount { get; set; } // decimal(10, 2)
|
||||
|
||||
/// <summary>
|
||||
/// 订单类型
|
||||
/// </summary>
|
||||
public OrderType OrderType { get; set; } // enum('Recharge','Purchase','Refund')
|
||||
|
||||
/// <summary>
|
||||
/// 订单状态
|
||||
/// </summary>
|
||||
public OrderStatus Status { get; set; } // enum('Pending','Completed','Cancelled','Failed')
|
||||
|
||||
/// <summary>
|
||||
/// 创建时间,订单创建时间
|
||||
/// </summary>
|
||||
public DateTime CreatedAt { get; set; } = DateTime.UtcNow; // timestamp
|
||||
|
||||
/// <summary>
|
||||
/// 更新时间,订单状态更新时间
|
||||
/// </summary>
|
||||
public DateTime UpdatedAt { get; set; } = DateTime.UtcNow; // timestamp
|
||||
|
||||
/// <summary>
|
||||
/// 订单描述,可选的详细信息
|
||||
/// </summary>
|
||||
public string? Description { get; set; } // varchar(255)
|
||||
|
||||
//导航属性
|
||||
public User? User { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
namespace Apimanager_backend.Models
|
||||
{
|
||||
public enum OrderStatus
|
||||
{
|
||||
Pending,
|
||||
Completed,
|
||||
Cancelled,
|
||||
Failed
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
namespace Apimanager_backend.Models
|
||||
{
|
||||
public enum OrderType
|
||||
{
|
||||
Recharge,
|
||||
Purchase,
|
||||
Refund
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Apimanager_backend.Models
|
||||
{
|
||||
public class User
|
||||
{
|
||||
/// <summary>
|
||||
/// 用户ID,主键,自增
|
||||
/// </summary>
|
||||
public int Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 用户名,唯一
|
||||
/// </summary>
|
||||
[Required]
|
||||
public string Username { get; set; } // varchar(20)
|
||||
|
||||
/// <summary>
|
||||
/// 邮箱,唯一
|
||||
/// </summary>
|
||||
public string Email { get; set; } // varchar(20)
|
||||
|
||||
/// <summary>
|
||||
/// 密码哈希
|
||||
/// </summary>
|
||||
[Required]
|
||||
[MaxLength(255)]
|
||||
public string PassHash { get; set; } // varchar(255)
|
||||
|
||||
/// <summary>
|
||||
/// 用户角色
|
||||
/// </summary>
|
||||
public UserRole Role { get; set; } // Enum('Admin','User')
|
||||
|
||||
/// <summary>
|
||||
/// 是否禁用
|
||||
/// </summary>
|
||||
public bool IsBan { get; set; } // boolean
|
||||
/// <summary>
|
||||
/// 是否删除
|
||||
/// </summary>
|
||||
public bool IsDelete { get; set; } // boolean
|
||||
|
||||
/// <summary>
|
||||
/// 余额
|
||||
/// </summary>
|
||||
public decimal Balance { get; set; } // Decimal(10)
|
||||
|
||||
/// <summary>
|
||||
/// 创建时间,默认当前时间
|
||||
/// </summary>
|
||||
public DateTime CreatedAt { get; set; } = DateTime.UtcNow; // Timestamp
|
||||
|
||||
//导航属性
|
||||
public ICollection<UserPackage> Packages { get; set; }
|
||||
public ICollection<OperationLog> operationLogs { get; set; }
|
||||
public ICollection<ApiCallLog> CallLogs { get; set; }
|
||||
public ICollection<Order> Orders { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
namespace Apimanager_backend.Models
|
||||
{
|
||||
public class UserPackage
|
||||
{/// <summary>
|
||||
/// 主键,自增
|
||||
/// </summary>
|
||||
public int Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 外键,用户ID
|
||||
/// </summary>
|
||||
public int UserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 外键,套餐ID
|
||||
/// </summary>
|
||||
public int PackageId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 剩余调用次数
|
||||
/// </summary>
|
||||
public int RemainingCalls { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 购买时间
|
||||
/// </summary>
|
||||
public DateTime PurchasedAt { get; set; } = DateTime.UtcNow; // timestamp
|
||||
|
||||
//导航属性
|
||||
public User? User { get; set; }
|
||||
public Apipackage? Package { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
namespace Apimanager_backend.Models
|
||||
{
|
||||
public enum UserRole
|
||||
{
|
||||
Admin = 0,
|
||||
User = 1
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user