feat: Add team process API.

This commit is contained in:
2026-02-05 07:58:21 +08:00
parent db00d44a71
commit 1718920250

View File

@@ -486,10 +486,43 @@ func processSingleTeam(idx int, req TeamProcessRequest) (result TeamProcessResul
}
}
// Step 0: 预检查账户状态(封禁/Token过期检测
resolvedProxy := database.Instance.ResolveProxy(req.Proxy)
preChecker := invite.NewWithProxy(owner.Token, resolvedProxy)
accountStatus := preChecker.CheckAccountStatus()
if accountStatus.Status == "banned" {
logger.Error(fmt.Sprintf("%s 母号被封禁,跳过处理: %s", logPrefix, accountStatus.Error), owner.Email, "team")
if database.Instance != nil {
database.Instance.MarkOwnerAsInvalid(owner.Email)
database.Instance.DeleteTeamOwnerByEmail(owner.Email)
logger.Info(fmt.Sprintf("%s 封禁母号已删除: %s", logPrefix, owner.Email), owner.Email, "team")
}
result.Errors = append(result.Errors, "账户被封禁")
result.DurationMs = time.Since(startTime).Milliseconds()
return result
}
if accountStatus.Status == "token_expired" {
logger.Error(fmt.Sprintf("%s Token已过期跳过处理", logPrefix), owner.Email, "team")
if database.Instance != nil {
database.Instance.MarkOwnerAsInvalid(owner.Email)
database.Instance.DeleteTeamOwnerByEmail(owner.Email)
logger.Info(fmt.Sprintf("%s Token过期母号已删除: %s", logPrefix, owner.Email), owner.Email, "team")
}
result.Errors = append(result.Errors, "Token已过期")
result.DurationMs = time.Since(startTime).Milliseconds()
return result
}
if accountStatus.Status == "error" {
logger.Warning(fmt.Sprintf("%s 账户状态检查失败: %s继续尝试", logPrefix, accountStatus.Error), owner.Email, "team")
} else {
logger.Info(fmt.Sprintf("%s 账户状态正常: %s", logPrefix, accountStatus.PlanType), owner.Email, "team")
}
// Step 1: 获取 Team ID优先使用已存储的 account_id
var teamID string
// Resolve proxy for inviter
resolvedProxy := database.Instance.ResolveProxy(req.Proxy)
inviter := invite.NewWithProxy(owner.Token, resolvedProxy)
if owner.AccountID != "" {