DeviceTask.go 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. package Device
  2. import (
  3. "Cold_mqtt/logs"
  4. "github.com/beego/beego/v2/adapter/orm"
  5. _ "github.com/go-sql-driver/mysql"
  6. "time"
  7. )
  8. // 模板
  9. type DeviceTask struct {
  10. Id int `orm:"column(ID);size(11);auto;pk"`
  11. T_sn string `orm:"size(256);null"` // 设备序列号 KF开头,环境监测主机。 YD开头,温途监测主机
  12. T_Ut_start time.Time `orm:"type(timestamp);null;"` // 采集时间
  13. T_Ut_end time.Time `orm:"type(timestamp);null;"` // 采集时间
  14. T_Ut time.Time `orm:"type(timestamp);null;"` // 采集时间
  15. T_State int `orm:"size(2);default(1)"`
  16. // 1 start:开始监测任务,
  17. // 2 stop:结束监测任务,
  18. // 3 print:中途打印任务
  19. //CreateTime time.Time `orm:"column(create_time);type(timestamp);auto_now_add"` //auto_now_add 第一次保存时才设置时间
  20. //UpdateTime time.Time `orm:"column(update_time);type(timestamp);auto_now"` //auto_now 每次 model 保存时都会对时间自动更新
  21. }
  22. func (t *DeviceTask) TableName() string {
  23. return "device_task" // 数据库名称 // ************** 替换 FormulaList **************
  24. }
  25. func init() {
  26. //注册模型
  27. orm.RegisterModel(new(DeviceTask))
  28. }
  29. // ---------------- 特殊方法 -------------------
  30. // 添加
  31. func Add_DeviceTask(m DeviceTask) (id int64, err error) {
  32. //if(conf.Test_server){
  33. // logs.Println("Add_DeviceTask:",m)
  34. // return id, err
  35. //}
  36. o := orm.NewOrm()
  37. id, err = o.Insert(&m)
  38. if err != nil {
  39. logs.Println("Add_DeviceTask", err)
  40. }
  41. return id, err
  42. }
  43. // 修改
  44. func Update_DeviceTask(m DeviceTask) (err error) {
  45. o := orm.NewOrm()
  46. o.Update(&m, "T_Ut_start", "T_Ut_end", "T_Ut", "T_State")
  47. return err
  48. }
  49. //// 获取 ById
  50. //func Read_DeviceTask_ById(id int) (r DeviceTask) {
  51. // o := orm.NewOrm()
  52. // r = DeviceTask{Id: id}
  53. // err := o.Read(&r) // o.Read(&r,"Tokey") 如果不是 主键 就得指定字段名
  54. // if err != nil {
  55. // logs.Println(err)
  56. // }
  57. // return r
  58. //}
  59. // 获取全部
  60. func Read_DeviceTask_All_Limit_1(T_sn string) (DeviceTask, bool) {
  61. o := orm.NewOrm()
  62. qs := o.QueryTable(new(DeviceTask))
  63. var r_l []DeviceTask
  64. qs.Limit(1, 0).Filter("T_sn", T_sn).OrderBy("-ID").All(&r_l)
  65. if len(r_l) > 0 {
  66. return r_l[0], true
  67. }
  68. return DeviceTask{}, false
  69. }