package parking import ( "fmt" "server/model/common/response" "server/model/parking/request" parkingResponse "server/model/parking/response" "server/service/parking" "github.com/gin-gonic/gin" ) // CreateBooth 创建岗亭 func CreateBooth(c *gin.Context) { var req request.BoothCreate if err := c.ShouldBindJSON(&req); err != nil { response.FailWithMessage(err.Error(), c) return } err := parking.BoothService.CreateBooth(req) if err != nil { response.FailWithMessage(err.Error(), c) return } response.OkWithMessage("创建成功", c) } // UpdateBooth 更新岗亭 func UpdateBooth(c *gin.Context) { var req request.BoothUpdate if err := c.ShouldBindJSON(&req); err != nil { response.FailWithMessage(err.Error(), c) return } err := parking.BoothService.UpdateBooth(req) if err != nil { response.FailWithMessage(err.Error(), c) return } response.OkWithMessage("更新成功", c) } // GetBoothByID 根据ID获取岗亭 func GetBoothByID(c *gin.Context) { id := c.Query("id") uintID := uint(0) _, err := fmt.Sscanf(id, "%d", &uintID) if err != nil { response.FailWithMessage("无效的ID", c) return } booth, err := parking.BoothService.GetBoothByID(uintID) if err != nil { response.FailWithMessage(err.Error(), c) return } response.OkWithData(booth, c) } // GetBoothByCode 根据编码获取岗亭 func GetBoothByCode(c *gin.Context) { code := c.Query("code") if code == "" { response.FailWithMessage("岗亭编码不能为空", c) return } booth, err := parking.BoothService.GetBoothByCode(code) if err != nil { response.FailWithMessage(err.Error(), c) return } response.OkWithData(booth, c) } // ListBooths 获取岗亭列表 func ListBooths(c *gin.Context) { var req request.BoothQuery if err := c.ShouldBindQuery(&req); err != nil { response.FailWithMessage(err.Error(), c) return } total, list, err := parking.BoothService.ListBooths(req) if err != nil { response.FailWithMessage(err.Error(), c) return } response.OkWithData(parkingResponse.BoothList{ Total: total, List: list, }, c) } // DeleteBooth 删除岗亭 func DeleteBooth(c *gin.Context) { id := c.Query("id") uintID := uint(0) _, err := fmt.Sscanf(id, "%d", &uintID) if err != nil { response.FailWithMessage("无效的ID", c) return } err = parking.BoothService.DeleteBooth(uintID) if err != nil { response.FailWithMessage(err.Error(), c) return } response.OkWithMessage("删除成功", c) }