package handler import ( "city_chips/internal/model" "city_chips/internal/service" "city_chips/pkg/helper/resp" "fmt" "github.com/gin-gonic/gin" "github.com/spf13/viper" "math/rand" "time" ) type AccessControlHandler struct { *Handler accessControlService service.AccessControlService conf *viper.Viper } func NewAccessControlHandler(handler *Handler, accessControlService service.AccessControlService, conf *viper.Viper) *AccessControlHandler { return &AccessControlHandler{ Handler: handler, accessControlService: accessControlService, conf: conf, } } // GetAccessControl 出入口控制 func (h *AccessControlHandler) GetAccessControl(ctx *gin.Context) { m := make(map[string]any) var deviceRanking []model.DeviceRanking var device []model.Device for i := 0; i < 10; i++ { name := fmt.Sprintf("设备名称%v", i+1) ranking := model.DeviceRanking{ Id: i + 1, DeviceName: name, Value: rand.Intn(100), } deviceRanking = append(deviceRanking, ranking) } for i := 0; i < 10; i++ { name := fmt.Sprintf("设备%v", i+1) m2 := model.Device{ Id: i + 1, Name: name, State: rand.Intn(2), Date: time.Now().Format("2006-01-02 15:04:05"), } device = append(device, m2) } m["Online"] = rand.Intn(100) //在线 m["Offline"] = rand.Intn(100) //离线 m["DeviceRanking"] = deviceRanking //设备排名 m["Out"] = rand.Intn(100) //出 m["Into"] = rand.Intn(100) //入 m["DeviceList"] = device //设备列表 resp.HandleSuccess(ctx, m) }