mirror of
https://github.com/TeaOSLab/EdgeAPI.git
synced 2026-02-07 17:05:37 +08:00
套餐增加请求数(日/月)限制
This commit is contained in:
@@ -20,6 +20,8 @@ const (
|
||||
PlanField_TotalServers dbs.FieldName = "totalServers" // 可以绑定的网站数量
|
||||
PlanField_TotalServerNamesPerServer dbs.FieldName = "totalServerNamesPerServer" // 每个网站可以绑定的域名数量
|
||||
PlanField_TotalServerNames dbs.FieldName = "totalServerNames" // 总域名数量
|
||||
PlanField_MonthlyRequests dbs.FieldName = "monthlyRequests" // 每月访问量额度
|
||||
PlanField_DailyRequests dbs.FieldName = "dailyRequests" // 每日访问量额度
|
||||
)
|
||||
|
||||
// Plan 用户套餐
|
||||
@@ -41,6 +43,8 @@ type Plan struct {
|
||||
TotalServers uint32 `field:"totalServers"` // 可以绑定的网站数量
|
||||
TotalServerNamesPerServer uint32 `field:"totalServerNamesPerServer"` // 每个网站可以绑定的域名数量
|
||||
TotalServerNames uint32 `field:"totalServerNames"` // 总域名数量
|
||||
MonthlyRequests uint64 `field:"monthlyRequests"` // 每月访问量额度
|
||||
DailyRequests uint64 `field:"dailyRequests"` // 每日访问量额度
|
||||
}
|
||||
|
||||
type PlanOperator struct {
|
||||
@@ -61,6 +65,8 @@ type PlanOperator struct {
|
||||
TotalServers any // 可以绑定的网站数量
|
||||
TotalServerNamesPerServer any // 每个网站可以绑定的域名数量
|
||||
TotalServerNames any // 总域名数量
|
||||
MonthlyRequests any // 每月访问量额度
|
||||
DailyRequests any // 每日访问量额度
|
||||
}
|
||||
|
||||
func NewPlanOperator() *PlanOperator {
|
||||
|
||||
@@ -2420,8 +2420,9 @@ func (this *ServerDAO) RenewServerTrafficLimitStatus(tx *dbs.Tx, trafficLimitCon
|
||||
var isChanged = oldStatus.UntilDay != untilDay
|
||||
if isChanged {
|
||||
statusJSON, err := json.Marshal(&serverconfigs.TrafficLimitStatus{
|
||||
UntilDay: untilDay,
|
||||
DateType: dateType,
|
||||
UntilDay: untilDay,
|
||||
DateType: dateType,
|
||||
TargetType: serverconfigs.TrafficLimitTargetTraffic,
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -2444,7 +2445,7 @@ func (this *ServerDAO) RenewServerTrafficLimitStatus(tx *dbs.Tx, trafficLimitCon
|
||||
}
|
||||
|
||||
// UpdateServerTrafficLimitStatus 修改网站的流量限制状态
|
||||
func (this *ServerDAO) UpdateServerTrafficLimitStatus(tx *dbs.Tx, serverId int64, day string, planId int64, dateType string) error {
|
||||
func (this *ServerDAO) UpdateServerTrafficLimitStatus(tx *dbs.Tx, serverId int64, day string, planId int64, dateType string, targetType string) error {
|
||||
if !regexputils.YYYYMMDD.MatchString(day) {
|
||||
return errors.New("invalid 'day' format")
|
||||
}
|
||||
@@ -2475,9 +2476,10 @@ func (this *ServerDAO) UpdateServerTrafficLimitStatus(tx *dbs.Tx, serverId int64
|
||||
}
|
||||
|
||||
var status = &serverconfigs.TrafficLimitStatus{
|
||||
UntilDay: day,
|
||||
PlanId: planId,
|
||||
DateType: dateType,
|
||||
UntilDay: day,
|
||||
PlanId: planId,
|
||||
DateType: dateType,
|
||||
TargetType: targetType,
|
||||
}
|
||||
statusJSON, err = json.Marshal(status)
|
||||
if err != nil {
|
||||
@@ -2494,7 +2496,7 @@ func (this *ServerDAO) UpdateServerTrafficLimitStatus(tx *dbs.Tx, serverId int64
|
||||
}
|
||||
|
||||
// UpdateServersTrafficLimitStatusWithUserPlanId 修改某个套餐下的网站的流量限制状态
|
||||
func (this *ServerDAO) UpdateServersTrafficLimitStatusWithUserPlanId(tx *dbs.Tx, userPlanId int64, day string, planId int64, dateType string) error {
|
||||
func (this *ServerDAO) UpdateServersTrafficLimitStatusWithUserPlanId(tx *dbs.Tx, userPlanId int64, day string, planId int64, dateType string, targetType serverconfigs.TrafficLimitTarget) error {
|
||||
if userPlanId <= 0 {
|
||||
return nil
|
||||
}
|
||||
@@ -2509,7 +2511,7 @@ func (this *ServerDAO) UpdateServersTrafficLimitStatusWithUserPlanId(tx *dbs.Tx,
|
||||
}
|
||||
for _, server := range servers {
|
||||
var serverId = int64(server.(*Server).Id)
|
||||
err = this.UpdateServerTrafficLimitStatus(tx, serverId, day, planId, dateType)
|
||||
err = this.UpdateServerTrafficLimitStatus(tx, serverId, day, planId, dateType, targetType)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user