添加项目文件。

This commit is contained in:
fuenmao
2025-09-29 13:48:36 +08:00
parent f61e922f0c
commit 5dc1780ef1
407 changed files with 63703 additions and 0 deletions
@@ -0,0 +1,180 @@
namespace SimpleAdmin.System;
/// <summary>
/// 代码生成基础添加参数
/// </summary>
public class GenBasicAddInput : GenBasic, IValidatableObject
{
/// <summary>
/// 所属库名称
/// </summary>
[Required(ErrorMessage = "ConfigId不能为空")]
public override string ConfigId { get; set; }
/// <summary>
/// 主表名称
/// </summary>
[Required(ErrorMessage = "BbTable不能为空")]
public override string DbTable { get; set; }
/// <summary>
/// 功能列表
/// </summary>
[Required(ErrorMessage = "FuncList不能为空")]
public override List<string>? FuncList { get; set; }
/// <summary>
/// 生成模版
/// </summary>
[Required(ErrorMessage = "ModuleType不能为空")]
public override string ModuleType { get; set; }
/// <summary>
/// 数据权限
/// </summary>
[Required(ErrorMessage = "DataPermission不能为空")]
public override string DataPermission { get; set; }
/// <summary>
/// 实体名称
/// </summary>
[Required(ErrorMessage = "EntityName不能为空")]
public override string EntityName { get; set; }
/// <summary>
/// 表前缀移除
/// </summary>
[Required(ErrorMessage = "TablePrefix不能为空")]
public override string TablePrefix { get; set; }
/// <summary>
/// 生成方式
/// </summary>
[Required(ErrorMessage = "GenerateType不能为空")]
public override string GenerateType { get; set; }
/// <summary>
/// 所属模块
/// </summary>
[IdNotNull(ErrorMessage = "Module不能为空")]
public override long Module { get; set; }
/// <summary>
/// 路由名
/// </summary>
[Required(ErrorMessage = "RouteName不能为空")]
public override string RouteName { get; set; }
/// <summary>
/// 图标
/// </summary>
[Required(ErrorMessage = "Icon不能为空")]
public override string Icon { get; set; }
/// <summary>
/// 功能名
/// </summary>
[Required(ErrorMessage = "FunctionName不能为空")]
public override string FunctionName { get; set; }
/// <summary>
/// 业务名
/// </summary>
[Required(ErrorMessage = "BusName不能为空")]
public override string BusName { get; set; }
/// <summary>
/// 类名
/// </summary>
[Required(ErrorMessage = "ClassName不能为空")]
public override string ClassName { get; set; }
/// <summary>
/// 表单布局
/// </summary>
[Required(ErrorMessage = "FormLayout不能为空")]
public override string FormLayout { get; set; }
/// <summary>
/// 使用栅格
/// </summary>
[Required(ErrorMessage = "GridWhether不能为空")]
public override string GridWhether { get; set; }
/// <summary>
/// 左侧树
/// </summary>
[Required(ErrorMessage = "LeftTree不能为空")]
public override string LeftTree { get; set; }
/// <summary>
/// 前端路径
/// </summary>
[Required(ErrorMessage = "FrontedPath不能为空")]
public override string FrontedPath { get; set; }
/// <summary>
/// 服务层
/// </summary>
[Required(ErrorMessage = "ServicePosition不能为空")]
public override string ServicePosition { get; set; }
/// <summary>
/// 控制器层
/// </summary>
[Required(ErrorMessage = "ControllerPosition不能为空")]
public override string ControllerPosition { get; set; }
/// <summary>
/// 排序
/// </summary>
[Required(ErrorMessage = "SortCode不能为空")]
public override int SortCode { get; set; }
/// <summary>
/// 作者名
/// </summary>
[Required(ErrorMessage = "AuthorName不能为空")]
public override string AuthorName { get; set; }
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
//如果是树形结构
if (ModuleType.Contains("tree"))
{
if (string.IsNullOrEmpty(TreeId) || string.IsNullOrEmpty(TreeName) || string.IsNullOrEmpty(TreePid))
yield return new ValidationResult($"必须配置树表相关信息", new[] { nameof(TreeId), nameof(TreeName), nameof(TreePid) });
}
//如果是树形结构
if (ModuleType.Contains("master"))
{
if (string.IsNullOrEmpty(ChildFk) || string.IsNullOrEmpty(ChildTable))
yield return new ValidationResult($"必须配置主子表相关信息", new[] { nameof(ChildTable), nameof(ChildFk) });
}
if (!FuncList.Contains("curd"))
{
yield return new ValidationResult($"必须包含基础的增删改查功能", new[] { nameof(FuncList) });
}
}
}
/// <summary>
/// 代码生成基础编辑参数
/// </summary>
public class GenBasicEditInput : GenBasicAddInput
{
[IdNotNull(ErrorMessage = "Id不能为空")]
public override long Id { get; set; }
}
/// <summary>
/// 执行代码生成参数
/// </summary>
public class ExecGenInput : BaseIdInput
{
/// <summary>
/// 生成类型
/// </summary>
public string ExecType { get; set; }
}
@@ -0,0 +1,67 @@
namespace SimpleAdmin.System;
/// <summary>
/// 表字段信息输出
/// </summary>
public class GenBasicColumnOutput
{
/// <summary>
/// 字段名称
/// </summary>
public string ColumnName { get; set; }
/// <summary>
/// 是否主键
/// </summary>
public bool IsPrimarykey { get; set; }
/// <summary>
/// 字段类型
/// </summary>
public string TypeName { get; set; }
/// <summary>
/// 字段注释
/// </summary>
public string ColumnRemark { get; set; }
}
/// <summary>
/// 预览代码生成结果
/// </summary>
public class GenBasePreviewOutput
{
/// <summary>
/// SQL代码结果集
/// </summary>
public List<GenBaseCodeResult> SqlResults { get; set; } = new List<GenBaseCodeResult>();
/// <summary>
/// 前端代码结果集
/// </summary>
public List<GenBaseCodeResult> CodeFrontendResults { get; set; } = new List<GenBaseCodeResult>();
/// <summary>
/// 后端代码结果集
/// </summary>
public List<GenBaseCodeResult> CodeBackendResults { get; set; } = new List<GenBaseCodeResult>();
public class GenBaseCodeResult
{
/// <summary>
/// 代码文件名称
/// </summary>
public string CodeFileName { get; set; }
/// <summary>
/// 文件路径
/// </summary>
public string FilePath { get; set; }
/// <summary>
/// 代码文件内容
/// </summary>
public string CodeFileContent { get; set; }
}
}
@@ -0,0 +1,254 @@
using StringHelper = SimpleTool.StringHelper;
namespace SimpleAdmin.System;
/// <summary>
/// 代码生成绑定视图
/// </summary>
public class GenViewModel : GenBasic
{
#region 基础
/// <summary>
/// 生成时间
/// </summary>
public string GenTime { get; set; } = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
/// <summary>
/// 表字段
/// </summary>
public List<GenConfig> TableFields { get; set; }
#endregion 基础
#region 菜单
/// <summary>
/// 菜单ID
/// </summary>
public long MenuId { get; set; } = CommonUtils.GetSingleId();
/// <summary>
/// 菜单编码
/// </summary>
public string MenuCode { get; set; }
/// <summary>
/// /菜单路径
/// </summary>
public string MenuPath
{
get { return $"/{RouteName}/{BusName}"; }
}
/// <summary>
/// /菜单路径
/// </summary>
public string MenuComponent
{
get { return $"{RouteName}/{BusName}/index"; }
}
#endregion 菜单
#region 按钮
/// <summary>
/// 添加按钮ID
/// </summary>
public long AddButtonId { get; set; } = CommonUtils.GetSingleId();
/// <summary>
/// 批量删除按钮ID
/// </summary>
public long BatchDeleteButtonId { get; set; } = CommonUtils.GetSingleId();
/// <summary>
/// 编辑按钮ID
/// </summary>
public long EditButtonId { get; set; } = CommonUtils.GetSingleId();
/// <summary>
/// 删除按钮ID
/// </summary>
public long DeleteButtonId { get; set; } = CommonUtils.GetSingleId();
#endregion 按钮
#region 后端
/// <summary>
/// 类名首字母小写
/// </summary>
public string ClassNameFirstLower
{
get { return StringHelper.FirstCharToLower(ClassName); }
}
/// <summary>
/// swagger分组名称
/// </summary>
public string ApiGroup
{
get
{
return ServicePosition.Split(".").Last();
}
}
/// <summary>
/// 服务名
/// </summary>
public string ServiceName
{
get { return ClassName + "Service"; }
}
/// <summary>
/// 服务名开头首字母小写
/// </summary>
public string ServiceFirstLower
{
get { return ClassNameFirstLower + "Service"; }
}
#endregion 后端
#region 注释描述
/// <summary>
/// 分页查询
/// </summary>
public string DescriptionPage
{
get { return FunctionName + "分页查询"; }
}
/// <summary>
/// 列表查询
/// </summary>
public string DescriptionList
{
get { return FunctionName + "列表查询"; }
}
/// <summary>
/// 添加
/// </summary>
public string DescriptionAdd
{
get { return "添加" + FunctionName; }
}
/// <summary>
/// 修改
/// </summary>
public string DescriptionEdit
{
get { return "修改" + FunctionName; }
}
/// <summary>
/// 修改
/// </summary>
public string DescriptionDelete
{
get { return "删除" + FunctionName; }
}
/// <summary>
/// 详情
/// </summary>
public string DescriptionDetail
{
get { return FunctionName + "详情"; }
}
/// <summary>
/// 导入
/// </summary>
public string DescriptionImport
{
get { return FunctionName + "导入"; }
}
/// <summary>
/// 导入模板下载
/// </summary>
public string DescriptionTemplate
{
get { return FunctionName + "导入模板下载"; }
}
/// <summary>
/// 导入预览
/// </summary>
public string DescriptionPreview
{
get { return FunctionName + "导入预览"; }
}
/// <summary>
/// 导入
/// </summary>
public string DescriptionExport
{
get { return FunctionName + "导出"; }
}
/// <summary>
/// 批量编辑
/// </summary>
public string DescriptionEdits
{
get { return FunctionName + "批量编辑"; }
}
/// <summary>
/// 树查询
/// </summary>
public string DescriptionTree
{
get { return FunctionName + "树"; }
}
#endregion 注释描述
#region 参数
/// <summary>
/// 分页参数
/// </summary>
public string PageInput
{
get { return ClassName + "PageInput"; }
}
/// <summary>
/// 添加参数
/// </summary>
public string AddInput
{
get { return ClassName + "AddInput"; }
}
/// <summary>
/// 编辑参数
/// </summary>
public string EditInput
{
get { return ClassName + "EditInput"; }
}
/// <summary>
/// 树查询参数
/// </summary>
public string TreeInput
{
get { return ClassName + "TreeInput"; }
}
#endregion 参数
}