package handler import ( "city_chips/internal/model" "city_chips/internal/service" "city_chips/pkg/helper/resp" "github.com/spf13/viper" "math/rand" "time" "github.com/gin-gonic/gin" ) type IntelligentBuildingControlHandler struct { *Handler intelligentBuildingControlService service.IntelligentBuildingControlService conf *viper.Viper } func NewIntelligentBuildingControlHandler( handler *Handler, intelligentBuildingControlService service.IntelligentBuildingControlService, conf *viper.Viper, ) *IntelligentBuildingControlHandler { return &IntelligentBuildingControlHandler{ Handler: handler, intelligentBuildingControlService: intelligentBuildingControlService, conf: conf, } } // 示例:创建一个报警记录 func generateAlarm() model.AlarmList { return model.AlarmList{ Id: rand.Intn(100), Name: model.GetRandomItem(model.DeviceNames), State: rand.Intn(2), // 假设0为正常,1为报警 Date: time.Now().Format("2006-01-02 15:04:05"), Location: model.GetRandomItem(model.Locations), AlarmContent: model.GetRandomItem(model.AlarmContents), } } func (h *IntelligentBuildingControlHandler) GetIntelligentBuildingControl(ctx *gin.Context) { m := make(map[string]any) var device []model.AlarmList for i := 0; i < 20; i++ { alarm := generateAlarm() device = append(device, alarm) } m["DeviceCount"] = rand.Intn(100) //设备总数 m["StopState"] = rand.Intn(100) //停止状态 m["RunState"] = rand.Intn(100) //运行状态 m["FaultState"] = rand.Intn(1000) //故障状态 m["DeviceList"] = device //设备列表 resp.HandleSuccess(ctx, m) }