package parking import ( "fmt" "wails-app/internal/model/common/response" "wails-app/internal/model/parking/request" "github.com/gin-gonic/gin" ) // CreateCamera 保存摄像头和原始 RTSP/HTTP 播放配置。 func CreateCamera(c *gin.Context) { var req request.CameraCreate if err := c.ShouldBindJSON(&req); err != nil { response.FailWithMessage(err.Error(), c) return } if err := passageService.CreateCamera(req); err != nil { response.FailWithMessage(err.Error(), c) return } response.OkWithMessage("摄像头已创建", c) } func UpdateCamera(c *gin.Context) { var req request.CameraUpdate if err := c.ShouldBindJSON(&req); err != nil { response.FailWithMessage(err.Error(), c) return } if err := passageService.UpdateCamera(req); err != nil { response.FailWithMessage(err.Error(), c) return } response.OkWithMessage("摄像头配置已更新", c) } func ListCameras(c *gin.Context) { var req request.CameraQuery if err := c.ShouldBindQuery(&req); err != nil { response.FailWithMessage(err.Error(), c) return } total, list, err := passageService.ListCameras(req) if err != nil { response.FailWithMessage(err.Error(), c) return } response.OkWithDetailed(response.PageResult{List: list, Total: total, Page: req.Page, PageSize: req.PageSize}, "查询成功", c) } func DeleteCamera(c *gin.Context) { var id uint if _, err := fmt.Sscanf(c.Query("id"), "%d", &id); err != nil || id == 0 { response.FailWithMessage("无效的ID", c) return } if err := passageService.DeleteCamera(id); err != nil { response.FailWithMessage(err.Error(), c) return } response.OkWithMessage("摄像头已删除", c) }