energy.go 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. package handler
  2. import (
  3. "city_chips/internal/service"
  4. "city_chips/pkg/helper/resp"
  5. "fmt"
  6. "github.com/gin-gonic/gin"
  7. "github.com/spf13/viper"
  8. "math/rand"
  9. )
  10. type EnergyHandler struct {
  11. *Handler
  12. energyService service.EnergyService
  13. conf *viper.Viper
  14. }
  15. func NewEnergyHandler(
  16. handler *Handler,
  17. energyService service.EnergyService,
  18. conf *viper.Viper,
  19. ) *EnergyHandler {
  20. return &EnergyHandler{
  21. Handler: handler,
  22. energyService: energyService,
  23. conf: conf,
  24. }
  25. }
  26. // GetEnergy 获取能源系统数据
  27. func (h *EnergyHandler) GetEnergy(ctx *gin.Context) {
  28. m := make(map[string]any)
  29. OnedayPowerConsumption := make(map[string]any)
  30. OnedayWaterConsumption := make(map[string]any)
  31. LastYearEnergyConsumption := make(map[string]any)
  32. YearEnergyConsumption := make(map[string]any)
  33. LastYearCarbonEmissions := make(map[string]any)
  34. YearCarbonEmissions := make(map[string]any)
  35. for i := 0; i < 24; i++ {
  36. name := fmt.Sprintf("%v时", i+1)
  37. OnedayPowerConsumption[name] = rand.Intn(100)
  38. OnedayWaterConsumption[name] = rand.Intn(100)
  39. }
  40. for i := 0; i < 12; i++ {
  41. name := fmt.Sprintf("%v月", i+1)
  42. LastYearEnergyConsumption[name] = rand.Intn(1000)
  43. YearEnergyConsumption[name] = rand.Intn(1000)
  44. LastYearCarbonEmissions[name] = rand.Intn(1000)
  45. YearCarbonEmissions[name] = rand.Intn(1000)
  46. }
  47. m["PowerConsumption"] = rand.Intn(1000) //今日实时电耗
  48. m["WaterConsumption"] = rand.Intn(1000) //今日实时水耗
  49. m["YesterdayConsumption"] = rand.Intn(1000) //昨日电耗
  50. m["MonthElectricityConsumption"] = rand.Intn(1000) //本月电耗
  51. m["YesterdayWaterConsumption"] = rand.Intn(1000) //昨日水耗
  52. m["MonthWaterConsumption"] = rand.Intn(1000) //本月水耗
  53. m["OnedayPowerConsumption"] = OnedayPowerConsumption //本月水耗
  54. m["OnedayWaterConsumption"] = OnedayWaterConsumption //本月水耗
  55. m["EnergyCount"] = rand.Intn(10000) //能源总量
  56. m["EnergyIntensity"] = rand.Intn(1000) //能耗强度
  57. m["CarbonEmissions"] = rand.Intn(1000) //碳排总量
  58. m["CarbonIsntensity"] = rand.Intn(1000) //碳排强度
  59. m["LastYearEnergyConsumption"] = LastYearEnergyConsumption //去年能耗
  60. m["YearEnergyConsumption"] = YearEnergyConsumption //今年能耗
  61. m["LastYearCarbonEmissions"] = LastYearCarbonEmissions //去年碳排
  62. m["YearCarbonEmissions"] = YearCarbonEmissions //今年碳排
  63. resp.HandleSuccess(ctx, m)
  64. }