package handler import ( "city_chips/internal/model" "city_chips/internal/service" "city_chips/pkg/helper/resp" "fmt" "github.com/gin-gonic/gin" "github.com/spf13/viper" "math/rand" "time" ) type BroadcastHandler struct { *Handler broadcastService service.BroadcastService conf *viper.Viper } func NewBroadcastHandler(handler *Handler, broadcastService service.BroadcastService, conf *viper.Viper) *BroadcastHandler { return &BroadcastHandler{ Handler: handler, broadcastService: broadcastService, conf: conf, } } // GetBroadcast 获取广播系统数据 func (h *BroadcastHandler) GetBroadcast(ctx *gin.Context) { m := make(map[string]any) terminal := make(map[string]any) var device []model.DeviceList var termin []model.TerminalLog for i := 0; i < 10; i++ { sprintf := fmt.Sprintf("设备%v", i+1) list := model.DeviceList{ Id: i + 1, DeviceName: sprintf, UseState: rand.Intn(2), OnlineState: rand.Intn(2), } device = append(device, list) } for i := 0; i < 10; i++ { sprintf := fmt.Sprintf("设备%v", i+1) log := model.TerminalLog{ TerminalLog: sprintf, TerminalTime: time.Now().Format("2006-01-02 15:04:05"), } termin = append(termin, log) } terminal["2025-5-1"] = rand.Intn(100) terminal["2025-5-2"] = rand.Intn(100) terminal["2025-5-3"] = rand.Intn(100) terminal["2025-5-4"] = rand.Intn(100) terminal["2025-5-5"] = rand.Intn(100) terminal["2025-5-6"] = rand.Intn(100) terminal["2025-5-7"] = rand.Intn(100) m["device"] = device //设备列表 m["TerminalOffline"] = terminal //终端离线 m["RunStateUse"] = rand.Intn(100) //运行统计-使用中 m["FreeStateUse"] = rand.Intn(100) //运行统计-空闲 m["offlineStateUse"] = rand.Intn(100) //运行统计-离线 m["TerminalLog"] = termin //终端日志 m["PlaybackControls"] = device //播放控制 resp.HandleSuccess(ctx, m) }