109 lines
3.1 KiB
C#
109 lines
3.1 KiB
C#
using Newtonsoft.Json;
|
||
|
||
namespace MiaoYu.Shared.Admin.Models.LowCodes;
|
||
|
||
/// <summary>
|
||
/// 表列配置修改输入参数
|
||
/// </summary>
|
||
public class TableColumnChangeInput
|
||
{
|
||
/// <summary>
|
||
/// 表名(必填)
|
||
/// </summary>
|
||
public string TableName { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 数据库标识(必填)
|
||
/// </summary>
|
||
public string DataBase { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 列配置列表
|
||
/// </summary>
|
||
public List<TableColumnChangeDto> Columns { get; set; } = new();
|
||
}
|
||
|
||
/// <summary>
|
||
/// 表列配置修改项
|
||
/// </summary>
|
||
public class TableColumnChangeDto
|
||
{
|
||
/// <summary>
|
||
/// 列名(必填,用于匹配)
|
||
/// </summary>
|
||
[JsonProperty("columnName")]
|
||
public string ColumnName { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 显示名称(可选,null 表示清空)
|
||
/// </summary>
|
||
[JsonProperty("displayName")]
|
||
public string? DisplayName { get; set; }
|
||
|
||
/// <summary>
|
||
/// 列描述(可选,null 表示清空)
|
||
/// </summary>
|
||
[JsonProperty("describe")]
|
||
public string? Describe { get; set; }
|
||
|
||
/// <summary>
|
||
/// C# 字段名(可选,null 表示清空)
|
||
/// </summary>
|
||
[JsonProperty("csField")]
|
||
public string? CsField { get; set; }
|
||
|
||
/// <summary>
|
||
/// 是否在表格中显示(可选,null 表示设置为 null)
|
||
/// </summary>
|
||
[JsonProperty("isTableColumnShow")]
|
||
public bool? IsTableColumnShow { get; set; }
|
||
|
||
/// <summary>
|
||
/// 是否可查询(可选,null 表示设置为 null)
|
||
/// </summary>
|
||
[JsonProperty("isTableSelect")]
|
||
public bool? IsTableSelect { get; set; }
|
||
|
||
/// <summary>
|
||
/// 是否是图片ID(可选,null 表示设置为 null)
|
||
/// </summary>
|
||
[JsonProperty("isImageId")]
|
||
public bool? IsImageId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 排序ID(可选,null 表示设置为 null)
|
||
/// </summary>
|
||
[JsonProperty("orderById")]
|
||
public int? OrderById { get; set; }
|
||
|
||
/// <summary>
|
||
/// 宽度(可选,null 表示清空)
|
||
/// </summary>
|
||
[JsonProperty("width")]
|
||
public string? Width { get; set; }
|
||
|
||
/// <summary>
|
||
/// 记录传递的额外字段(用于检测字段是否被传递)
|
||
/// </summary>
|
||
[JsonExtensionData]
|
||
private Dictionary<string, object>? _extensionData;
|
||
|
||
/// <summary>
|
||
/// 检查指定字段是否被传递
|
||
/// </summary>
|
||
/// <param name="fieldName">字段名(PascalCase,如 "DisplayName")</param>
|
||
/// <returns>如果字段被传递返回 true,否则返回 false</returns>
|
||
public bool WasFieldProvided(string fieldName)
|
||
{
|
||
if (_extensionData == null || string.IsNullOrWhiteSpace(fieldName))
|
||
return false;
|
||
|
||
// 转换为 camelCase(因为前端使用 camelCase)
|
||
var camelCaseName = char.ToLowerInvariant(fieldName[0]) + fieldName.Substring(1);
|
||
|
||
// 检查是否在扩展数据中
|
||
return _extensionData.ContainsKey(camelCaseName);
|
||
}
|
||
}
|
||
|