123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- 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()
- }
- }
|