accesscontrol.go 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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 AccessControlHandler struct {
  13. *Handler
  14. accessControlService service.AccessControlService
  15. conf *viper.Viper
  16. }
  17. func NewAccessControlHandler(handler *Handler, accessControlService service.AccessControlService, conf *viper.Viper) *AccessControlHandler {
  18. return &AccessControlHandler{
  19. Handler: handler,
  20. accessControlService: accessControlService,
  21. conf: conf,
  22. }
  23. }
  24. // GetAccessControl 出入口控制
  25. func (h *AccessControlHandler) GetAccessControl(ctx *gin.Context) {
  26. m := make(map[string]any)
  27. var deviceRanking []model.DeviceRanking
  28. var device []model.Device
  29. for i := 0; i < 10; i++ {
  30. name := fmt.Sprintf("设备名称%v", i+1)
  31. ranking := model.DeviceRanking{
  32. Id: i + 1,
  33. DeviceName: name,
  34. Value: rand.Intn(100),
  35. }
  36. deviceRanking = append(deviceRanking, ranking)
  37. }
  38. for i := 0; i < 10; i++ {
  39. name := fmt.Sprintf("设备%v", i+1)
  40. m2 := model.Device{
  41. Id: i + 1,
  42. Name: name,
  43. State: rand.Intn(2),
  44. Date: time.Now().Format("2006-01-02 15:04:05"),
  45. }
  46. device = append(device, m2)
  47. }
  48. m["Online"] = rand.Intn(100) //在线
  49. m["Offline"] = rand.Intn(100) //离线
  50. m["DeviceRanking"] = deviceRanking //设备排名
  51. m["Out"] = rand.Intn(100) //出
  52. m["Into"] = rand.Intn(100) //入
  53. m["DeviceList"] = device //设备列表
  54. resp.HandleSuccess(ctx, m)
  55. }