package options import ( "fmt" "os" "strconv" "time" 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 // 库存一定时间内减少多少个通知 } 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 } glog.Infof("加载watch interval %s\nats interval %s\nats threshold %d", opt.WatchInterval, opt.AtsInterval, opt.AtsThreshold) return }