feat: refact id column define

This commit is contained in:
engigu
2026-03-03 17:25:38 +08:00
parent 117ae126f7
commit 4589c64923
62 changed files with 881 additions and 454 deletions
+5 -9
View File
@@ -2,7 +2,6 @@ package controllers
import (
"fmt"
"strconv"
"github.com/engigu/baihu-panel/internal/database"
"github.com/engigu/baihu-panel/internal/models"
@@ -25,10 +24,7 @@ func (lc *LogWSController) StreamLog(c *gin.Context) {
return
}
logID, err := strconv.ParseUint(logIDStr, 10, 32)
if err != nil {
return
}
logID := logIDStr
conn, err := upgrader.Upgrade(c.Writer, c.Request, nil)
if err != nil {
@@ -38,7 +34,7 @@ func (lc *LogWSController) StreamLog(c *gin.Context) {
// 1. 检查数据库中是否已结束
var taskLog models.TaskLog
if err := database.DB.First(&taskLog, uint(logID)).Error; err == nil {
if err := database.DB.Where("id = ?", logID).First(&taskLog).Error; err == nil {
if taskLog.Status != "running" {
// 已结束,读取库内日志
content, err := utils.DecompressFromBase64(taskLog.Output)
@@ -52,14 +48,14 @@ func (lc *LogWSController) StreamLog(c *gin.Context) {
}
// 2. 未结束或未找到记录,尝试从 TinyLogManager 获取
tl := tasks.GetActiveLog(uint(logID))
tl := tasks.GetActiveLog(logID)
if tl == nil {
conn.WriteMessage(websocket.TextMessage, []byte("未找到正在运行的任务日志"))
return
}
// 发送系统提示
conn.WriteMessage(websocket.TextMessage, []byte(fmt.Sprintf("[System] 连接成功,正在监听日志... (LogID: %d)\n", logID)))
conn.WriteMessage(websocket.TextMessage, []byte(fmt.Sprintf("[System] 连接成功,正在监听日志... (LogID: %s)\n", logID)))
// 发送最后 100 行
lastLines, err := tl.ReadLastLines(100)
@@ -78,7 +74,7 @@ func (lc *LogWSController) StreamLog(c *gin.Context) {
if !ok {
// 任务结束,尝试刷新最后一次库内完整内容
var finalLog models.TaskLog
if err := database.DB.First(&finalLog, uint(logID)).Error; err == nil {
if err := database.DB.Where("id = ?", logID).First(&finalLog).Error; err == nil {
content, _ := utils.DecompressFromBase64(finalLog.Output)
if content != "" {
conn.WriteMessage(websocket.TextMessage, []byte("\n--- 任务已结束 ---\n"))