Files
likeadmin_go/server/util/setting.go
echobool 3cfc3bb99f 完善了代码生成 字段编辑时保存
增加了 存储配置  阿里云oss  腾讯云cos 七牛云 kodo 文件上传和删除
2023-11-24 00:59:28 +08:00

68 lines
1.7 KiB
Go

package util
import (
"gorm.io/gorm"
"likeadmin/admin/schemas/resp"
"likeadmin/core"
"likeadmin/core/response"
)
var SettingUtil = settingUtil{db: core.GetDB()}
// settingUtil 系统后台配置获取操作工具类
type settingUtil struct {
db *gorm.DB
}
// getSettingVal
func (s settingUtil) getSettingVal(key string, name string, defaultVal string) string {
val := RedisUtil.HGet(key, name)
if val == "" {
dbVal, _ := ConfigUtil.GetVal(s.db, key, name, defaultVal)
RedisUtil.HSet(key, name, dbVal, -1)
val = dbVal
}
return val
}
// getSettingStruct 获取配置
func (s settingUtil) getSettingStruct(key string, name string, res interface{}) (e error) {
val := RedisUtil.HGet(key, name)
if val == "" {
str, err := ConfigUtil.GetVal(s.db, key, name, "")
if e = response.CheckErr(err, "Detail GetVal err"); e != nil {
return
}
if str == "" {
return
}
RedisUtil.HSet(key, name, str, -1)
val = str
}
e = response.CheckErr(ToolsUtil.JsonToObj(val, &res), "Detail JsonToObj err")
return
}
// GetSmsEngine 获取短信引擎名称
func (s settingUtil) GetSmsEngine() string {
return s.getSettingVal("sms", "default", "")
}
// GetSmsEngineConf 获取短信配置
func (s settingUtil) GetSmsEngineConf(engine string) (res *resp.SmsSettingResp) {
_ = s.getSettingStruct("sms", engine, &res)
return
}
// GetStorageEngine 获取默认存储引擎
func (s settingUtil) GetStorageEngine() string {
return s.getSettingVal("storage", "default", "local")
}
// GetStorageEngineConf 获取存储引擎配置
func (s settingUtil) GetStorageEngineConf(engine string) (res *resp.StorageSettingResp) {
_ = s.getSettingStruct("storage", engine, &res)
return
}