110 lines
3.1 KiB
Go
110 lines
3.1 KiB
Go
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()
|
|
}
|
|
}
|