diff --git a/internal/logic/server/getServerUserListLogic.go b/internal/logic/server/getServerUserListLogic.go index 8a871d0..5c551e0 100644 --- a/internal/logic/server/getServerUserListLogic.go +++ b/internal/logic/server/getServerUserListLogic.go @@ -364,10 +364,12 @@ func (l *GetServerUserListLogic) calculateEffectiveSpeedLimit(sub *subscribe.Sub // 如果已使用流量达到或超过阈值,应用限速 if usedGB >= float64(rule.TrafficUsage) { // 如果规则限速大于0,应用该限速 - if rule.SpeedLimit > 0 { + // rule.SpeedLimit 单位是 KB,baseSpeedLimit 单位是 Bytes,需要转换 + ruleSpeedBytes := rule.SpeedLimit * 1024 + if ruleSpeedBytes > 0 { // 如果基础限速为0(无限速)或规则限速更严格,使用规则限速 - if baseSpeedLimit == 0 || rule.SpeedLimit < baseSpeedLimit { - return rule.SpeedLimit + if baseSpeedLimit == 0 || ruleSpeedBytes < baseSpeedLimit { + return ruleSpeedBytes } } }