-
Notifications
You must be signed in to change notification settings - Fork 603
/
RateModule.go
62 lines (55 loc) · 1.79 KB
/
RateModule.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
package module
import (
"goku-ce/server/dao"
"goku-ce/server/conf"
)
// 新增流量限制
func AddRateLimit(gatewayAlias,strategyID,period string,startTime,endTime,priority,limitCount int,allow bool) bool {
// 获取网关配置路径
flag,gateway := dao.GetGatewayConfPath(gatewayAlias)
if flag {
return dao.AddRateLimit(gateway["strategyConfPath"],strategyID,period,startTime,endTime,priority,limitCount,allow)
}else {
return false
}
}
// 修改流量限制
func EditRateLimit(gatewayAlias,strategyID,period string,rateLimitID,startTime,endTime,priority,limitCount int,allow bool) bool {
// 获取网关配置路径
flag,gateway := dao.GetGatewayConfPath(gatewayAlias)
if flag {
return dao.EditRateLimit(gateway["strategyConfPath"],strategyID,period,rateLimitID,startTime,endTime,priority,limitCount,allow)
}else {
return false
}
}
// 删除流量限制
func DeleteRateLimit(gatewayAlias,strategyID string,rateLimitID int) bool {
// 获取网关配置路径
flag,gateway := dao.GetGatewayConfPath(gatewayAlias)
if flag {
return dao.DeleteRateLimit(gateway["strategyConfPath"],strategyID,rateLimitID)
}else {
return false
}
}
// 获取流量限制列表
func GetRateLimitInfo(gatewayAlias,strategyID string,limitID int) (bool,*conf.RateLimitInfo) {
// 获取网关配置路径
flag,gateway := dao.GetGatewayConfPath(gatewayAlias)
if flag {
return dao.GetRateLimitInfo(gateway["strategyConfPath"],strategyID,limitID)
}else {
return false,&conf.RateLimitInfo{}
}
}
// 获取流量限制列表
func GetRateLimitList(gatewayAlias,strategyID string) []map[string]interface{}{
// 获取网关配置路径
flag,gateway := dao.GetGatewayConfPath(gatewayAlias)
if flag {
return dao.GetRateLimitList(gateway["strategyConfPath"],strategyID)
}else {
return make([]map[string]interface{},0)
}
}