|
- package db
-
- import (
- "code.fnuoos.com/go_rely_warehouse/zyos_go_pay.git/db/model"
- "code.fnuoos.com/go_rely_warehouse/zyos_go_pay.git/md"
- cache "code.fnuoos.com/go_rely_warehouse/zyos_go_tools.git/utils/cache"
- "fmt"
- "xorm.io/xorm"
- )
-
- // 获取一条记录
- func SysCfgGetOne(Db *xorm.Engine, key string) (*model.SysCfg, error) {
- var cfgList model.SysCfg
- if has, err := Db.Where("`key`=?", key).Get(&cfgList); err != nil || has == false {
- return nil, err
- }
- return &cfgList, nil
- }
-
- //单条记录获取DB
- func SysCfgGetWithDb(eg *xorm.Engine, masterId string, HKey string) string {
- cacheKey := fmt.Sprintf(md.AppCfgCacheKey, masterId, HKey[0:1])
- get, err := cache.HGetString(cacheKey, HKey)
- if err != nil || get == "" {
- cfg, err := SysCfgGetOne(eg, HKey)
- if err != nil || cfg == nil {
- return ""
- }
-
- // key是否存在
- cacheKeyExist := false
- if cache.Exists(cacheKey) {
- cacheKeyExist = true
- }
-
- // 设置缓存
- _, err = cache.HSet(cacheKey, HKey, cfg.Val)
- if err != nil {
- return ""
- }
- if !cacheKeyExist { // 如果是首次设置 设置过期时间
- _, err := cache.Expire(cacheKey, md.CfgCacheTime)
- if err != nil {
- return ""
- }
- }
- return cfg.Val
- }
- return get
- }
|