package models
|
|
type LocalConfig struct {
|
Id string `gorm:"primary_key;column:id" json:"id"`
|
AlarmIp string `gorm:"column:alarm_ip" json:"alarm_ip" example:"192.168.1.182"`
|
AlarmPort int `gorm:"column:alarm_port" json:"alarm_port" example:"22122"`
|
AlarmThresholdType int `gorm:"column:alarm_threshold_type" json:"alarm_threshold_type"` //报警阈值类型设置:1:按最高分,2:按阈值以上
|
AlarmThreshold int `gorm:"column:alarm_threshold" json:"alarm_threshold"` //报警阈值
|
WebPicIp string `gorm:"column:web_pic_ip" json:"web_pic_ip" example:""`
|
WebPicPort int `gorm:"column:web_pic_port" json:"web_pic_port" example:"22122"`
|
EsPicIp string `gorm:"column:es_pic_ip" json:"es_pic_ip" example:""`
|
EsPicPort int `gorm:"column:es_pic_port" json:"es_pic_port" example:"22122"`
|
|
CutMaxDuration int `gorm:"column:cut_max_duration" json:"cut_max_duration" example:"20"`
|
CutMinDuration int `gorm:"column:cut_min_duration" json:"cut_min_duration" example:"5"`
|
ServerId string `gorm:"column:server_id" json:"server_id" example:"分析设备id"`
|
ServerName string `gorm:"column:server_name" json:"server_name" example:"分析设备名称"`
|
ServerType int `gorm:"column:server_type" json:"server_type" example:"1"`
|
Reserved string `gorm:"column:reserved" json:"reserved" example:"1"`
|
RealMax int `gorm:"column:real_max" json:"real_max"` //实时处理的最大路数
|
NeedAuthPwd int `gorm:"column:need_auth_pwd;default:0;" json:"need_auth_pwd"` //设备授权管理方式 0:不用密码 1:通过密码
|
AuthPwd string `gorm:"column:auth_pwd" json:"auth_pwd"` //设备授权密码
|
}
|
|
// 设置表名为`profiles`
|
func (LocalConfig) TableName() string {
|
return "local_configs"
|
}
|
|
func (loCon *LocalConfig) FindAreaSliece() (config []LocalConfig, err error) {
|
if err := db.Table(loCon.TableName()).Find(&config).Error; err != nil {
|
return nil, err
|
}
|
return config, nil
|
}
|
|
func (loCon *LocalConfig) Insert() (err error) {
|
tx := db.Table(loCon.TableName()).Begin()
|
if tx.Error != nil {
|
return err
|
}
|
if err := tx.Create(&loCon).Error; err != nil {
|
tx.Rollback()
|
return err
|
}
|
return tx.Commit().Error
|
}
|
|
func (loCon *LocalConfig) Select() (err error) {
|
if err = db.Table(loCon.TableName()).First(&loCon).Error; err != nil {
|
if err.Error() == "record not found" {
|
loCon = nil
|
return nil
|
}
|
return err
|
}
|
return nil
|
}
|
|
func (loCon *LocalConfig) SelectByDeviceId(deviceId string) (err error) {
|
if err = db.Table(loCon.TableName()).Where("server_id=?", deviceId).First(&loCon).Error; err != nil {
|
if err.Error() == "record not found" {
|
loCon = nil
|
return nil
|
}
|
return err
|
}
|
return nil
|
}
|
|
func (loCon *LocalConfig) Update() error {
|
if err := db.Save(&loCon).Error; err != nil {
|
return err
|
}
|
return nil
|
}
|
|
func (loCon *LocalConfig) UpdateAuth() error {
|
// 根据id查找记录,修改密码和授权方式两个字段,传空值也会修改,只要与原来值发生变化
|
if err := db.Model(&loCon).Updates(map[string]interface{}{"auth_pwd": loCon.AuthPwd, "need_auth_pwd": loCon.NeedAuthPwd}).Error; err != nil {
|
return err
|
}
|
return nil
|
}
|