You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
109 lines
3.1 KiB
109 lines
3.1 KiB
package service |
|
|
|
import ( |
|
"context" |
|
"strconv" |
|
"time" |
|
|
|
"go-common/app/interface/openplatform/article/dao" |
|
artmdl "go-common/app/interface/openplatform/article/model" |
|
"go-common/library/log" |
|
) |
|
|
|
func (s *Service) loadSettings() { |
|
for { |
|
settings, err := s.dao.Settings(context.TODO()) |
|
if err != nil || len(settings) == 0 { |
|
dao.PromError("service:获取配置") |
|
time.Sleep(time.Second) |
|
continue |
|
} |
|
if s.setting == nil { |
|
s.setting = &artmdl.Setting{} |
|
} |
|
for name, value := range settings { |
|
switch name { |
|
case "apply_open": |
|
var open bool |
|
if open, err = strconv.ParseBool(value); err != nil { |
|
dao.PromError("service:配置项无效") |
|
log.Error("strconv.ParseBool(%v: %v) err: %+v", name, value, err) |
|
} else { |
|
s.setting.ApplyOpen = open |
|
} |
|
case "apply_limit": |
|
var limit int64 |
|
if limit, err = strconv.ParseInt(value, 10, 64); err != nil { |
|
dao.PromError("service:配置项无效") |
|
log.Error("strconv.ParseInt(%v:%v) err: %+v", name, value, err) |
|
} else { |
|
s.setting.ApplyLimit = limit |
|
} |
|
case "frozen_duration": |
|
var duration int64 |
|
if duration, err = strconv.ParseInt(value, 10, 64); err != nil { |
|
dao.PromError("service:配置项无效") |
|
log.Error("strconv.ParseInt(%v:%v) err: %+v", name, value, err) |
|
} else { |
|
s.setting.ApplyFrozenDuration = duration |
|
} |
|
case "show_rec_new_arts": |
|
var show bool |
|
if show, err = strconv.ParseBool(value); err != nil { |
|
dao.PromError("service:配置项无效") |
|
log.Error("strconv.ParseBool(%v: %v) err: %+v", name, value, err) |
|
} else { |
|
s.setting.ShowRecommendNewArticles = show |
|
} |
|
case "show_rank_note": |
|
var show bool |
|
if show, err = strconv.ParseBool(value); err != nil { |
|
dao.PromError("service:配置项无效") |
|
log.Error("strconv.ParseBool(%v: %v) err: %+v", name, value, err) |
|
} else { |
|
s.setting.ShowRankNote = show |
|
} |
|
case "show_app_home_rank": |
|
var show bool |
|
if show, err = strconv.ParseBool(value); err != nil { |
|
dao.PromError("service:配置项无效") |
|
log.Error("strconv.ParseBool(%v: %v) err: %+v", name, value, err) |
|
} else { |
|
s.setting.ShowAppHomeRank = show |
|
} |
|
case "show_later_watch": |
|
var show bool |
|
if show, err = strconv.ParseBool(value); err != nil { |
|
dao.PromError("service:配置项无效") |
|
log.Error("strconv.ParseBool(%v: %v) err: %+v", name, value, err) |
|
} else { |
|
s.setting.ShowLaterWatch = show |
|
} |
|
case "show_small_window": |
|
var show bool |
|
if show, err = strconv.ParseBool(value); err != nil { |
|
dao.PromError("service:配置项无效") |
|
log.Error("strconv.ParseBool(%v: %v) err: %+v", name, value, err) |
|
} else { |
|
s.setting.ShowSmallWindow = show |
|
} |
|
case "hotspot": |
|
var show bool |
|
if show, err = strconv.ParseBool(value); err != nil { |
|
dao.PromError("service:配置项无效") |
|
log.Error("strconv.ParseBool(%v: %v) err: %+v", name, value, err) |
|
} else { |
|
s.setting.ShowHotspot = show |
|
} |
|
} |
|
} |
|
return |
|
} |
|
} |
|
|
|
func (s *Service) loadSettingsproc() { |
|
for { |
|
time.Sleep(time.Minute) |
|
s.loadSettings() |
|
} |
|
}
|
|
|