File size: 3,972 Bytes
69b897d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
/**
 * 测试专属账号显示问题
 */

const redis = require('../src/models/redis')

async function testDedicatedAccounts() {
  console.log('🔍 检查专属账号...\n')

  try {
    // 确保 Redis 已连接
    await redis.connect()

    // 获取所有 Claude 账号
    const claudeKeys = await redis.client.keys('claude:account:*')
    console.log(`找到 ${claudeKeys.length} 个 Claude 账号\n`)

    const dedicatedAccounts = []
    const groupAccounts = []
    const sharedAccounts = []

    for (const key of claudeKeys) {
      const account = await redis.client.hgetall(key)
      const accountType = account.accountType || 'shared'

      const accountInfo = {
        id: account.id,
        name: account.name,
        accountType,
        status: account.status,
        isActive: account.isActive,
        createdAt: account.createdAt
      }

      if (accountType === 'dedicated') {
        dedicatedAccounts.push(accountInfo)
      } else if (accountType === 'group') {
        groupAccounts.push(accountInfo)
      } else {
        sharedAccounts.push(accountInfo)
      }
    }

    console.log('📊 账号统计:')
    console.log(`- 专属账号: ${dedicatedAccounts.length} 个`)
    console.log(`- 分组账号: ${groupAccounts.length} 个`)
    console.log(`- 共享账号: ${sharedAccounts.length} 个`)
    console.log('')

    if (dedicatedAccounts.length > 0) {
      console.log('✅ 专属账号列表:')
      dedicatedAccounts.forEach((acc) => {
        console.log(`  - ${acc.name} (ID: ${acc.id}, 状态: ${acc.status})`)
      })
      console.log('')
    } else {
      console.log('⚠️  没有找到专属账号!')
      console.log('💡 提示: 请确保在账号管理页面将账号类型设置为"专属账户"')
      console.log('')
    }

    if (groupAccounts.length > 0) {
      console.log('📁 分组账号列表:')
      groupAccounts.forEach((acc) => {
        console.log(`  - ${acc.name} (ID: ${acc.id}, 状态: ${acc.status})`)
      })
      console.log('')
    }

    // 检查分组
    const groupKeys = await redis.client.keys('account_group:*')
    console.log(`\n找到 ${groupKeys.length} 个账号分组`)

    if (groupKeys.length > 0) {
      console.log('📋 分组列表:')
      for (const key of groupKeys) {
        const group = await redis.client.hgetall(key)
        console.log(
          `  - ${group.name} (平台: ${group.platform}, 成员数: ${group.memberCount || 0})`
        )
      }
    }

    // 检查 Claude Console 账号
    const consoleKeys = await redis.client.keys('claude_console_account:*')
    console.log(`\n找到 ${consoleKeys.length} 个 Claude Console 账号`)

    const dedicatedConsoleAccounts = []
    const groupConsoleAccounts = []

    for (const key of consoleKeys) {
      const account = await redis.client.hgetall(key)
      const accountType = account.accountType || 'shared'

      if (accountType === 'dedicated') {
        dedicatedConsoleAccounts.push({
          id: account.id,
          name: account.name,
          accountType,
          status: account.status
        })
      } else if (accountType === 'group') {
        groupConsoleAccounts.push({
          id: account.id,
          name: account.name,
          accountType,
          status: account.status
        })
      }
    }

    if (dedicatedConsoleAccounts.length > 0) {
      console.log('\n✅ Claude Console 专属账号:')
      dedicatedConsoleAccounts.forEach((acc) => {
        console.log(`  - ${acc.name} (ID: ${acc.id}, 状态: ${acc.status})`)
      })
    }

    if (groupConsoleAccounts.length > 0) {
      console.log('\n📁 Claude Console 分组账号:')
      groupConsoleAccounts.forEach((acc) => {
        console.log(`  - ${acc.name} (ID: ${acc.id}, 状态: ${acc.status})`)
      })
    }
  } catch (error) {
    console.error('❌ 错误:', error)
    console.error(error.stack)
  } finally {
    process.exit(0)
  }
}

testDedicatedAccounts()