123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- package handler
- import (
- "city_chips/internal/model"
- "city_chips/internal/service"
- "city_chips/pkg/helper/resp"
- "github.com/spf13/viper"
- "math/rand"
- "time"
- "github.com/gin-gonic/gin"
- )
- type IntelligentBuildingControlHandler struct {
- *Handler
- intelligentBuildingControlService service.IntelligentBuildingControlService
- conf *viper.Viper
- }
- func NewIntelligentBuildingControlHandler(
- handler *Handler,
- intelligentBuildingControlService service.IntelligentBuildingControlService,
- conf *viper.Viper,
- ) *IntelligentBuildingControlHandler {
- return &IntelligentBuildingControlHandler{
- Handler: handler,
- intelligentBuildingControlService: intelligentBuildingControlService,
- conf: conf,
- }
- }
- // 示例:创建一个报警记录
- func generateAlarm() model.AlarmList {
- return model.AlarmList{
- Id: rand.Intn(100),
- Name: model.GetRandomItem(model.DeviceNames),
- State: rand.Intn(2), // 假设0为正常,1为报警
- Date: time.Now().Format("2006-01-02 15:04:05"),
- Location: model.GetRandomItem(model.Locations),
- AlarmContent: model.GetRandomItem(model.AlarmContents),
- }
- }
- func (h *IntelligentBuildingControlHandler) GetIntelligentBuildingControl(ctx *gin.Context) {
- m := make(map[string]any)
- var device []model.AlarmList
- for i := 0; i < 20; i++ {
- alarm := generateAlarm()
- device = append(device, alarm)
- }
- m["DeviceCount"] = rand.Intn(100) //设备总数
- m["StopState"] = rand.Intn(100) //停止状态
- m["RunState"] = rand.Intn(100) //运行状态
- m["FaultState"] = rand.Intn(1000) //故障状态
- m["DeviceList"] = device //设备列表
- resp.HandleSuccess(ctx, m)
- }
|