package Device import ( "Cold_mqtt/logs" "github.com/beego/beego/v2/adapter/orm" _ "github.com/go-sql-driver/mysql" "time" ) // 模板 type DeviceTask struct { Id int `orm:"column(ID);size(11);auto;pk"` T_sn string `orm:"size(256);null"` // 设备序列号 KF开头,环境监测主机。 YD开头,温途监测主机 T_Ut_start time.Time `orm:"type(timestamp);null;"` // 采集时间 T_Ut_end time.Time `orm:"type(timestamp);null;"` // 采集时间 T_Ut time.Time `orm:"type(timestamp);null;"` // 采集时间 T_State int `orm:"size(2);default(1)"` // 1 start:开始监测任务, // 2 stop:结束监测任务, // 3 print:中途打印任务 //CreateTime time.Time `orm:"column(create_time);type(timestamp);auto_now_add"` //auto_now_add 第一次保存时才设置时间 //UpdateTime time.Time `orm:"column(update_time);type(timestamp);auto_now"` //auto_now 每次 model 保存时都会对时间自动更新 } func (t *DeviceTask) TableName() string { return "device_task" // 数据库名称 // ************** 替换 FormulaList ************** } func init() { //注册模型 orm.RegisterModel(new(DeviceTask)) } // ---------------- 特殊方法 ------------------- // 添加 func Add_DeviceTask(m DeviceTask) (id int64, err error) { //if(conf.Test_server){ // logs.Println("Add_DeviceTask:",m) // return id, err //} o := orm.NewOrm() id, err = o.Insert(&m) if err != nil { logs.Println("Add_DeviceTask", err) } return id, err } // 修改 func Update_DeviceTask(m DeviceTask) (err error) { o := orm.NewOrm() o.Update(&m, "T_Ut_start", "T_Ut_end", "T_Ut", "T_State") return err } //// 获取 ById //func Read_DeviceTask_ById(id int) (r DeviceTask) { // o := orm.NewOrm() // r = DeviceTask{Id: id} // err := o.Read(&r) // o.Read(&r,"Tokey") 如果不是 主键 就得指定字段名 // if err != nil { // logs.Println(err) // } // return r //} // 获取全部 func Read_DeviceTask_All_Limit_1(T_sn string) (DeviceTask, bool) { o := orm.NewOrm() qs := o.QueryTable(new(DeviceTask)) var r_l []DeviceTask qs.Limit(1, 0).Filter("T_sn", T_sn).OrderBy("-ID").All(&r_l) if len(r_l) > 0 { return r_l[0], true } return DeviceTask{}, false }