package models
|
|
//目前设置的是全局的规则,跟摄像机无关
|
type CameraTimerule struct {
|
Id string `json:"id"`
|
Name string `json:"name"`
|
TimeRule string `json:"time_rule"`
|
}
|
|
//DayCtl 从周一到周日每天的布控时间
|
type DayCtl struct {
|
Day int `json:"day"`
|
TimeRange []TimeRange `json:"time_range"`
|
}
|
|
//TimeRange 每天的时间段
|
type TimeRange struct {
|
Start string `json:"start"` //开始
|
End string `json:"end"` //结束
|
}
|
|
func (CameraTimerule) TableName() string {
|
return "camera_timerule"
|
}
|
|
func (ctr *CameraTimerule) Exists(id string) bool {
|
if id == "" {
|
return false
|
}
|
err = db.Table(ctr.TableName()).Where("id = ?", id).First(&ctr).Error
|
if err != nil {
|
return false
|
}
|
return true
|
}
|
|
func (ctr *CameraTimerule) Insert() bool {
|
tx := db.Table(ctr.TableName()).Begin()
|
|
if tx.Error != nil {
|
return false
|
}
|
|
if err := tx.Create(&ctr).Error; err != nil {
|
tx.Rollback()
|
return false
|
}
|
return tx.Commit().Error == nil
|
}
|
|
func (ctr *CameraTimerule) SelectById(id string) (rows int64, err error) {
|
exeResult := db.Table(ctr.TableName()).Where("id=?", id).First(&ctr)
|
if exeResult.Error != nil {
|
return 0, exeResult.Error
|
}
|
return exeResult.RowsAffected, nil
|
}
|
|
func (ctr *CameraTimerule) Update() bool {
|
saveResult := db.Table(ctr.TableName()).Save(&ctr)
|
if saveResult.Error != nil {
|
return false
|
}
|
if saveResult.RowsAffected > 0 {
|
return true
|
}
|
return false
|
}
|
|
func (ctr *CameraTimerule) DeleteById(id string) (rows int64, err error) {
|
delResult := db.Table("camera_timerule").Where("id=?", id).Delete(&CameraTimerule{})
|
if delResult.Error != nil {
|
return 0, delResult.Error
|
}
|
return delResult.RowsAffected, nil
|
}
|
|
func (ctr *CameraTimerule) FindAll() (timeRules []CameraTimerule, err error) {
|
if err := db.Table(ctr.TableName()).Find(&timeRules).Error; err != nil {
|
return nil, err
|
}
|
return timeRules, nil
|
}
|
|
func (ctr *CameraTimerule) FindAllMap() map[string]CameraTimerule {
|
m := make(map[string]CameraTimerule)
|
list, _ := ctr.FindAll()
|
if list != nil {
|
for _, t := range list {
|
m[t.Id] = t
|
}
|
}
|
return m
|
}
|
|
func (ctr *CameraTimerule) FindByCameraId(cameraId string) (timeRules []CameraTimerule, err error) {
|
if err := db.Table(ctr.TableName()).Where("camera_id=?", cameraId).Find(&timeRules).Error; err != nil {
|
return nil, err
|
}
|
return timeRules, nil
|
}
|