app-cloudep-product-service/pkg/domain/product/time_series.go

49 lines
1.3 KiB
Go

package product
type TimeSeries int8
const (
TimeSeriesUnknown TimeSeries = iota // 未知
TimeSeriesTenMinutes // 每 10 分鐘
TimeSeriesHalfHour // 每半小時
TimeSeriesOneHour // 每小時
)
func (t *TimeSeries) ToString() string {
s, _ := TimeSeriesToString(*t)
return s
}
const (
TimeSeriesUnknownStr = "unknown"
TimeSeriesTenMinutesStr = "ten_minutes"
TimeSeriesHalfHourStr = "half_hour"
TimeSeriesOneHourStr = "one_hour"
)
var timeSeriesToStringMap = map[TimeSeries]string{
TimeSeriesUnknown: TimeSeriesUnknownStr,
TimeSeriesTenMinutes: TimeSeriesTenMinutesStr,
TimeSeriesHalfHour: TimeSeriesHalfHourStr,
TimeSeriesOneHour: TimeSeriesOneHourStr,
}
var stringToTimeSeriesMap = map[string]TimeSeries{
TimeSeriesUnknownStr: TimeSeriesUnknown,
TimeSeriesTenMinutesStr: TimeSeriesTenMinutes,
TimeSeriesHalfHourStr: TimeSeriesHalfHour,
TimeSeriesOneHourStr: TimeSeriesOneHour,
}
// TimeSeriesToString 將 TimeSeries 轉換為字串
func TimeSeriesToString(ts TimeSeries) (string, bool) {
str, ok := timeSeriesToStringMap[ts]
return str, ok
}
// StringToTimeSeries 將字串轉換為 TimeSeries
func StringToTimeSeries(str string) (TimeSeries, bool) {
ts, ok := stringToTimeSeriesMap[str]
return ts, ok
}