Bez popisu
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

types.go 8.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205
  1. package configure
  2. import (
  3. "time"
  4. "git.x2erp.com/qdy/go-base/model/request/queryreq"
  5. )
  6. // DicTableRequest 数据库表字典请求(主表+子表合并)
  7. type DicTableRequest struct {
  8. // 主表字段
  9. TableID string `json:"tableID" binding:"required"` // 表ID(主键)
  10. TableType string `json:"tableType" binding:"required"` // 表类型: 实体表,视图,物化视图
  11. Name string `json:"name" binding:"required"` // 表名称
  12. Description string `json:"description"` // 表描述
  13. // 子表字段(字段列表)
  14. Fields []DicTableFieldRequest `json:"fields"` // 表字段列表
  15. }
  16. // DicTableFieldRequest 数据库表字段字典请求(子表)
  17. type DicTableFieldRequest struct {
  18. // 注意:子表主键规则为 table_id + "." + field_name
  19. FieldID string `json:"fieldID" binding:"required"` // 字段ID(主键,由系统生成)
  20. TableID string `json:"tableID" binding:"required"` // 表ID(关联主表)
  21. FiledType string `json:"filedType" binding:"required"` // 字段类型: 实际字段,计算字段
  22. DataType string `json:"dataType" binding:"required"` // 数据类型: 字符型,数值型等
  23. FieldName string `json:"fieldName" binding:"required"` // 字段名称
  24. FieldNameCN string `json:"fieldNameCN"` // 字段中文名称(ERP中业务名称)
  25. Description string `json:"description"` // 字段描述
  26. }
  27. // DicTableDetail 数据库表字典详情(主表+子表)
  28. type DicTableDetail struct {
  29. // 主表信息
  30. Table DicTableDB `json:"table"`
  31. // 子表信息
  32. Fields []DicTableFieldDB `json:"fields"`
  33. }
  34. // DicTableList 数据库表字典列表
  35. type DicTableList struct {
  36. TotalCount int `json:"totalCount"`
  37. LastPage int `json:"lastPage"`
  38. Data []DicTableDB `json:"data"`
  39. }
  40. // DicTableQueryRequest 数据库表字典查询请求
  41. type DicTableQueryRequest struct {
  42. QueryRequest queryreq.QueryRequest `json:"queryRequest"`
  43. TableID string `json:"tableID,omitempty"`
  44. }
  45. // DicTableDB 数据库表字典数据库模型
  46. type DicTableDB struct {
  47. TableID string `db:"table_id" json:"tableID"`
  48. TableType string `db:"table_type" json:"tableType"`
  49. Name string `db:"table_name" json:"name"`
  50. Description string `db:"description" json:"description"`
  51. Creator string `db:"creator" json:"creator"`
  52. CreatedAt time.Time `db:"created_at" json:"createdAt"`
  53. UpdatedAt time.Time `db:"updated_at" json:"updatedAt"`
  54. DeletedAt *time.Time `db:"deleted_at" json:"deletedAt"`
  55. }
  56. // DicTableFieldDB 数据库表字段字典数据库模型
  57. type DicTableFieldDB struct {
  58. ID string `db:"id" json:"id"`
  59. FieldID string `db:"field_id" json:"fieldID"`
  60. TableID string `db:"table_id" json:"tableID"`
  61. FiledType string `db:"filed_type" json:"filedType"`
  62. DataType string `db:"data_type" json:"dataType"`
  63. FieldName string `db:"field_name" json:"fieldName"`
  64. FieldNameCN string `db:"field_name_cn" json:"fieldNameCN"`
  65. Description string `db:"description" json:"description"`
  66. Creator string `db:"creator" json:"creator"`
  67. CreatedAt time.Time `db:"created_at" json:"createdAt"`
  68. UpdatedAt time.Time `db:"updated_at" json:"updatedAt"`
  69. DeletedAt *time.Time `db:"deleted_at" json:"deletedAt"`
  70. }
  71. // BatchSaveDicTablesRequest 批量保存数据库表字典请求
  72. type BatchSaveDicTablesRequest struct {
  73. Tables []DicTableRequest `json:"tables" binding:"required"`
  74. Fields []DicTableFieldRequest `json:"fields" binding:"required"`
  75. }
  76. // TableAliasRequest 表别名字典请求
  77. type TableAliasRequest struct {
  78. TableID string `json:"tableID" binding:"required"`
  79. TableAlias string `json:"tableAlias" binding:"required"`
  80. }
  81. // TableFieldAliasRequest 表字段别名字典请求
  82. type TableFieldAliasRequest struct {
  83. FieldID string `json:"fieldID" binding:"required"`
  84. FieldAlias string `json:"fieldAlias" binding:"required"`
  85. }
  86. // BatchTableSyncRequest 批量表同步请求
  87. type BatchTableSyncRequest struct {
  88. Tables []DicTableRequest `json:"tables" binding:"required"`
  89. Fields []DicTableFieldRequest `json:"fields" binding:"required"`
  90. }
  91. // BatchAliasSyncRequest 批量别名同步请求
  92. type BatchAliasSyncRequest struct {
  93. TableAliases []TableAliasRequest `json:"tableAliases" binding:"required"`
  94. FieldAliases []TableFieldAliasRequest `json:"fieldAliases" binding:"required"`
  95. }
  96. // TableAliasQueryRequest 表别名字典查询请求
  97. type TableAliasQueryRequest struct {
  98. TableID string `json:"tableID,omitempty"`
  99. TableAlias string `json:"tableAlias,omitempty"`
  100. }
  101. // TableFieldAliasQueryRequest 表字段别名字典查询请求
  102. type TableFieldAliasQueryRequest struct {
  103. FieldID string `json:"fieldID,omitempty"`
  104. FieldAlias string `json:"fieldAlias,omitempty"`
  105. }
  106. // BatchTableSyncResponse 批量表同步响应
  107. type BatchTableSyncResponse struct {
  108. TotalTables int `json:"totalTables"`
  109. CreatedTables int `json:"createdTables"`
  110. UpdatedTables int `json:"updatedTables"`
  111. DeletedTables int `json:"deletedTables"`
  112. TotalFields int `json:"totalFields"`
  113. CreatedFields int `json:"createdFields"`
  114. UpdatedFields int `json:"updatedFields"`
  115. DeletedFields int `json:"deletedFields"`
  116. FailedTables []BatchTableSyncFailedItem `json:"failedTables"`
  117. FailedFields []BatchFieldSyncFailedItem `json:"failedFields"`
  118. }
  119. // BatchTableSyncFailedItem 批量表同步失败项
  120. type BatchTableSyncFailedItem struct {
  121. TableID string `json:"tableID"`
  122. Error string `json:"error"`
  123. }
  124. // BatchFieldSyncFailedItem 批量字段同步失败项
  125. type BatchFieldSyncFailedItem struct {
  126. FieldID string `json:"fieldID"`
  127. Error string `json:"error"`
  128. }
  129. // BatchAliasSyncResponse 批量别名同步响应
  130. type BatchAliasSyncResponse struct {
  131. TotalTableAliases int `json:"totalTableAliases"`
  132. CreatedTableAliases int `json:"createdTableAliases"`
  133. UpdatedTableAliases int `json:"updatedTableAliases"`
  134. DeletedTableAliases int `json:"deletedTableAliases"`
  135. TotalFieldAliases int `json:"totalFieldAliases"`
  136. CreatedFieldAliases int `json:"createdFieldAliases"`
  137. UpdatedFieldAliases int `json:"updatedFieldAliases"`
  138. DeletedFieldAliases int `json:"deletedFieldAliases"`
  139. FailedTableAliases []BatchAliasSyncFailedItem `json:"failedTableAliases"`
  140. FailedFieldAliases []BatchAliasSyncFailedItem `json:"failedFieldAliases"`
  141. }
  142. // BatchAliasSyncFailedItem 批量别名同步失败项
  143. type BatchAliasSyncFailedItem struct {
  144. AliasID string `json:"aliasID"`
  145. Error string `json:"error"`
  146. }
  147. // TableAliasResponse 表别名字典响应
  148. type TableAliasResponse struct {
  149. ID string `db:"id" json:"id"`
  150. TableID string `db:"table_id" json:"tableID"`
  151. TableAlias string `db:"table_alias" json:"tableAlias"`
  152. Creator string `db:"creator" json:"creator"`
  153. CreatedAt time.Time `db:"created_at" json:"createdAt"`
  154. UpdatedAt time.Time `db:"updated_at" json:"updatedAt"`
  155. DeletedAt *time.Time `db:"deleted_at" json:"deletedAt"`
  156. }
  157. // TableFieldAliasResponse 表字段别名字典响应
  158. type TableFieldAliasResponse struct {
  159. ID string `db:"id" json:"id"`
  160. FieldID string `db:"field_id" json:"fieldID"`
  161. FieldAlias string `db:"field_alias" json:"fieldAlias"`
  162. Creator string `db:"creator" json:"creator"`
  163. CreatedAt time.Time `db:"created_at" json:"createdAt"`
  164. UpdatedAt time.Time `db:"updated_at" json:"updatedAt"`
  165. DeletedAt *time.Time `db:"deleted_at" json:"deletedAt"`
  166. }
  167. // TableAliasList 表别名字典列表
  168. type TableAliasList struct {
  169. TotalCount int `json:"totalCount"`
  170. LastPage int `json:"lastPage"`
  171. Data []TableAliasResponse `json:"data"`
  172. }
  173. // TableFieldAliasList 表字段别名字典列表
  174. type TableFieldAliasList struct {
  175. TotalCount int `json:"totalCount"`
  176. LastPage int `json:"lastPage"`
  177. Data []TableFieldAliasResponse `json:"data"`
  178. }