package simwarning import ( "context" "github.com/gogf/gf/v2/frame/g" ) const ( defaultExpireFirstWarnDays = 30 defaultExpireSecondWarnDays = 15 defaultExpireThirdWarnDays = 7 ) type expireWarnThresholds struct { First float64 Second float64 Third float64 } func systemExpireWarnThresholds(ctx context.Context) expireWarnThresholds { first := g.Cfg().MustGet(ctx, "warning.expire.firstWarnDays", defaultExpireFirstWarnDays).Int() second := g.Cfg().MustGet(ctx, "warning.expire.secondWarnDays", defaultExpireSecondWarnDays).Int() third := g.Cfg().MustGet(ctx, "warning.expire.thirdWarnDays", defaultExpireThirdWarnDays).Int() if first <= 0 || second <= 0 || third <= 0 || !(first > second && second > third) { g.Log().Warningf(ctx, "SimWarning expire threshold config invalid, first:%d, second:%d, third:%d, use default:%d/%d/%d", first, second, third, defaultExpireFirstWarnDays, defaultExpireSecondWarnDays, defaultExpireThirdWarnDays, ) first = defaultExpireFirstWarnDays second = defaultExpireSecondWarnDays third = defaultExpireThirdWarnDays } return expireWarnThresholds{ First: float64(first), Second: float64(second), Third: float64(third), } }