Initial commit (code only without large binaries)
This commit is contained in:
63
EdgeCommon/pkg/userconfigs/user_traffic_package_plus.go
Normal file
63
EdgeCommon/pkg/userconfigs/user_traffic_package_plus.go
Normal file
@@ -0,0 +1,63 @@
|
||||
// Copyright 2022 Liuxiangchao iwind.liu@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
||||
//go:build plus
|
||||
|
||||
package userconfigs
|
||||
|
||||
type TrafficPackagePeriod = string
|
||||
|
||||
const (
|
||||
TrafficPackagePeriodMonth TrafficPackagePeriod = "month"
|
||||
TrafficPackagePeriodYear TrafficPackagePeriod = "year"
|
||||
)
|
||||
|
||||
func IsValidTrafficPackagePeriod(period string) bool {
|
||||
return period == TrafficPackagePeriodMonth || period == TrafficPackagePeriodYear
|
||||
}
|
||||
|
||||
func TrafficPackagePeriodToMonths(count int32, unit TrafficPackagePeriod) int32 {
|
||||
if count < 0 {
|
||||
return count
|
||||
}
|
||||
|
||||
switch unit {
|
||||
case TrafficPackagePeriodMonth:
|
||||
return count
|
||||
case TrafficPackagePeriodYear:
|
||||
return count * 12
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func TrafficPackagePeriodUnitName(unit TrafficPackagePeriod) string {
|
||||
switch unit {
|
||||
case TrafficPackagePeriodMonth:
|
||||
return "个月"
|
||||
case TrafficPackagePeriodYear:
|
||||
return "年"
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
type PackageSizeUnit = string
|
||||
|
||||
const (
|
||||
TrafficPackageSizeUnitGB PackageSizeUnit = "gb"
|
||||
TrafficPackageSizeUnitTB PackageSizeUnit = "tb"
|
||||
TrafficPackageSizeUnitPB PackageSizeUnit = "pb"
|
||||
)
|
||||
|
||||
func IsValidTrafficPackageSizeUnit(unit string) bool {
|
||||
return unit == TrafficPackageSizeUnitGB || unit == TrafficPackageSizeUnitTB || unit == TrafficPackageSizeUnitPB
|
||||
}
|
||||
|
||||
func TrafficPackageSizeBytes(count int32, unit PackageSizeUnit) int64 {
|
||||
switch unit {
|
||||
case TrafficPackageSizeUnitGB:
|
||||
return int64(count) * (1 << 30)
|
||||
case TrafficPackageSizeUnitTB:
|
||||
return int64(count) * (1 << 40)
|
||||
case TrafficPackageSizeUnitPB:
|
||||
return int64(count) * (1 << 50)
|
||||
}
|
||||
return 0
|
||||
}
|
||||
Reference in New Issue
Block a user