diff --git a/internal/repository/token_repository.go b/internal/repository/token_repository.go index 9fd6d97..0200783 100644 --- a/internal/repository/token_repository.go +++ b/internal/repository/token_repository.go @@ -204,8 +204,18 @@ func (r *TokenRepository) Delete(id int64) error { } // GetEnabledTokens 获取所有启用状态的Token +// 优先返回有 login_name 的记录(老的空 login_name 记录被忽略) func (r *TokenRepository) GetEnabledTokens() ([]*KfzToken, error) { - query := `SELECT id, login_name, username, password, token, is_enable FROM kfz_token WHERE is_enable = 1 ORDER BY id ASC` + // 先查有无 login_name 不为空的记录 + var hasLoginName int + database.DB.QueryRow("SELECT COUNT(*) FROM kfz_token WHERE is_enable = 1 AND login_name != ''").Scan(&hasLoginName) + + var query string + if hasLoginName > 0 { + query = `SELECT id, login_name, username, password, token, is_enable FROM kfz_token WHERE is_enable = 1 AND login_name != '' ORDER BY id ASC` + } else { + query = `SELECT id, login_name, username, password, token, is_enable FROM kfz_token WHERE is_enable = 1 ORDER BY id ASC` + } rows, err := database.DB.Query(query) if err != nil {