package options import ( "fmt" "os" "strconv" "time" coach_client "gitea.timerzz.com/kedaya_haitao/common/pkg/coach-client" v2 "gitea.timerzz.com/kedaya_haitao/common/structs/v2" "github.com/golang/glog" ) type Config struct { ProviderId v2.ProviderId `yaml:"provider_id"` WatchInterval time.Duration AtsInterval time.Duration AtsThreshold int // 库存一定时间内减少多少个通知 ClientType string } func LoadConfigs() (opt *Config, err error) { opt = &Config{} // 从环境变量中读取ProviderId opt.ProviderId = v2.ProviderId(os.Getenv("PROVIDER_ID")) if opt.ProviderId == "" { return nil, fmt.Errorf("环境变量未配置供应商id") } opt.WatchInterval, _ = time.ParseDuration(os.Getenv("WATCH_INTERVAL")) opt.AtsInterval, _ = time.ParseDuration(os.Getenv("ATS_INTERVAL")) if opt.WatchInterval == 0 { opt.WatchInterval = 5 * time.Minute } if opt.AtsInterval == 0 { opt.AtsInterval = 15 * time.Minute } opt.AtsThreshold, _ = strconv.Atoi(os.Getenv("ATS_THRESHOLD")) if opt.AtsThreshold == 0 { opt.AtsThreshold = 40 } opt.ClientType = coach_client.LoadUSClientType() glog.Infof("加载watch interval %s\nats interval %s\nats threshold %d\nclient type %s", opt.WatchInterval, opt.AtsInterval, opt.AtsThreshold, opt.ClientType) return }