package configure import ( "time" "git.x2erp.com/qdy/go-base/model/request/queryreq" ) // DicTableRequest 数据库表字典请求(主表+子表合并) type DicTableRequest struct { // 主表字段 TableID string `json:"tableID" binding:"required"` // 表ID(主键) TableType string `json:"tableType" binding:"required"` // 表类型: 实体表,视图,物化视图 Name string `json:"name" binding:"required"` // 表名称 Description string `json:"description"` // 表描述 // 子表字段(字段列表) Fields []DicTableFieldRequest `json:"fields"` // 表字段列表 } // DicTableFieldRequest 数据库表字段字典请求(子表) type DicTableFieldRequest struct { // 注意:子表主键规则为 table_id + "." + field_name FieldID string `json:"fieldID" binding:"required"` // 字段ID(主键,由系统生成) TableID string `json:"tableID" binding:"required"` // 表ID(关联主表) FiledType string `json:"filedType" binding:"required"` // 字段类型: 实际字段,计算字段 DataType string `json:"dataType" binding:"required"` // 数据类型: 字符型,数值型等 FieldName string `json:"fieldName" binding:"required"` // 字段名称 FieldNameCN string `json:"fieldNameCN"` // 字段中文名称(ERP中业务名称) Description string `json:"description"` // 字段描述 } // DicTableDetail 数据库表字典详情(主表+子表) type DicTableDetail struct { // 主表信息 Table DicTableDB `json:"table"` // 子表信息 Fields []DicTableFieldDB `json:"fields"` } // DicTableList 数据库表字典列表 type DicTableList struct { TotalCount int `json:"totalCount"` LastPage int `json:"lastPage"` Data []DicTableDB `json:"data"` } // DicTableQueryRequest 数据库表字典查询请求 type DicTableQueryRequest struct { QueryRequest queryreq.QueryRequest `json:"queryRequest"` TableID string `json:"tableID,omitempty"` } // DicTableDB 数据库表字典数据库模型 type DicTableDB struct { TableID string `db:"table_id" json:"tableID"` TableType string `db:"table_type" json:"tableType"` Name string `db:"table_name" json:"name"` Description string `db:"description" json:"description"` Creator string `db:"creator" json:"creator"` CreatedAt time.Time `db:"created_at" json:"createdAt"` UpdatedAt time.Time `db:"updated_at" json:"updatedAt"` DeletedAt *time.Time `db:"deleted_at" json:"deletedAt"` } // DicTableFieldDB 数据库表字段字典数据库模型 type DicTableFieldDB struct { ID string `db:"id" json:"id"` FieldID string `db:"field_id" json:"fieldID"` TableID string `db:"table_id" json:"tableID"` FiledType string `db:"filed_type" json:"filedType"` DataType string `db:"data_type" json:"dataType"` FieldName string `db:"field_name" json:"fieldName"` FieldNameCN string `db:"field_name_cn" json:"fieldNameCN"` Description string `db:"description" json:"description"` Creator string `db:"creator" json:"creator"` CreatedAt time.Time `db:"created_at" json:"createdAt"` UpdatedAt time.Time `db:"updated_at" json:"updatedAt"` DeletedAt *time.Time `db:"deleted_at" json:"deletedAt"` } // BatchSaveDicTablesRequest 批量保存数据库表字典请求 type BatchSaveDicTablesRequest struct { Tables []DicTableRequest `json:"tables" binding:"required"` Fields []DicTableFieldRequest `json:"fields" binding:"required"` } // TableAliasRequest 表别名字典请求 type TableAliasRequest struct { TableID string `json:"tableID" binding:"required"` TableAlias string `json:"tableAlias" binding:"required"` } // TableFieldAliasRequest 表字段别名字典请求 type TableFieldAliasRequest struct { FieldID string `json:"fieldID" binding:"required"` FieldAlias string `json:"fieldAlias" binding:"required"` } // BatchTableSyncRequest 批量表同步请求 type BatchTableSyncRequest struct { Tables []DicTableRequest `json:"tables" binding:"required"` Fields []DicTableFieldRequest `json:"fields" binding:"required"` } // BatchAliasSyncRequest 批量别名同步请求 type BatchAliasSyncRequest struct { TableAliases []TableAliasRequest `json:"tableAliases" binding:"required"` FieldAliases []TableFieldAliasRequest `json:"fieldAliases" binding:"required"` } // TableAliasQueryRequest 表别名字典查询请求 type TableAliasQueryRequest struct { TableID string `json:"tableID,omitempty"` TableAlias string `json:"tableAlias,omitempty"` } // TableFieldAliasQueryRequest 表字段别名字典查询请求 type TableFieldAliasQueryRequest struct { FieldID string `json:"fieldID,omitempty"` FieldAlias string `json:"fieldAlias,omitempty"` } // BatchTableSyncResponse 批量表同步响应 type BatchTableSyncResponse struct { TotalTables int `json:"totalTables"` CreatedTables int `json:"createdTables"` UpdatedTables int `json:"updatedTables"` DeletedTables int `json:"deletedTables"` TotalFields int `json:"totalFields"` CreatedFields int `json:"createdFields"` UpdatedFields int `json:"updatedFields"` DeletedFields int `json:"deletedFields"` FailedTables []BatchTableSyncFailedItem `json:"failedTables"` FailedFields []BatchFieldSyncFailedItem `json:"failedFields"` } // BatchTableSyncFailedItem 批量表同步失败项 type BatchTableSyncFailedItem struct { TableID string `json:"tableID"` Error string `json:"error"` } // BatchFieldSyncFailedItem 批量字段同步失败项 type BatchFieldSyncFailedItem struct { FieldID string `json:"fieldID"` Error string `json:"error"` } // BatchAliasSyncResponse 批量别名同步响应 type BatchAliasSyncResponse struct { TotalTableAliases int `json:"totalTableAliases"` CreatedTableAliases int `json:"createdTableAliases"` UpdatedTableAliases int `json:"updatedTableAliases"` DeletedTableAliases int `json:"deletedTableAliases"` TotalFieldAliases int `json:"totalFieldAliases"` CreatedFieldAliases int `json:"createdFieldAliases"` UpdatedFieldAliases int `json:"updatedFieldAliases"` DeletedFieldAliases int `json:"deletedFieldAliases"` FailedTableAliases []BatchAliasSyncFailedItem `json:"failedTableAliases"` FailedFieldAliases []BatchAliasSyncFailedItem `json:"failedFieldAliases"` } // BatchAliasSyncFailedItem 批量别名同步失败项 type BatchAliasSyncFailedItem struct { AliasID string `json:"aliasID"` Error string `json:"error"` } // TableAliasResponse 表别名字典响应 type TableAliasResponse struct { ID string `db:"id" json:"id"` TableID string `db:"table_id" json:"tableID"` TableAlias string `db:"table_alias" json:"tableAlias"` Creator string `db:"creator" json:"creator"` CreatedAt time.Time `db:"created_at" json:"createdAt"` UpdatedAt time.Time `db:"updated_at" json:"updatedAt"` DeletedAt *time.Time `db:"deleted_at" json:"deletedAt"` } // TableFieldAliasResponse 表字段别名字典响应 type TableFieldAliasResponse struct { ID string `db:"id" json:"id"` FieldID string `db:"field_id" json:"fieldID"` FieldAlias string `db:"field_alias" json:"fieldAlias"` Creator string `db:"creator" json:"creator"` CreatedAt time.Time `db:"created_at" json:"createdAt"` UpdatedAt time.Time `db:"updated_at" json:"updatedAt"` DeletedAt *time.Time `db:"deleted_at" json:"deletedAt"` } // TableAliasList 表别名字典列表 type TableAliasList struct { TotalCount int `json:"totalCount"` LastPage int `json:"lastPage"` Data []TableAliasResponse `json:"data"` } // TableFieldAliasList 表字段别名字典列表 type TableFieldAliasList struct { TotalCount int `json:"totalCount"` LastPage int `json:"lastPage"` Data []TableFieldAliasResponse `json:"data"` }