package handler import ( "strconv" "github.com/casehub/ticket-workbench/internal/dto" "github.com/casehub/ticket-workbench/internal/middleware" "github.com/casehub/ticket-workbench/internal/service" "github.com/gin-gonic/gin" "gorm.io/gorm" ) func ListNotes(db *gorm.DB) gin.HandlerFunc { return func(c *gin.Context) { idStr := c.Param("id") id, err := strconv.Atoi(idStr) if err != nil { c.JSON(200, dto.Fail("参数错误")) return } notes, err := service.ListNotes(db, id) if err != nil { c.JSON(200, dto.Fail("查询失败")) return } c.JSON(200, dto.Success(notes)) } } func AddNote(db *gorm.DB) gin.HandlerFunc { return func(c *gin.Context) { idStr := c.Param("id") id, err := strconv.Atoi(idStr) if err != nil { c.JSON(200, dto.Fail("参数错误")) return } var req dto.AddNoteRequest if err := c.ShouldBindJSON(&req); err != nil { c.JSON(200, dto.Fail("参数错误")) return } user := middleware.GetCurrentUser(c) if user == nil { c.JSON(200, dto.Fail("未登录")) return } note, err := service.AddNote(db, id, user.Userid, req.Content) if err != nil { c.JSON(200, dto.Fail("添加失败")) return } c.JSON(200, dto.Success(note)) } }