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; } } } } }