This commit is contained in:
xueshiji
2026-07-01 14:34:57 +08:00
parent 8b46994dc2
commit e998f8044b
3 changed files with 8 additions and 3 deletions
@@ -344,6 +344,10 @@ func TestAPIContracts(t *testing.T) {
"description": "desc",
"platform": "anthropic",
"rate_multiplier": 1.5,
"peak_rate_enabled": false,
"peak_start": "",
"peak_end": "",
"peak_rate_multiplier": 0,
"is_exclusive": false,
"status": "active",
"subscription_type": "standard",
+3 -2
View File
@@ -26,8 +26,8 @@ type Group struct {
PeakEnd string
PeakRateMultiplier float64
IsExclusive bool
Status string
Hydrated bool // indicates the group was loaded from a trusted repository source
Status string
Hydrated bool // indicates the group was loaded from a trusted repository source
SubscriptionType string
DailyLimitUSD *float64
@@ -190,6 +190,7 @@ func parseMinutes(hhmm string) (int, bool) {
// - 未启用 / 未配置 / 配置非法(start>=end 或格式错误) / 非高峰时段 → 返回 1.0(安全降级)
// - 区间为左闭右开 [PeakStart, PeakEnd),仅支持当日区间,不支持跨天(如 22:00-次日02:00)
// - 时刻基于全局系统时区(timezone.Location)判定
//
// 该方法是纯函数,不读取任何外部状态,便于单测。
func (g *Group) PeakMultiplierAt(now time.Time) float64 {
if g == nil || !g.IsSubscriptionType() || !g.PeakRateEnabled || g.PeakStart == "" || g.PeakEnd == "" {
@@ -24,9 +24,9 @@ import (
"github.com/Wei-Shaw/sub2api/internal/pkg/apicompat"
"github.com/Wei-Shaw/sub2api/internal/pkg/ip"
"github.com/Wei-Shaw/sub2api/internal/pkg/logger"
"github.com/Wei-Shaw/sub2api/internal/pkg/timezone"
"github.com/Wei-Shaw/sub2api/internal/pkg/openai"
"github.com/Wei-Shaw/sub2api/internal/pkg/openai_compat"
"github.com/Wei-Shaw/sub2api/internal/pkg/timezone"
"github.com/Wei-Shaw/sub2api/internal/pkg/xai"
"github.com/Wei-Shaw/sub2api/internal/util/responseheaders"
"github.com/Wei-Shaw/sub2api/internal/util/urlvalidator"