zhangzengfei
2024-05-17 9ee887fce2f87f7a79d0b94640cf1d341a254319
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package models
 
import "time"
 
type Positions struct {
    Id         uint   `gorm:"column:id;primary_key;auto_increment;unique;not null;"`
    DeviceId   string `gorm:"column:device_id;" json:"device_id"`
    Pos        string `gorm:"column:pos" json:"pos"`
    CreateTime int64  `gorm:"column:create_time;"`
    TimeString string `gorm:"column:time_string;"`
}
 
func (d *Positions) TableName() string {
    return "positions"
}
 
func (d *Positions) FindDevicePosition(devId string, timestamp int64) error {
    return db.Table(d.TableName()).Where("device_id = ? AND create_time <= ?", devId, timestamp).Order("create_time desc").First(&d).Error
}
 
func (d *Positions) FindPositionByTime(timestamp int64) error {
    return db.Table(d.TableName()).Where("create_time <= ?", timestamp).Order("create_time desc").First(&d).Error
}
 
func (d *Positions) Clean() error {
    timestamp := time.Now().Unix() - 3600
    return db.Table(d.TableName()).Where("create_time <= ?", timestamp).Delete(&d).Error
}