1撤销限价后 市价分单
This commit is contained in:
61
services/cacheservice/config_service.go
Normal file
61
services/cacheservice/config_service.go
Normal file
@ -0,0 +1,61 @@
|
||||
package cacheservice
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"go-admin/app/admin/models"
|
||||
"go-admin/common/const/rediskey"
|
||||
"go-admin/common/helper"
|
||||
|
||||
"github.com/bytedance/sonic"
|
||||
"github.com/go-admin-team/go-admin-core/logger"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
// 加载config缓存
|
||||
func InitConfigCache(db *gorm.DB) {
|
||||
datas := []models.SysConfig{}
|
||||
db.Model(&models.SysConfig{}).Find(&datas)
|
||||
for _, item := range datas {
|
||||
cacheKey := fmt.Sprintf(rediskey.SysConfigKey, item.ConfigKey)
|
||||
|
||||
content, err := sonic.Marshal(item)
|
||||
|
||||
if err != nil {
|
||||
logger.Error(err)
|
||||
continue
|
||||
}
|
||||
|
||||
if len(content) > 0 {
|
||||
helper.DefaultRedis.SetString(cacheKey, item.ConfigValue)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 获取 sys config缓存
|
||||
func GetConfigCacheByKey(db *gorm.DB, key string) models.SysConfig {
|
||||
cacheKey := fmt.Sprintf(rediskey.SysConfigKey, key)
|
||||
val, _ := helper.DefaultRedis.GetString(key)
|
||||
result := models.SysConfig{}
|
||||
|
||||
if val == "" {
|
||||
sonic.Unmarshal([]byte(val), &result)
|
||||
}
|
||||
|
||||
if result.Id == 0 {
|
||||
if err := db.Model(&result).Where("config_key = ?", key).First(&result).Error; err != nil {
|
||||
logger.Errorf("GetConfigCacheByKey %s", err.Error())
|
||||
}
|
||||
}
|
||||
|
||||
if result.Id > 0 {
|
||||
content, err := sonic.Marshal(result)
|
||||
|
||||
if err != nil {
|
||||
logger.Errorf("GetConfigCacheByKey %s", err.Error())
|
||||
} else {
|
||||
helper.DefaultRedis.SetString(cacheKey, string(content))
|
||||
}
|
||||
}
|
||||
|
||||
return result
|
||||
}
|
||||
Reference in New Issue
Block a user