illuminating.go 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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 IlluminatingHandler struct {
  13. *Handler
  14. illuminatingService service.IlluminatingService
  15. conf *viper.Viper
  16. }
  17. func NewIlluminatingHandler(
  18. handler *Handler,
  19. illuminatingService service.IlluminatingService,
  20. conf *viper.Viper,
  21. ) *IlluminatingHandler {
  22. return &IlluminatingHandler{
  23. Handler: handler,
  24. illuminatingService: illuminatingService,
  25. conf: conf,
  26. }
  27. }
  28. func (h *IlluminatingHandler) GetIlluminating(ctx *gin.Context) {
  29. m := make(map[string]any)
  30. runAnaly := make(map[string]any)
  31. var illuminatingDevice []model.IlluminatingDevice
  32. var eventList []model.EventList
  33. var runAnalyse model.RunAnalyse
  34. for i := 0; i < 20; i++ {
  35. name := fmt.Sprintf("回路%v", i+1)
  36. device := model.IlluminatingDevice{
  37. Id: i + 1,
  38. DeviceName: name,
  39. SwitchStatus: rand.Intn(2),
  40. OnlinePresence: rand.Intn(2),
  41. }
  42. illuminatingDevice = append(illuminatingDevice, device)
  43. }
  44. for i := 0; i < 10; i++ {
  45. name := fmt.Sprintf("设备%v", i+1)
  46. list := model.EventList{
  47. Id: i + 1,
  48. DeviceName: name,
  49. DeviceStatus: rand.Intn(2),
  50. EventDate: time.Now().Format("2006-01-02 15:04:05"),
  51. }
  52. eventList = append(eventList, list)
  53. }
  54. for i := 0; i < 7; i++ {
  55. date := fmt.Sprintf("2025-5-%v", i+1)
  56. runAnalyse.FaultCount = rand.Intn(100)
  57. runAnalyse.OpenCount = rand.Intn(100)
  58. runAnalyse.OffCount = rand.Intn(100)
  59. runAnaly[date] = runAnalyse
  60. }
  61. m["IlluminatingDevice"] = illuminatingDevice //设备列表
  62. m["DeviceCount"] = rand.Intn(100) //设备总数
  63. m["OpenCount"] = rand.Intn(100) //开启数量
  64. m["OffCount"] = rand.Intn(100) //关闭数量
  65. m["FaultCount"] = rand.Intn(100) //故障数量
  66. m["RunAnalyse"] = runAnaly //运行分析
  67. m["EventList"] = eventList //事件列表
  68. resp.HandleSuccess(ctx, m)
  69. }