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" ) // CreateChannel 创建通道 func CreateChannel(c *gin.Context) { var req request.ChannelCreate if err := c.ShouldBindJSON(&req); err != nil { response.FailWithMessage(err.Error(), c) return } err := parking.ChannelService.CreateChannel(req) if err != nil { response.FailWithMessage(err.Error(), c) return } response.OkWithMessage("创建成功", c) } // UpdateChannel 更新通道 func UpdateChannel(c *gin.Context) { var req request.ChannelUpdate if err := c.ShouldBindJSON(&req); err != nil { response.FailWithMessage(err.Error(), c) return } err := parking.ChannelService.UpdateChannel(req) if err != nil { response.FailWithMessage(err.Error(), c) return } response.OkWithMessage("更新成功", c) } // GetChannelByID 根据ID获取通道 func GetChannelByID(c *gin.Context) { id := c.Query("id") uintID := uint(0) _, err := fmt.Sscanf(id, "%d", &uintID) if err != nil { response.FailWithMessage("无效的ID", c) return } channel, err := parking.ChannelService.GetChannelByID(uintID) if err != nil { response.FailWithMessage(err.Error(), c) return } response.OkWithData(channel, c) } // GetChannelByCode 根据编码获取通道 func GetChannelByCode(c *gin.Context) { code := c.Query("code") if code == "" { response.FailWithMessage("通道编码不能为空", c) return } channel, err := parking.ChannelService.GetChannelByCode(code) if err != nil { response.FailWithMessage(err.Error(), c) return } response.OkWithData(channel, c) } // ListChannels 获取通道列表 func ListChannels(c *gin.Context) { var req request.ChannelQuery if err := c.ShouldBindQuery(&req); err != nil { response.FailWithMessage(err.Error(), c) return } total, list, err := parking.ChannelService.ListChannels(req) if err != nil { response.FailWithMessage(err.Error(), c) return } response.OkWithData(parkingResponse.ChannelList{ Total: total, List: list, }, c) } // DeleteChannel 删除通道 func DeleteChannel(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.ChannelService.DeleteChannel(uintID) if err != nil { response.FailWithMessage(err.Error(), c) return } response.OkWithMessage("删除成功", c) }