edb_terminal.go 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. package data_manage
  2. import (
  3. "eta/eta_api/global"
  4. "eta/eta_api/utils"
  5. "fmt"
  6. "time"
  7. )
  8. // EdbTerminal 指标终端
  9. type EdbTerminal struct {
  10. TerminalId int `orm:"column(terminal_id);pk" gorm:"primaryKey"`
  11. Source int `orm:"column(source)" description:"指标来源类型"`
  12. Name string `description:"终端名称"`
  13. TerminalCode string `description:"终端编码,用于配置在机器上"`
  14. ServerUrl string `description:"终端地址"`
  15. DirPath string `description:"终端存放的文件夹路径"`
  16. Num int `description:"终端最大指标数"`
  17. Status int `description:"状态,1启用,2禁用"`
  18. Value string `description:"终端相关的token"`
  19. ModifyTime time.Time `description:"修改时间"`
  20. CreateTime time.Time `description:"创建时间"`
  21. }
  22. type EdbTerminalItem struct {
  23. TerminalId int `orm:"column(terminal_id);pk" gorm:"primaryKey"`
  24. Source int `description:"指标来源类型"`
  25. Name string `description:"终端别名"`
  26. TerminalCode string `description:"终端编码,用于配置在机器上"`
  27. ServerUrl string `description:"终端地址"`
  28. DirPath string `description:"终端存放的文件夹路径"`
  29. Num int `description:"终端最大指标数"`
  30. Status int `description:"状态,1启用,2禁用"`
  31. Value string `description:"终端相关的token"`
  32. ModifyTime string `description:"修改时间"`
  33. CreateTime string `description:"创建时间"`
  34. }
  35. type EdbTerminalCode struct {
  36. TerminalCode string `description:"终端编码,用于配置在机器上"`
  37. Source int `description:"指标来源类型"`
  38. Name string `description:"终端别名"`
  39. }
  40. // GetEdbTerminalListBySource 根据指标来源类型获取所有的终端列表
  41. func GetEdbTerminalListBySource(source int) (items []*EdbTerminal, err error) {
  42. o := global.DbMap[utils.DbNameIndex]
  43. sql := ` SELECT * FROM edb_terminal WHERE source = ? and status=1 ORDER BY terminal_id ASC `
  44. err = o.Raw(sql, source).Find(&items).Error
  45. return
  46. }
  47. type BaseIndexTerminalCode struct {
  48. TerminalCode string `description:"终端编码,用于配置在机器上"`
  49. IndexName string
  50. }
  51. type EdbTerminalListResp struct {
  52. List []*EdbTerminalItem `description:"列表数据"`
  53. }
  54. type EdbTerminalCodeResp struct {
  55. List []*EdbTerminalCode `description:"终端编码列表"`
  56. }
  57. type AddEdbTerminalListReq struct {
  58. TerminalId int `description:"终端id"`
  59. Source int `description:"指标来源类型"`
  60. Name string `description:"终端别名"`
  61. //TerminalCode string `description:"终端编码,用于配置在机器上"`
  62. ServerUrl string `description:"终端地址"`
  63. DirPath string `description:"终端存放的文件夹路径"`
  64. Num int `description:"终端最大指标数"`
  65. //Status int `description:"状态,1启用,2禁用"`
  66. Value string `description:"终端相关的token"`
  67. }
  68. type SetEdbTerminalStatusReq struct {
  69. TerminalId int `description:"终端id"`
  70. Status int `description:"状态,1启用,2禁用"`
  71. }
  72. // GetBaseIndexTerminalCode 获取数据源的终端code
  73. func GetBaseIndexTerminalCode(edbCode, tableName string) (item BaseIndexTerminalCode, err error) {
  74. o := global.DbMap[utils.DbNameIndex]
  75. sql := fmt.Sprintf(`select terminal_code, index_name from %s where index_code = ? `, tableName)
  76. err = o.Raw(sql, edbCode).First(&item).Error
  77. return
  78. }
  79. // GetEdbTerminalById 主键获取终端
  80. func GetEdbTerminalById(id int) (item *EdbTerminal, err error) {
  81. o := global.DbMap[utils.DbNameIndex]
  82. sql := `SELECT * FROM edb_terminal WHERE terminal_id = ? LIMIT 1`
  83. err = o.Raw(sql, id).First(&item).Error
  84. return
  85. }
  86. func GetEdbTerminalByTerminalCode(terminalCode string) (item *EdbTerminal, err error) {
  87. o := global.DbMap[utils.DbNameIndex]
  88. sql := `SELECT * FROM edb_terminal WHERE terminal_code = ? LIMIT 1`
  89. err = o.Raw(sql, terminalCode).First(&item).Error
  90. return
  91. }
  92. func GetEdbTerminalList() (item []*EdbTerminalItem, err error) {
  93. o := global.DbMap[utils.DbNameIndex]
  94. sql := ` SELECT * FROM edb_terminal ORDER BY terminal_id ASC`
  95. err = o.Raw(sql).Find(&item).Error
  96. return
  97. }
  98. func GetEdbTerminalBySource(source int) (item []*EdbTerminalItem, err error) {
  99. o := global.DbMap[utils.DbNameIndex]
  100. sql := ` SELECT * FROM edb_terminal where source=? ORDER BY terminal_id ASC`
  101. err = o.Raw(sql, source).Find(&item).Error
  102. return
  103. }
  104. func (item *EdbTerminal) Add() (err error) {
  105. o := global.DbMap[utils.DbNameIndex]
  106. err = o.Create(item).Error
  107. return
  108. }
  109. func (item *EdbTerminal) Update(cols []string) (err error) {
  110. o := global.DbMap[utils.DbNameIndex]
  111. err = o.Model(item).Select(cols).Updates(item).Error
  112. return
  113. }
  114. // GetEdbTerminalByCode 根据终端编码获取终端信息
  115. func GetEdbTerminalByCode(terminalCode string) (item *EdbTerminal, err error) {
  116. o := global.DbMap[utils.DbNameIndex]
  117. sql := ` SELECT * FROM edb_terminal WHERE terminal_code = ? `
  118. err = o.Raw(sql, terminalCode).First(&item).Error
  119. return
  120. }
  121. type TerminalCodeCountGroup struct {
  122. TerminalCode string
  123. Total int
  124. }
  125. // GetEdbCountGroupByTerminal 获取终端code分组总数
  126. func GetEdbCountGroupByTerminal(source int) (list []TerminalCodeCountGroup, err error) {
  127. o := global.DbMap[utils.DbNameIndex]
  128. sql := `select terminal_code,count(1) total from edb_info where source = ? AND no_update=0 AND terminal_code != "" group by terminal_code; `
  129. err = o.Raw(sql, source).Find(&list).Error
  130. return
  131. }
  132. // EdbTerminalDirInfo 指标终端文件夹信息
  133. type EdbTerminalDirInfo struct {
  134. Name string `description:"终端名称"`
  135. TerminalCode string `description:"终端编码,用于配置在机器上"`
  136. DirPath string `description:"终端存放的文件夹路径"`
  137. FilePath string `description:"文件夹路径"`
  138. }