修复(#8): 分组管理核心缺陷与测试覆盖 (#11)

Co-authored-by: multica-agent <github@multica.ai>
This commit is contained in:
2026-06-04 03:13:38 -07:00
committed by GitHub
parent 377f13da48
commit 34cd1c524e
10 changed files with 510 additions and 74 deletions
@@ -4,6 +4,7 @@ import (
"bytes"
"context"
"encoding/csv"
"encoding/json"
"fmt"
"github.com/perfect-panel/server/internal/model/group"
@@ -52,10 +53,9 @@ func (l *ExportGroupResultLogic) ExportGroupResult(req *types.ExportGroupResultR
Email string `json:"email"`
}
var users []UserInfo
if err := l.svcCtx.DB.Raw("SELECT * FROM JSON_ARRAY(?)", detail.UserData).Scan(&users).Error; err != nil {
// 如果解析失败,尝试用标准 JSON 解析
if err := json.Unmarshal([]byte(detail.UserData), &users); err != nil {
logger.Errorf("failed to parse user data: %v", err)
continue
return nil, "", fmt.Errorf("parse group history user_data failed: %w", err)
}
// 查询节点组名称
@@ -123,7 +123,10 @@ func (l *ExportGroupResultLogic) ExportGroupResult(req *types.ExportGroupResultR
result = append(result, csvData...)
// 生成文件名
filename := fmt.Sprintf("group_result_%d.csv", req.HistoryId)
filename := "group_result_current.csv"
if req.HistoryId != nil {
filename = fmt.Sprintf("group_result_%d.csv", *req.HistoryId)
}
return result, filename, nil
}