123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- package Device
- import (
- "Cold_mqtt/conf"
- "Cold_mqtt/logs"
- "github.com/beego/beego/v2/adapter/orm"
- orm2 "github.com/beego/beego/v2/client/orm"
- _ "github.com/go-sql-driver/mysql"
- "time"
- )
- // 设备记录数据 操作历史记录(只存放留存下来的数据,最近记录直接写到 记录数据中)
- type DeviceDataOld struct {
- Id int `orm:"column(ID);size(11);auto;pk"`
- T_sn string `orm:"index;size(256);"` // 主键 设备序列号
- T_id int `orm:"index;size(12);"` // 主键 传感器编号
- T_t float32 `orm:"size(20);digits(6);decimals(1)"` // 温度
- T_rh float32 `orm:"size(20);digits(6);decimals(1)"` // 湿度
- T_Site string `orm:"size(100);"` // GPS
- T_time time.Time `orm:"index;type(timestamp);"` // 主键 采集时间
- T_operation int `orm:"size(12);"` // 操作类型 1:插入 2:替换 3:删除 4:忽略
- T_uuid string `orm:"size(256);"` // 操作人 Admin->T_uuid , 如果为空字符串 则是设备本身上传的,标记为(设备)
- CreateTime time.Time `orm:"column(create_time);type(timestamp);auto_now_add"` //auto_now 每次 model 保存时都会对时间自动更新
- }
- type DeviceDataOld_R struct {
- T_t float32 // 温度
- T_rh float32 // 湿度
- T_Site string // GPS
- T_time time.Time // 采集时间
- T_operation int // 操作类型 1:插入 2:替换 3:删除
- T_uuid string // 操作人 Admin->T_uuid , 如果为空字符串 则是设备本身上传的
- CreateTime time.Time //auto_now 每次 model 保存时都会对时间自动更新
- }
- func (t *DeviceDataOld) TableName() string {
- return "device_data_old" // 数据库名称 // ************** 替换 FormulaList **************
- }
- func init() {
- //注册模型
- orm.RegisterModel(new(DeviceDataOld))
- }
- func DeviceDataOldToDeviceDataOld_R(r DeviceDataOld) (t DeviceDataOld_R) {
- t.T_t = r.T_t
- t.T_rh = r.T_rh
- t.T_Site = r.T_Site
- t.T_time = r.T_time
- t.T_operation = r.T_operation
- t.T_uuid = r.T_uuid
- t.CreateTime = r.CreateTime
- return
- }
- // ---------------- 特殊方法 -------------------
- // 添加
- func Add_DeviceDataOld(m DeviceDataOld) (id int64, err error) {
- o := orm.NewOrm()
- id, err = o.Insert(&m)
- if err != nil {
- logs.Println("Add_DeviceDataOld", err)
- }
- return id, err
- }
- // 获取列表
- func Read_DeviceDataOld_List(T_sn string, T_id int, T_time string, page int, page_z int) (r []DeviceDataOld_R, cnt int64) {
- o := orm.NewOrm()
- // 也可以直接使用 Model 结构体作为表名
- qs := o.QueryTable(new(DeviceDataOld))
- var offset int64
- if page_z == 0 {
- page_z = conf.Page_size
- }
- if page <= 1 {
- offset = 0
- } else {
- offset = int64((page - 1) * page_z)
- }
- cond := orm.NewCondition()
- cond1 := cond.And("T_sn", T_sn).And("T_id", T_id).And("T_time", T_time)
- var rx []DeviceDataOld
- qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond1)).OrderBy("-Id").All(&rx)
- cnt, _ = qs.SetCond((*orm2.Condition)(cond1)).Count()
- for _, v := range rx {
- r = append(r, DeviceDataOldToDeviceDataOld_R(v))
- }
- return r, cnt
- }
|