This commit is contained in:
2025-07-07 20:11:59 +08:00
parent ab0fdbc447
commit 06e3aa2eb3
2009 changed files with 193082 additions and 0 deletions

View File

@ -0,0 +1,4 @@
package alarm
type Alarm struct {
}

View File

@ -0,0 +1,17 @@
package alarm
import "time"
type HatAlarm struct {
ID int `json:"id" dc:"ID"`
DevNum string `json:"devNum" dc:"视频安全帽设备号"`
DevName string `json:"devName" dc:"设备名称"`
ProjectID int `json:"projectId" dc:"项目ID"`
BatteryLevel string `json:"batteryLevel" dc:"电池电量"`
IsLowBattery bool `json:"isLowBattery" dc:"是否低电量"`
RoomID string `json:"roomId" dc:"房间ID"`
SipId string `json:"sipId" dc:"sipId"`
IsHandle string `json:"isHandle" dc:"是否处理(1处理了、0未处理)"`
CreatedAt time.Time `json:"createdAt" dc:"创建时间"`
HandleAt time.Time `json:"handleAt" dc:"处理时间"`
}

View File

@ -0,0 +1,15 @@
package alarm
import "github.com/gogf/gf/v2/frame/g"
type HatAlarmListReq struct {
g.Meta `path:"/alarm/list" method:"get" tags:"视频安全帽相关" summary:"获取设备报警列表"`
ProjectId int64 `json:"projectId" dc:"项目ID"`
Page int64 `json:"page" dc:"请求的页码" v:"required"`
PageSize int64 `json:"pageSize" dc:"每页显示的条目数" v:"required"`
}
type HandleAlarmReq struct {
g.Meta `path:"/alarm/handle" method:"post" tags:"视频安全帽相关" summary:"处理SOS报警消息"`
Id string `json:"id" dc:"报警ID"`
}

View File

@ -0,0 +1,9 @@
package alarm
type HatAlarmListRes struct {
HatAlarms []HatAlarm `json:"hatAlarms" dc:"报警列表"`
Total int64 `json:"total"`
}
type HandleAlarmRes struct {
}

View File

@ -0,0 +1,38 @@
package alarm
import (
"context"
"github.com/gogf/gf/v2/frame/g"
"time"
)
// 报警列表
func (h Alarm) HatAlarmList(ctx context.Context, req *HatAlarmListReq) (res *HatAlarmListRes, err error) {
res = new(HatAlarmListRes)
offset := (req.Page - 1) * req.PageSize
var hatAlarms []HatAlarm
model := g.Model("hat_alarm")
count, err := model.Ctx(ctx).Count()
if err != nil {
return nil, err
}
model.Where("project_id = ?", req.ProjectId)
err = model.Offset(int(offset)).Limit(int(req.PageSize)).Scan(&hatAlarms)
if err != nil {
return nil, err
}
res.HatAlarms = hatAlarms
res.Total = int64(count)
return res, nil
}
// 处理报警
func (h Alarm) HandleAlarm(ctx context.Context, req *HandleAlarmReq) (res *HandleAlarmRes, err error) {
res = new(HandleAlarmRes)
data := g.Map{
"is_handle": 1,
"handle_at": time.Now(),
}
g.Model("hat_alarm").Ctx(ctx).Data(data).Where("id", req.Id).Update()
return res, nil
}