refactor: 统一使用 mergeMap 函数提升代码一致性
根据 Gemini CLI 代码审查建议: ## 修改内容 - 将 Gemini OAuth 同步中的 `mergeJSONB` 调用替换为 `mergeMap` - 删除不再使用的 `mergeJSONB` 函数定义 ## 原因 - 其他平台(OpenAI、Anthropic)的账户同步都使用 `mergeMap` - `mergeJSONB` 是为旧的 `model.JSONB` 类型设计,与重构后的架构不一致 - 统一函数命名提高代码可读性和可维护性 ## 影响范围 - backend/internal/service/crs_sync_service.go (4处替换) - backend/internal/service/account.go (删除 mergeJSONB 函数) ## 验证 ✓ 编译通过 ✓ 功能逻辑无变化(mergeMap 和 mergeJSONB 实现相同)
This commit is contained in:
@@ -326,17 +326,3 @@ func (a *Account) IsOpenAITokenExpired() bool {
|
||||
}
|
||||
return time.Now().Add(60 * time.Second).After(*expiresAt)
|
||||
}
|
||||
|
||||
// mergeJSONB merges source map into target map (for preserving extra fields during account sync)
|
||||
func mergeJSONB(target, source map[string]any) map[string]any {
|
||||
if target == nil {
|
||||
target = make(map[string]any)
|
||||
}
|
||||
if source == nil {
|
||||
return target
|
||||
}
|
||||
for k, v := range source {
|
||||
target[k] = v
|
||||
}
|
||||
return target
|
||||
}
|
||||
|
||||
@@ -801,11 +801,11 @@ func (s *CRSSyncService) SyncFromCRS(ctx context.Context, input SyncFromCRSInput
|
||||
continue
|
||||
}
|
||||
|
||||
existing.Extra = mergeJSONB(existing.Extra, extra)
|
||||
existing.Extra = mergeMap(existing.Extra, extra)
|
||||
existing.Name = defaultName(src.Name, src.ID)
|
||||
existing.Platform = PlatformGemini
|
||||
existing.Type = AccountTypeOAuth
|
||||
existing.Credentials = mergeJSONB(existing.Credentials, credentials)
|
||||
existing.Credentials = mergeMap(existing.Credentials, credentials)
|
||||
if proxyID != nil {
|
||||
existing.ProxyID = proxyID
|
||||
}
|
||||
@@ -908,11 +908,11 @@ func (s *CRSSyncService) SyncFromCRS(ctx context.Context, input SyncFromCRSInput
|
||||
continue
|
||||
}
|
||||
|
||||
existing.Extra = mergeJSONB(existing.Extra, extra)
|
||||
existing.Extra = mergeMap(existing.Extra, extra)
|
||||
existing.Name = defaultName(src.Name, src.ID)
|
||||
existing.Platform = PlatformGemini
|
||||
existing.Type = AccountTypeApiKey
|
||||
existing.Credentials = mergeJSONB(existing.Credentials, credentials)
|
||||
existing.Credentials = mergeMap(existing.Credentials, credentials)
|
||||
if proxyID != nil {
|
||||
existing.ProxyID = proxyID
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user