Skip to content

Commit af19d44

Browse files
feat(proxies): 代理有效期与失败回退
- schema/迁移: 代理有效期、提醒天数、失败回退配置 + 账号 fallback 来源字段 - service/repo/DTO/handler: CRUD 透传新字段 + 校验 - fallback 目标解析纯函数(链式解析 + 环检测 + 兜底) - SweepExpiredProxies 到期改投账号 + outbox 失效 - ProxyExpiryService 后台到期扫描任务 + wire 注册 - 账号侧手动回切原代理 + fallback 来源徽章/按钮 - 前端: 创建/编辑表单、列表到期徽章、类型/API/i18n - ops 告警: proxy_expired_count / proxy_expiring_soon_count 指标 - 导入导出携带有效期/回退字段(备用按 name 映射) - 补全测试 stub + 集成测试 + review 问题修复
1 parent f20e6bf commit af19d44

61 files changed

Lines changed: 3430 additions & 281 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎backend/cmd/server/wire.go‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ func provideCleanup(
8181
schedulerSnapshot *service.SchedulerSnapshotService,
8282
tokenRefresh *service.TokenRefreshService,
8383
accountExpiry *service.AccountExpiryService,
84+
proxyExpiry *service.ProxyExpiryService,
8485
subscriptionExpiry *service.SubscriptionExpiryService,
8586
usageCleanup *service.UsageCleanupService,
8687
idempotencyCleanup *service.IdempotencyCleanupService,
@@ -173,6 +174,10 @@ func provideCleanup(
173174
accountExpiry.Stop()
174175
return nil
175176
}},
177+
{"ProxyExpiryService", func() error {
178+
proxyExpiry.Stop()
179+
return nil
180+
}},
176181
{"SubscriptionExpiryService", func() error {
177182
subscriptionExpiry.Stop()
178183
return nil

‎backend/cmd/server/wire_gen.go‎

Lines changed: 8 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎backend/cmd/server/wire_gen_test.go‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ func TestProvideCleanup_WithMinimalDependencies_NoPanic(t *testing.T) {
4040
nil,
4141
)
4242
accountExpirySvc := service.NewAccountExpiryService(nil, time.Second)
43+
proxyExpirySvc := service.NewProxyExpiryService(nil, time.Second)
4344
subscriptionExpirySvc := service.NewSubscriptionExpiryService(nil, time.Second)
4445
pricingSvc := service.NewPricingService(cfg, nil)
4546
emailQueueSvc := service.NewEmailQueueService(nil, 1)
@@ -60,6 +61,7 @@ func TestProvideCleanup_WithMinimalDependencies_NoPanic(t *testing.T) {
6061
schedulerSnapshotSvc,
6162
tokenRefreshSvc,
6263
accountExpirySvc,
64+
proxyExpirySvc,
6365
subscriptionExpirySvc,
6466
&service.UsageCleanupService{},
6567
idempotencyCleanupSvc,

‎backend/ent/account.go‎

Lines changed: 15 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎backend/ent/account/account.go‎

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎backend/ent/account/where.go‎

Lines changed: 55 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎backend/ent/account_create.go‎

Lines changed: 98 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)