Ingen beskrivning
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.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211
  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. // UserLoginRequest 用户登录请求
  28. type UserLoginRequest struct {
  29. UserID string `json:"user_id" binding:"required"`
  30. Password string `json:"password" binding:"required"`
  31. }
  32. // DicTableDetail 数据库表字典详情(主表+子表)
  33. type DicTableDetail struct {
  34. // 主表信息
  35. Table DicTableDB `json:"table"`
  36. // 子表信息
  37. Fields []DicTableFieldDB `json:"fields"`
  38. }
  39. // DicTableList 数据库表字典列表
  40. type DicTableList struct {
  41. TotalCount int `json:"totalCount"`
  42. LastPage int `json:"lastPage"`
  43. Data []DicTableDB `json:"data"`
  44. }
  45. // DicTableQueryRequest 数据库表字典查询请求
  46. type DicTableQueryRequest struct {
  47. QueryRequest queryreq.QueryRequest `json:"queryRequest"`
  48. TableID string `json:"tableID,omitempty"`
  49. }
  50. // DicTableDB 数据库表字典数据库模型
  51. type DicTableDB struct {
  52. TableID string `db:"table_id" json:"tableID"`
  53. TableType string `db:"table_type" json:"tableType"`
  54. Name string `db:"table_name" json:"name"`
  55. Description string `db:"description" json:"description"`
  56. Creator string `db:"creator" json:"creator"`
  57. CreatedAt time.Time `db:"created_at" json:"createdAt"`
  58. UpdatedAt time.Time `db:"updated_at" json:"updatedAt"`
  59. DeletedAt *time.Time `db:"deleted_at" json:"deletedAt"`
  60. }
  61. // DicTableFieldDB 数据库表字段字典数据库模型
  62. type DicTableFieldDB struct {
  63. ID string `db:"id" json:"id"`
  64. FieldID string `db:"field_id" json:"fieldID"`
  65. TableID string `db:"table_id" json:"tableID"`
  66. FiledType string `db:"filed_type" json:"filedType"`
  67. DataType string `db:"data_type" json:"dataType"`
  68. FieldName string `db:"field_name" json:"fieldName"`
  69. FieldNameCN string `db:"field_name_cn" json:"fieldNameCN"`
  70. Description string `db:"description" json:"description"`
  71. Creator string `db:"creator" json:"creator"`
  72. CreatedAt time.Time `db:"created_at" json:"createdAt"`
  73. UpdatedAt time.Time `db:"updated_at" json:"updatedAt"`
  74. DeletedAt *time.Time `db:"deleted_at" json:"deletedAt"`
  75. }
  76. // BatchSaveDicTablesRequest 批量保存数据库表字典请求
  77. type BatchSaveDicTablesRequest struct {
  78. Tables []DicTableRequest `json:"tables" binding:"required"`
  79. Fields []DicTableFieldRequest `json:"fields" binding:"required"`
  80. }
  81. // TableAliasRequest 表别名字典请求
  82. type TableAliasRequest struct {
  83. TableID string `json:"tableID" binding:"required"`
  84. TableAlias string `json:"tableAlias" binding:"required"`
  85. }
  86. // TableFieldAliasRequest 表字段别名字典请求
  87. type TableFieldAliasRequest struct {
  88. FieldID string `json:"fieldID" binding:"required"`
  89. FieldAlias string `json:"fieldAlias" binding:"required"`
  90. }
  91. // BatchTableSyncRequest 批量表同步请求
  92. type BatchTableSyncRequest struct {
  93. Tables []DicTableRequest `json:"tables" binding:"required"`
  94. Fields []DicTableFieldRequest `json:"fields" binding:"required"`
  95. }
  96. // BatchAliasSyncRequest 批量别名同步请求
  97. type BatchAliasSyncRequest struct {
  98. TableAliases []TableAliasRequest `json:"tableAliases" binding:"required"`
  99. FieldAliases []TableFieldAliasRequest `json:"fieldAliases" binding:"required"`
  100. }
  101. // TableAliasQueryRequest 表别名字典查询请求
  102. type TableAliasQueryRequest struct {
  103. TableID string `json:"tableID,omitempty"`
  104. TableAlias string `json:"tableAlias,omitempty"`
  105. }
  106. // TableFieldAliasQueryRequest 表字段别名字典查询请求
  107. type TableFieldAliasQueryRequest struct {
  108. FieldID string `json:"fieldID,omitempty"`
  109. FieldAlias string `json:"fieldAlias,omitempty"`
  110. }
  111. // BatchTableSyncResponse 批量表同步响应
  112. type BatchTableSyncResponse struct {
  113. TotalTables int `json:"totalTables"`
  114. CreatedTables int `json:"createdTables"`
  115. UpdatedTables int `json:"updatedTables"`
  116. DeletedTables int `json:"deletedTables"`
  117. TotalFields int `json:"totalFields"`
  118. CreatedFields int `json:"createdFields"`
  119. UpdatedFields int `json:"updatedFields"`
  120. DeletedFields int `json:"deletedFields"`
  121. FailedTables []BatchTableSyncFailedItem `json:"failedTables"`
  122. FailedFields []BatchFieldSyncFailedItem `json:"failedFields"`
  123. }
  124. // BatchTableSyncFailedItem 批量表同步失败项
  125. type BatchTableSyncFailedItem struct {
  126. TableID string `json:"tableID"`
  127. Error string `json:"error"`
  128. }
  129. // BatchFieldSyncFailedItem 批量字段同步失败项
  130. type BatchFieldSyncFailedItem struct {
  131. FieldID string `json:"fieldID"`
  132. Error string `json:"error"`
  133. }
  134. // BatchAliasSyncResponse 批量别名同步响应
  135. type BatchAliasSyncResponse struct {
  136. TotalTableAliases int `json:"totalTableAliases"`
  137. CreatedTableAliases int `json:"createdTableAliases"`
  138. UpdatedTableAliases int `json:"updatedTableAliases"`
  139. DeletedTableAliases int `json:"deletedTableAliases"`
  140. TotalFieldAliases int `json:"totalFieldAliases"`
  141. CreatedFieldAliases int `json:"createdFieldAliases"`
  142. UpdatedFieldAliases int `json:"updatedFieldAliases"`
  143. DeletedFieldAliases int `json:"deletedFieldAliases"`
  144. FailedTableAliases []BatchAliasSyncFailedItem `json:"failedTableAliases"`
  145. FailedFieldAliases []BatchAliasSyncFailedItem `json:"failedFieldAliases"`
  146. }
  147. // BatchAliasSyncFailedItem 批量别名同步失败项
  148. type BatchAliasSyncFailedItem struct {
  149. AliasID string `json:"aliasID"`
  150. Error string `json:"error"`
  151. }
  152. // TableAliasResponse 表别名字典响应
  153. type TableAliasResponse struct {
  154. ID string `db:"id" json:"id"`
  155. TableID string `db:"table_id" json:"tableID"`
  156. TableAlias string `db:"table_alias" json:"tableAlias"`
  157. Creator string `db:"creator" json:"creator"`
  158. CreatedAt time.Time `db:"created_at" json:"createdAt"`
  159. UpdatedAt time.Time `db:"updated_at" json:"updatedAt"`
  160. DeletedAt *time.Time `db:"deleted_at" json:"deletedAt"`
  161. }
  162. // TableFieldAliasResponse 表字段别名字典响应
  163. type TableFieldAliasResponse struct {
  164. ID string `db:"id" json:"id"`
  165. FieldID string `db:"field_id" json:"fieldID"`
  166. FieldAlias string `db:"field_alias" json:"fieldAlias"`
  167. Creator string `db:"creator" json:"creator"`
  168. CreatedAt time.Time `db:"created_at" json:"createdAt"`
  169. UpdatedAt time.Time `db:"updated_at" json:"updatedAt"`
  170. DeletedAt *time.Time `db:"deleted_at" json:"deletedAt"`
  171. }
  172. // TableAliasList 表别名字典列表
  173. type TableAliasList struct {
  174. TotalCount int `json:"totalCount"`
  175. LastPage int `json:"lastPage"`
  176. Data []TableAliasResponse `json:"data"`
  177. }
  178. // TableFieldAliasList 表字段别名字典列表
  179. type TableFieldAliasList struct {
  180. TotalCount int `json:"totalCount"`
  181. LastPage int `json:"lastPage"`
  182. Data []TableFieldAliasResponse `json:"data"`
  183. }