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" ) // CreateParkingLot 创建停车区域 func CreateParkingLot(c *gin.Context) { var req request.ParkingLotCreate if err := c.ShouldBindJSON(&req); err != nil { response.FailWithMessage(err.Error(), c) return } err := parking.ParkingLotService.CreateParkingLot(req) if err != nil { response.FailWithMessage(err.Error(), c) return } response.OkWithMessage("创建成功", c) } // UpdateParkingLot 更新停车区域 func UpdateParkingLot(c *gin.Context) { var req request.ParkingLotUpdate if err := c.ShouldBindJSON(&req); err != nil { response.FailWithMessage(err.Error(), c) return } err := parking.ParkingLotService.UpdateParkingLot(req) if err != nil { response.FailWithMessage(err.Error(), c) return } response.OkWithMessage("更新成功", c) } // GetParkingLotByID 根据ID获取停车区域 func GetParkingLotByID(c *gin.Context) { id := c.Query("id") uintID := uint(0) _, err := fmt.Sscanf(id, "%d", &uintID) if err != nil { response.FailWithMessage("无效的ID", c) return } lot, err := parking.ParkingLotService.GetParkingLotByID(uintID) if err != nil { response.FailWithMessage(err.Error(), c) return } response.OkWithData(lot, c) } // GetParkingLotByCode 根据编码获取停车区域 func GetParkingLotByCode(c *gin.Context) { code := c.Query("code") if code == "" { response.FailWithMessage("区域编码不能为空", c) return } lot, err := parking.ParkingLotService.GetParkingLotByCode(code) if err != nil { response.FailWithMessage(err.Error(), c) return } response.OkWithData(lot, c) } // ListParkingLots 获取停车区域列表 func ListParkingLots(c *gin.Context) { var req request.ParkingLotQuery if err := c.ShouldBindQuery(&req); err != nil { response.FailWithMessage(err.Error(), c) return } total, list, err := parking.ParkingLotService.ListParkingLots(req) if err != nil { response.FailWithMessage(err.Error(), c) return } response.OkWithData(parkingResponse.ParkingLotList{ Total: total, List: list, }, c) } // DeleteParkingLot 删除停车区域 func DeleteParkingLot(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.ParkingLotService.DeleteParkingLot(uintID) if err != nil { response.FailWithMessage(err.Error(), c) return } response.OkWithMessage("删除成功", c) }