camera_config.go 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. package parking
  2. import (
  3. "fmt"
  4. "wails-app/internal/model/common/response"
  5. "wails-app/internal/model/parking/request"
  6. "github.com/gin-gonic/gin"
  7. )
  8. // CreateCamera 保存摄像头和原始 RTSP/HTTP 播放配置。
  9. func CreateCamera(c *gin.Context) {
  10. var req request.CameraCreate
  11. if err := c.ShouldBindJSON(&req); err != nil {
  12. response.FailWithMessage(err.Error(), c)
  13. return
  14. }
  15. if err := passageService.CreateCamera(req); err != nil {
  16. response.FailWithMessage(err.Error(), c)
  17. return
  18. }
  19. response.OkWithMessage("摄像头已创建", c)
  20. }
  21. func UpdateCamera(c *gin.Context) {
  22. var req request.CameraUpdate
  23. if err := c.ShouldBindJSON(&req); err != nil {
  24. response.FailWithMessage(err.Error(), c)
  25. return
  26. }
  27. if err := passageService.UpdateCamera(req); err != nil {
  28. response.FailWithMessage(err.Error(), c)
  29. return
  30. }
  31. response.OkWithMessage("摄像头配置已更新", c)
  32. }
  33. func ListCameras(c *gin.Context) {
  34. var req request.CameraQuery
  35. if err := c.ShouldBindQuery(&req); err != nil {
  36. response.FailWithMessage(err.Error(), c)
  37. return
  38. }
  39. total, list, err := passageService.ListCameras(req)
  40. if err != nil {
  41. response.FailWithMessage(err.Error(), c)
  42. return
  43. }
  44. response.OkWithDetailed(response.PageResult{List: list, Total: total, Page: req.Page, PageSize: req.PageSize}, "查询成功", c)
  45. }
  46. func DeleteCamera(c *gin.Context) {
  47. var id uint
  48. if _, err := fmt.Sscanf(c.Query("id"), "%d", &id); err != nil || id == 0 {
  49. response.FailWithMessage("无效的ID", c)
  50. return
  51. }
  52. if err := passageService.DeleteCamera(id); err != nil {
  53. response.FailWithMessage(err.Error(), c)
  54. return
  55. }
  56. response.OkWithMessage("摄像头已删除", c)
  57. }