edb_info_stat_column.go 4.3 KB

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