edb_terminal.go 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. package models
  2. import (
  3. "eta_gn/eta_index_lib/global"
  4. "fmt"
  5. "time"
  6. )
  7. // EdbTerminal 指标终端
  8. type EdbTerminal struct {
  9. TerminalId int `gorm:"primaryKey;autoIncrement;column:terminal_id" description:"终端ID"`
  10. Source int `gorm:"column:source" description:"指标来源类型"`
  11. Name string `gorm:"column:name" description:"终端别名"`
  12. TerminalCode string `gorm:"column:terminal_code" description:"终端编码,用于配置在机器上"`
  13. ServerUrl string `gorm:"column:server_url" description:"终端地址"`
  14. Num int `gorm:"column:num" description:"终端最大指标数"`
  15. Status int `gorm:"column:status" description:"状态,1启用,2禁用"`
  16. Value string `gorm:"column:value" description:"终端相关的凭证"`
  17. ModifyTime time.Time `gorm:"column:modify_time" description:"修改时间"`
  18. CreateTime time.Time `gorm:"column:create_time" description:"创建时间"`
  19. }
  20. // GetEdbTerminalListBySource 根据指标来源类型获取所有的终端列表
  21. func GetEdbTerminalListBySource(source int) (items []*EdbTerminal, err error) {
  22. sql := ` SELECT * FROM edb_terminal WHERE source = ? and status=1 ORDER BY terminal_id ASC `
  23. err = global.DEFAULT_DmSQL.Raw(sql, source).Scan(&items).Error
  24. return
  25. }
  26. // GetEdbTerminalFirstBySource 根据指标来源类型获取配置的首个终端信息
  27. func GetEdbTerminalFirstBySource(source int) (item *EdbTerminal, err error) {
  28. sql := ` SELECT * FROM edb_terminal WHERE source = ? and status=1 ORDER BY terminal_id ASC Limit 1 `
  29. err = global.DEFAULT_DmSQL.Raw(sql, source).First(&item).Error
  30. return
  31. }
  32. type TerminalCodeCountGroup struct {
  33. TerminalCode string
  34. Total int
  35. }
  36. // GetEdbTerminalByCode 根据终端编码获取终端信息
  37. func GetEdbTerminalByCode(terminalCode string) (item *EdbTerminal, err error) {
  38. sql := ` SELECT * FROM edb_terminal WHERE terminal_code = ? `
  39. err = global.DEFAULT_DmSQL.Raw(sql, terminalCode).First(&item).Error
  40. return
  41. }
  42. // GetEdbCountGroupByTerminal 获取终端code分组总数
  43. func GetEdbCountGroupByTerminal(source int) (list []TerminalCodeCountGroup, err error) {
  44. sql := `select terminal_code,count(1) total from edb_info where source = ? AND no_update=0 AND terminal_code != "" group by terminal_code; `
  45. err = global.DEFAULT_DmSQL.Raw(sql, source).Scan(&list).Error
  46. return
  47. }
  48. type BaseIndexTerminalCode struct {
  49. TerminalCode string `description:"终端编码,用于配置在机器上"`
  50. IndexName string
  51. }
  52. // GetBaseIndexTerminalCode 获取数据源的终端code
  53. func GetBaseIndexTerminalCode(edbCode, tableName string) (item BaseIndexTerminalCode, err error) {
  54. sql := fmt.Sprintf(`select terminal_code, index_name from %s where index_code = ? `, tableName)
  55. err = global.DEFAULT_DmSQL.Raw(sql, edbCode).First(&item).Error
  56. return
  57. }