edb_terminal.go 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package models
  2. import (
  3. "github.com/beego/beego/v2/client/orm"
  4. "time"
  5. )
  6. // EdbTerminal 指标终端
  7. type EdbTerminal struct {
  8. TerminalId int `orm:"column(terminal_id);pk"`
  9. Source int `orm:"column(source)" description:"指标来源类型"`
  10. Name string `description:"终端别名"`
  11. TerminalCode string `description:"终端编码,用于配置在机器上"`
  12. ServerUrl string `description:"终端地址"`
  13. Num int `description:"终端最大指标数"`
  14. Status int `description:"状态,1启用,2禁用"`
  15. Value string `description:"终端相关的凭证"`
  16. ModifyTime time.Time `description:"修改时间"`
  17. CreateTime time.Time `description:"创建时间"`
  18. }
  19. // GetEdbTerminalListBySource 根据指标来源类型获取所有的终端列表
  20. func GetEdbTerminalListBySource(source int) (items []*EdbTerminal, err error) {
  21. o := orm.NewOrm()
  22. sql := ` SELECT * FROM edb_terminal WHERE source = ? and status=1 ORDER BY terminal_id ASC `
  23. _, err = o.Raw(sql, source).QueryRows(&items)
  24. return
  25. }
  26. // GetEdbTerminalFirstBySource 根据指标来源类型获取配置的首个终端信息
  27. func GetEdbTerminalFirstBySource(source int) (item *EdbTerminal, err error) {
  28. o := orm.NewOrm()
  29. sql := ` SELECT * FROM edb_terminal WHERE source = ? and status=1 ORDER BY terminal_id ASC Limit 1 `
  30. err = o.Raw(sql, source).QueryRow(&item)
  31. return
  32. }
  33. type TerminalCodeCountGroup struct {
  34. TerminalCode string
  35. Total int
  36. }
  37. // GetEdbTerminalByCode 根据终端编码获取终端信息
  38. func GetEdbTerminalByCode(terminalCode string) (item *EdbTerminal, err error) {
  39. o := orm.NewOrm()
  40. sql := ` SELECT * FROM edb_terminal WHERE terminal_code = ? `
  41. err = o.Raw(sql, terminalCode).QueryRow(&item)
  42. return
  43. }
  44. // GetEdbCountGroupByTerminal 获取终端code分组总数
  45. func GetEdbCountGroupByTerminal(source int) (list []TerminalCodeCountGroup, err error) {
  46. o := orm.NewOrm()
  47. sql := `select terminal_code,count(1) total from edb_info where source = ? AND no_update=0 AND terminal_code != "" group by terminal_code; `
  48. _, err = o.Raw(sql, source).QueryRows(&list)
  49. return
  50. }