Files
waf-platform/EdgeAPI/internal/db/models/plan_model_ext_plus.go

81 lines
1.9 KiB
Go

//go:build plus
package models
import (
"encoding/json"
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs"
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared"
"github.com/iwind/TeaGo/logs"
)
// DecodeTrafficPrice 解析流量价格配置
func (this *Plan) DecodeTrafficPrice() *serverconfigs.PlanTrafficPriceConfig {
var config = &serverconfigs.PlanTrafficPriceConfig{}
if len(this.TrafficPrice) == 0 {
return config
}
err := json.Unmarshal(this.TrafficPrice, config)
if err != nil {
logs.Error(err)
}
return config
}
// DecodeBandwidthPrice 解析带宽价格配置
func (this *Plan) DecodeBandwidthPrice() *serverconfigs.PlanBandwidthPriceConfig {
var config = &serverconfigs.PlanBandwidthPriceConfig{}
if len(this.BandwidthPrice) == 0 {
return config
}
err := json.Unmarshal(this.BandwidthPrice, config)
if err != nil {
logs.Error(err)
}
return config
}
// DecodeTrafficLimit 解析流量限制
func (this *Plan) DecodeTrafficLimit() *serverconfigs.TrafficLimitConfig {
if IsNull(this.TrafficLimit) {
return nil
}
var trafficLimitConfig = &serverconfigs.TrafficLimitConfig{}
err := json.Unmarshal(this.TrafficLimit, trafficLimitConfig)
if err != nil {
logs.Error(err)
}
return trafficLimitConfig
}
// DecodeBandwidthLimitPerNode 解析单节点流量限制
func (this *Plan) DecodeBandwidthLimitPerNode() *shared.BitSizeCapacity {
if IsNull(this.BandwidthLimitPerNode) {
return nil
}
var capacity = &shared.BitSizeCapacity{}
err := json.Unmarshal(this.BandwidthLimitPerNode, capacity)
if err != nil {
logs.Error(err)
}
return capacity
}
// DecodeMaxUploadSize 解析文件上传最大尺寸
func (this *Plan) DecodeMaxUploadSize() *shared.SizeCapacity {
var size = &shared.SizeCapacity{Unit: shared.SizeCapacityUnitGB}
if IsNotNull(this.MaxUploadSize) {
err := json.Unmarshal(this.MaxUploadSize, size)
if err != nil {
logs.Error(err)
}
}
return size
}