package handler import ( "github.com/gin-gonic/gin" "laic-backend/common" "laic-backend/service" "laic-backend/vo" ) // GetDockPage 机巢分页列表 func GetDockPage(c *gin.Context) { var req vo.DockPageReq _ = c.ShouldBindQuery(&req) if req.PageNum <= 0 { req.PageNum = 1 } if req.PageSize <= 0 { req.PageSize = 10 } page, busiErr := service.DefaultDockService.GetPage(common.GetUserId(c), common.IsAdmin(c), &req) if busiErr != nil { common.FailWithBusiError(c, busiErr) return } common.OKWithData(c, page) } // GetDock 机巢详情 func GetDock(c *gin.Context) { id, busiErr := parseID(c) if busiErr != nil { common.FailWithBusiError(c, busiErr) return } dock, busiErr := service.DefaultDockService.GetDetail(common.GetUserId(c), common.IsAdmin(c), id) if busiErr != nil { common.FailWithBusiError(c, busiErr) return } common.OKWithData(c, dock) } // GetDockStatus 机巢实时状态 func GetDockStatus(c *gin.Context) { id, busiErr := parseID(c) if busiErr != nil { common.FailWithBusiError(c, busiErr) return } status, busiErr := service.DefaultDockService.GetStatus(common.GetUserId(c), common.IsAdmin(c), id) if busiErr != nil { common.FailWithBusiError(c, busiErr) return } common.OKWithData(c, status) } // CreateDock 手动登记机巢 func CreateDock(c *gin.Context) { var req vo.DockCreateReq if err := c.ShouldBindJSON(&req); err != nil { common.FailWithBindError(c, common.ErrParam, err) return } dock, busiErr := service.DefaultDockService.Create(common.GetUserId(c), common.IsAdmin(c), &req) if busiErr != nil { common.FailWithBusiError(c, busiErr) return } common.OKWithData(c, dock) } // UpdateDock 更新/认领机巢 func UpdateDock(c *gin.Context) { id, busiErr := parseID(c) if busiErr != nil { common.FailWithBusiError(c, busiErr) return } var req vo.DockUpdateReq if err := c.ShouldBindJSON(&req); err != nil { common.FailWithBindError(c, common.ErrParam, err) return } dock, busiErr := service.DefaultDockService.Update(common.GetUserId(c), common.IsAdmin(c), id, &req) if busiErr != nil { common.FailWithBusiError(c, busiErr) return } common.OKWithData(c, dock) } // DeleteDock 删除机巢 func DeleteDock(c *gin.Context) { id, busiErr := parseID(c) if busiErr != nil { common.FailWithBusiError(c, busiErr) return } if busiErr := service.DefaultDockService.Delete(common.GetUserId(c), common.IsAdmin(c), id); busiErr != nil { common.FailWithBusiError(c, busiErr) return } common.OK(c) }