enum_modeltable.go 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. package enum
  2. import (
  3. "time"
  4. "github.com/astaxie/beego/orm"
  5. )
  6. //模型对应的数据表定义
  7. type ModelTable int
  8. func init() {
  9. //初始化常量定义。将定义写入到数据字典表中
  10. go func() {
  11. time.Sleep(3 * time.Second) //延迟3秒,主要是保证数据库初始化已完成
  12. db := orm.NewOrm()
  13. code := "model_table_mapping"
  14. var i = ModelTable(1)
  15. db.Raw("insert IGNORE into global_const_code(code,parentcode,name)values(?,?,?)", code, "systemconstcode", "模型对应的数据表").Exec()
  16. for {
  17. if i > 10000 {
  18. break
  19. }
  20. desc := i.String()
  21. if desc == "" {
  22. i = i + 1
  23. continue
  24. }
  25. //logger.Logger.Println(fmt.Sprintf("常量值:%d 常量名称:%s", i, desc))
  26. db.Raw("insert IGNORE into global_const_code(code,parentcode,name)values(?,?,?)", i, code, desc).Exec()
  27. if desc == "" {
  28. break
  29. }
  30. i = i + 1
  31. }
  32. }()
  33. }
  34. const (
  35. //通用测温模型ID
  36. ModelTable_Temperature ModelTable = 126
  37. //通用测温多探头模型ID
  38. ModelTable_Temperature_mz ModelTable = 127
  39. //通用避雷器模型ID
  40. ModelTable_BiLeiQi ModelTable = 1024
  41. )
  42. //模型id映射的数据表名
  43. func (t ModelTable) String() string {
  44. switch t {
  45. case ModelTable_Temperature:
  46. return "zigbee_026010"
  47. case ModelTable_Temperature_mz:
  48. return "zigbee_026010_mz"
  49. case ModelTable_BiLeiQi:
  50. return "zigbee_027001"
  51. default:
  52. return ""
  53. }
  54. }