初始
This commit is contained in:
4
api/video_hat/alarm/alarm.go
Normal file
4
api/video_hat/alarm/alarm.go
Normal file
@ -0,0 +1,4 @@
|
||||
package alarm
|
||||
|
||||
type Alarm struct {
|
||||
}
|
17
api/video_hat/alarm/model.go
Normal file
17
api/video_hat/alarm/model.go
Normal 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:"处理时间"`
|
||||
}
|
15
api/video_hat/alarm/req.go
Normal file
15
api/video_hat/alarm/req.go
Normal 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"`
|
||||
}
|
9
api/video_hat/alarm/res.go
Normal file
9
api/video_hat/alarm/res.go
Normal file
@ -0,0 +1,9 @@
|
||||
package alarm
|
||||
|
||||
type HatAlarmListRes struct {
|
||||
HatAlarms []HatAlarm `json:"hatAlarms" dc:"报警列表"`
|
||||
Total int64 `json:"total"`
|
||||
}
|
||||
|
||||
type HandleAlarmRes struct {
|
||||
}
|
38
api/video_hat/alarm/service.go
Normal file
38
api/video_hat/alarm/service.go
Normal 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
|
||||
}
|
Reference in New Issue
Block a user