zhangzengfei
2023-09-04 e8e536d1cb52d2126c8c7ce2ba1c7a76f7208678
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
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
}