edb_info_stat_column.go 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. package data_stat
  2. import (
  3. "eta_gn/eta_api/global"
  4. )
  5. type EdbInfoStatColumn struct {
  6. Id int `gorm:"primaryKey;column:id;type:int(11) unsigned;not null"` // 自增id
  7. ColumnName string `gorm:"column:column_name;type:varchar(100);not null"` // 字段名称
  8. ColumnKey string `gorm:"column:column_key;type:varchar(100);not null"` // 字段
  9. CreateTime string `gorm:"column:create_time;type:datetime"` // 创建时间
  10. ModifyTime string `gorm:"column:modify_time;type:datetime"` // 修改时间
  11. Type int `gorm:"column:type;type:tinyint(4);not null;default:0"` // 列表类型:1数据源明细表,2数据源统计表,3删除指标列表,4指标信息变更表
  12. Sort int `gorm:"column:sort;type:int(11);not null;default:0"` // 列排序
  13. IsMust int `gorm:"column:is_must;type:tinyint(4);not null;default:1"` // 是否必选列 1必须,0非必选
  14. IsSort int `gorm:"column:is_sort;type:tinyint(4);not null"` // 是否是允许排序的列,0否,1是
  15. IsShow int `gorm:"column:is_show;type:tinyint(4);not null;default:1"` // 是否展示:1展示,0不展示
  16. ColumnNameEn string `gorm:"column:column_name_en;type:varchar(100);not null"` // 英文字段名称
  17. }
  18. type EdbInfoStatColumnListItem struct {
  19. Id int `description:"自增id"`
  20. ColumnName string `description:"字段名称"`
  21. ColumnKey string `description:"字段"`
  22. Type int `description:"列表类型:1数据源明细表,2数据源统计表,3删除指标列表,4指标信息变更表"`
  23. IsMust int `description:"是否必选列: 0非必选 1必须"`
  24. IsSort int `description:"是否是允许排序的列,0否,1是"`
  25. IsShow int `description:"是否展示:1展示,0不展示"`
  26. ColumnNameEn string `description:"英文字段名称"`
  27. }
  28. type StatColumnList struct {
  29. List []*EdbInfoStatColumnListItem
  30. }
  31. type EditStatColumnReq struct {
  32. List []*EdbInfoStatColumnListReq
  33. }
  34. type EdbInfoStatColumnListReq struct {
  35. Id int `description:"自增id"`
  36. IsShow int `description:"是否展示:1展示,0不展示"`
  37. }
  38. // GetStatColumn 获取自定义列
  39. func GetStatColumn(columnType int) (list []EdbInfoStatColumn, err error) {
  40. sql := `SELECT * FROM edb_info_stat_column WHERE type=? ORDER BY sort asc, id asc `
  41. err = global.DmSQL["data"].Raw(sql, columnType).Find(&list).Error
  42. return
  43. }
  44. // GetAllStatColumn 获取所有自定义列
  45. func GetAllStatColumn() (list []EdbInfoStatColumn, err error) {
  46. sql := `SELECT * FROM edb_info_stat_column ORDER BY sort asc, id asc `
  47. err = global.DmSQL["data"].Raw(sql).Find(&list).Error
  48. return
  49. }
  50. // UpdateStatColumn 批量更新自定义列
  51. func UpdateStatColumn(list []*EdbInfoStatColumn) (err error) {
  52. tx := global.DmSQL["data"].Begin()
  53. for _, v := range list {
  54. err = tx.Exec("UPDATE edb_info_stat_column SET is_show = ?, sort=? WHERE id = ?", v.IsShow, v.Sort, v.Id).Error
  55. if err != nil {
  56. tx.Rollback()
  57. return
  58. }
  59. }
  60. tx.Commit()
  61. return
  62. }