broadcast.go 1.9 KB

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