using System.Linq;
using Mapster;
using Util;
using static System.Runtime.InteropServices.JavaScript.JSType;
namespace Model
{
///
/// 接口信息 api_info
///
[SugarTable("api_info", "接口信息")]
[Tenant("0")]
public class ApiInfo
{
///
/// ID
///
[SugarColumn(ColumnDescription = "ID", IsPrimaryKey = true, IsIdentity = true, ColumnName = "id")]
public int id { get; set; }
///
/// 版本号
///
[SugarColumn(ColumnDescription = "版本号", ColumnName = "version")]
public int version { get; set; }
///
/// 删除标记
///
[SugarColumn(ColumnDescription = "删除标记", ColumnName = "del_flag")]
public int delFlag { get; set; }
///
/// 创建时间
///
[SugarColumn(ColumnDescription = "创建时间", ColumnName = "create_time")]
public DateTime? createTime { get; set; }
///
/// 更新时间
///
[SugarColumn(ColumnDescription = "更新时间", ColumnName = "update_time")]
public DateTime? updateTime { get; set; }
///
/// 创建人
///
[SugarColumn(ColumnDescription = "创建人", Length = 32, ColumnName = "create_by")]
public string? createBy { get; set; }
///
/// 更新人
///
[SugarColumn(ColumnDescription = "更新人", Length = 32, ColumnName = "update_by")]
public string? updateBy { get; set; }
///
/// 服务ID
///
[SugarColumn(ColumnDescription = "服务ID", ColumnName = "service_id")]
public int serviceId { get; set; }
///
/// 接口分组ID
///
[SugarColumn(ColumnDescription = "接口分组ID", ColumnName = "group_id")]
public int groupId { get; set; }
[SugarColumn(IsIgnore = true)]
public string groupName { get; set; }
[SugarColumn(IsIgnore = true)]
public string groupTitle { get; set; }
///
/// 板块名称
///
[SugarColumn(ColumnDescription = "板块名称", Length = 50, ColumnName = "tab_name")]
public string? tabName { get; set; }
///
/// 接口名称
///
[SugarColumn(ColumnDescription = "接口名称", Length = 100, ColumnName = "api_name")]
public string? apiName { get; set; }
///
/// 控制器文件路径
///
[SugarColumn(ColumnDescription = "控制器文件路径", Length = 50, ColumnName = "controller_file_path")]
public string? controllerFilePath { get; set; }
[SugarColumn(IsIgnore = true)]
public string? controllerName
{
get
{
return PublicFunction.transferName(controllerFilePath, 1);
}
}
///
/// 使用场景
///
[SugarColumn(ColumnDescription = "使用场景", ColumnName = "usage_scenarios")]
public int usageScenarios { get; set; }
///
/// 接口类型
///
[SugarColumn(ColumnDescription = "接口类型", ColumnName = "api_kind")]
public int apiKind { get; set; }
///
/// 方法名
///
[SugarColumn(ColumnDescription = "方法名", Length = 100, ColumnName = "method_name")]
public string? methodName { get; set; }
[SugarColumn(IsIgnore = true)]
public string? methodNameUpper
{
get
{
return PublicFunction.transferName(methodName);
}
}
[SugarColumn(IsIgnore = true)]
public string? methodNameFirstUpper
{
get
{
return PublicFunction.transferName(methodName, 1);
}
}
///
/// 接口表述
///
[SugarColumn(ColumnDescription = "接口表述", Length = 255, ColumnName = "api_detail")]
public string? apiDetail { get; set; }
///
/// 接口参数
///
[SugarColumn(ColumnDescription = "接口参数", ColumnName = "api_param", IsJson = true, ColumnDataType = "json")]
public List apiParam { get; set; }
[SugarColumn(IsIgnore = true)]
public int apiParamCount
{
get
{
if (apiParam != null)
{
return apiParam.Count(m => m.reqParam);
}
else
{
return 0;
}
}
}
[SugarColumn(IsIgnore = true)]
public int apiResParamCount
{
get
{
if (apiParam != null)
{
return apiParam.Count(m => m.resParam);
}
else
{
return 0;
}
}
}
[SugarColumn(IsIgnore = true)]
public string? apiParamFirstParam
{
get
{
if (apiParamCount > 0)
{
return apiParam.FirstOrDefault(m => m.reqParam)?.fieldName ?? "";
}
else
{
return "";
}
}
}
[SugarColumn(IsIgnore = true)]
public string? apiParamFirstParamUpper
{
get
{
return PublicFunction.transferName(apiParamFirstParam);
}
}
[SugarColumn(IsIgnore = true)]
public string? apiParamFirstParamFirstUpper
{
get
{
return PublicFunction.transferName(apiParamFirstParam, 1);
}
}
[SugarColumn(IsIgnore = true)]
public string? apiParamFirstParamType
{
get
{
if (apiParamCount > 0)
{
return apiParam.FirstOrDefault(m => m.reqParam)?.fieldType ?? "";
}
else
{
return "";
}
}
}
[SugarColumn(IsIgnore = true)]
public bool apiParamFirstParamCustomFlag
{
get
{
if (apiParamCount > 0)
{
return apiParam.FirstOrDefault(m => m.reqParam)?.customFlag ?? true;
}
else
{
return true;
}
}
}
///
/// 关联表ID
///
[SugarColumn(ColumnDescription = "关联表ID", ColumnName = "link_table_id")]
public int linkTableId { get; set; }
[SugarColumn(IsIgnore = true)]
public string? linkTableTitle { get; set; }
[SugarColumn(IsIgnore = true)]
public string? linkTableName { get; set; }
[SugarColumn(IsIgnore = true)]
public string? linkTableNameUpper
{
get
{
return PublicFunction.transferName(linkTableName);
}
}
[SugarColumn(IsIgnore = true)]
public string? linkTableNameFirstUpper
{
get
{
return PublicFunction.transferName(linkTableName, 1);
}
}
///
/// 分页
///
[SugarColumn(ColumnDescription = "分页", ColumnName = "page_flag")]
public bool pageFlag { get; set; }
}
public class ApiParamObject
{
public int id { get; set; }
///
/// 字段名称
///
public string fieldTitle { get; set; }
///
/// 字段名
///
public string fieldName { get; set; }
public string fieldNameUpper { get; set; }
public string fieldNameFirstUpper { get; set; }
///
/// 字段类型
///
public string fieldType { get; set; }
///
/// 请求参数
///
public bool reqParam { get; set; }
///
/// 返回字段
///
public bool resParam { get; set; }
///
/// 自定义
///
public bool customFlag { get; set; }
///
/// 返回类型
///
public string resType { get; set; }
///
/// 验证属性
///
public string[] checkAttribute { get; set; }
public string checkAttributeString
{
get
{
if (checkAttribute != null)
{
return string.Join(",", checkAttribute);
}
else
{
return "";
}
}
}
///
/// 排序方式
///
public string sortMode { get; set; }
///
/// 字段说明
///
public string fieldDetail { get; set; }
///
/// 关联表ID
///
public int linkTableId { get; set; }
public string? linkTableTitle { get; set; }
public string? linkTableName { get; set; }
public string? linkTableNameUpper
{
get
{
return PublicFunction.transferName(linkTableName);
}
}
public string? linkTableNameFirstUpper
{
get
{
return PublicFunction.transferName(linkTableName, 1);
}
}
///
/// 关联参数
///
public List linkParam { get; set; }
///
/// 关联参数数量
///
public int linkParamCount
{
get
{
if (linkParam != null)
{
return linkParam.Count;
}
else
{
return 0;
}
}
}
}
}