package api import ( "github.com/gin-gonic/gin" "server/dao" "server/logger" "server/model" "server/service" "server/utils" ) func LoadData(c *gin.Context) { data, err := utils.LoadData() if err != nil { logger.Get().Error(err.Error()) model.FailWithMessage(err.Error(), c) return } model.OkWithData(data, c) } func SaveDevice(c *gin.Context) { var regions []dao.Region err := c.ShouldBindJSON(®ions) if err != nil { logger.Get().Error(err.Error()) model.FailWithMessage(err.Error(), c) return } err = service.SaveData(regions) if err != nil { logger.Get().Error(err.Error()) model.FailWithMessage(err.Error(), c) return } model.Ok(c) } // DeviceLoopSwitch 指定设备回路进行开关灯操作 func DeviceLoopSwitch(c *gin.Context) { var deviceLoop dao.DeviceLoop err := c.ShouldBindJSON(&deviceLoop) if err != nil { logger.Get().Error(err.Error()) model.FailWithMessage(err.Error(), c) return } err = service.DeviceLoopSwitch(deviceLoop) if err != nil { logger.Get().Error(err.Error()) model.FailWithMessage(err.Error(), c) return } model.Ok(c) } // DeviceSwitch 指定设备进行开关灯操作 func DeviceSwitch(c *gin.Context) { var req model.DeviceRequest err := c.ShouldBindJSON(&req) if err != nil { model.FailWithMessage(err.Error(), c) return } err = service.DeviceSwitch(req) if err != nil { logger.Get().Error(err.Error()) model.FailWithMessage(err.Error(), c) return } model.Ok(c) } // BatchDeviceSwitch 设备批量开关 func BatchDeviceSwitch(c *gin.Context) { var req model.DevicesRequest err := c.ShouldBindJSON(&req) if err != nil { model.FailWithMessage(err.Error(), c) return } err = service.DeviceBatchSwitch(req) if err != nil { logger.Get().Error(err.Error()) model.FailWithMessage(err.Error(), c) return } model.Ok(c) } func GetOnlineDevice(c *gin.Context) { total, online := service.GetOnlineDevice() model.OkWithDetailed(gin.H{ "total": total, "online": online, }, "ok", c) } func GetSunDevices(c *gin.Context) { devices, err := service.GetSunDevices() if err != nil { logger.Get().Error(err.Error()) model.FailWithMessage(err.Error(), c) return } model.OkWithData(devices, c) } func UpdateRegisterAddress(c *gin.Context) { var id string err := c.ShouldBindJSON(&id) if err != nil { model.FailWithMessage(err.Error(), c) return } err = service.UpdateRegisterAddress(id) if err != nil { logger.Get().Error(err.Error()) model.FailWithMessage(err.Error(), c) return } model.Ok(c) }