package models
|
|
import "vamicro/extend/util"
|
|
var (
|
SysDefaultSetting = map[string]string {
|
"sys_auto_clean": "0",
|
"sys_update_notice" : "0",
|
"sys_auto_update" : "0",
|
"app_auto_clean" : "0",
|
"app_update_notice": "0",
|
"app_auto_update": "0",
|
}
|
)
|
|
func InitSysSettingData() {
|
for k,v := range SysDefaultSetting {
|
ss := SysSetting{}
|
ss.Name = k
|
ss.Value = v
|
ss.SaveSetting(false)
|
}
|
}
|
|
type SysSetting struct {
|
Id string `gorm:"primary_key;column:id" json:"id"`
|
Name string `gorm:"column:name" json:"name"`
|
Value string `gorm:"column:value" json:"value"`
|
}
|
|
func (SysSetting) TableName() string {
|
return "sys_setting"
|
}
|
|
func (ss *SysSetting) LoadSettingByName(name string) (err error) {
|
if err := db.Table("sys_setting").Where("name=?", name).First(&ss).Error; err != nil {
|
return err
|
}
|
return nil
|
}
|
|
func (ss *SysSetting) GetAllSetting() (settings []SysSetting, err error) {
|
if err := db.Table("sys_setting").Scan(&settings).Error; err != nil {
|
return nil, err
|
}
|
return settings, nil
|
}
|
|
func (ss *SysSetting) SaveSetting(up bool) (err error) {
|
count := 0
|
result := db.Table(ss.TableName()).Where("name=?", ss.Name).Count(&count)
|
if count > 0 && up {
|
result := db.Table(ss.TableName()).Where("name=?", ss.Name).Update("value", ss.Value)
|
if result.Error != nil {
|
return result.Error
|
}
|
} else if 0 == count {
|
if ss.Id == ""{
|
ss.Id = util.PseudoUuid()
|
}
|
result = db.Table(ss.TableName()).Create(&ss)
|
if result.Error != nil {
|
return result.Error
|
}
|
}
|
return nil
|
}
|