broadcast.go 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. package handler
  2. import (
  3. "city_chips/internal/model"
  4. "city_chips/internal/service"
  5. "city_chips/pkg/helper/resp"
  6. "github.com/gin-gonic/gin"
  7. "github.com/spf13/viper"
  8. "math/rand"
  9. "time"
  10. )
  11. type BroadcastHandler struct {
  12. *Handler
  13. broadcastService service.BroadcastService
  14. conf *viper.Viper
  15. }
  16. func NewBroadcastHandler(handler *Handler, broadcastService service.BroadcastService, conf *viper.Viper) *BroadcastHandler {
  17. return &BroadcastHandler{
  18. Handler: handler,
  19. broadcastService: broadcastService,
  20. conf: conf,
  21. }
  22. }
  23. // GetBroadcast 获取广播系统数据
  24. func (h *BroadcastHandler) GetBroadcast(ctx *gin.Context) {
  25. m := make(map[string]any)
  26. terminal := make(map[string]any)
  27. var device []model.DeviceList
  28. var termin []model.TerminalLog
  29. for i := 0; i < 20; i++ {
  30. list := model.DeviceList{
  31. Id: i + 1,
  32. DeviceName: model.GetRandomItem(model.GBDeviceName),
  33. UseState: rand.Intn(2),
  34. OnlineState: rand.Intn(2),
  35. }
  36. log := model.TerminalLog{
  37. TerminalLog: model.GetRandomItem(model.GBterminalLogs),
  38. TerminalTime: time.Now().Format("2006-01-02 15:04:05"),
  39. }
  40. device = append(device, list)
  41. termin = append(termin, log)
  42. }
  43. terminal["2025-5-1"] = rand.Intn(100)
  44. terminal["2025-5-2"] = rand.Intn(100)
  45. terminal["2025-5-3"] = rand.Intn(100)
  46. terminal["2025-5-4"] = rand.Intn(100)
  47. terminal["2025-5-5"] = rand.Intn(100)
  48. terminal["2025-5-6"] = rand.Intn(100)
  49. terminal["2025-5-7"] = rand.Intn(100)
  50. m["device"] = device //设备列表
  51. m["TerminalOffline"] = terminal //终端离线
  52. m["RunStateUse"] = rand.Intn(100) //运行统计-使用中
  53. m["FreeStateUse"] = rand.Intn(100) //运行统计-空闲
  54. m["offlineStateUse"] = rand.Intn(100) //运行统计-离线
  55. m["TerminalLog"] = termin //终端日志
  56. m["PlaybackControls"] = device //播放控制
  57. resp.HandleSuccess(ctx, m)
  58. }