Files
iotlcm/admin-svr/server/internal/logic/simwarning/expire_config.go
T

44 lines
1.2 KiB
Go

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),
}
}