package models
|
|
import "time"
|
|
type BaseEntity struct {
|
Id string `gorm:"primary_key" json:"id" example:"XeW0HmoBevddG23Ild5o"`
|
CreateTime string `json:"createTime,omitempty" example:""`
|
UpdateTime string `json:"updateTime,omitempty" example:""`
|
CreateBy string `json:"createBy,omitempty" example:""`
|
IsDelete int `json:"isDelete" example:"0 未删除 1已删除"`
|
Enable int `json:"enable" example:" 1生效 0未生效"`
|
}
|
|
func (dp *BaseEntity) PriInsert() {
|
dp.CreateTime = time.Now().Format("2006-01-02 15:04:05")
|
dp.CreateBy = "admin"
|
dp.IsDelete = 0
|
}
|
|
func (dp *BaseEntity) PriUpdate() {
|
dp.UpdateTime = time.Now().Format("2006-01-02 15:04:05")
|
}
|
|
type Area struct {
|
Id uint `gorm:"primary_key"` /*auto_increment:false*/
|
Parentid int
|
Parentids string
|
Name string
|
Createby int `gorm:"default:10000"`
|
Createtime time.Time `gorm:"default:'2010-08-28T13:40:02.200'"`
|
Reserved string `gorm:"default:'galeone'"`
|
}
|
|
type Camera struct {
|
Id string `gorm:"primary_key;type:varchar(100);unique" json:"id" binding:"required" example:"cid0"`
|
Name string `json:"name" bind:"required" example:"Testname"`
|
Type int `json:"type" `
|
Areaid uint `json:"areaid" example:"1"`
|
Addr string `json:"addr"`
|
Longitude float64 `json:"longitude"`
|
Latitude float64 `json:"latitude"`
|
Rtsp string `json:"rtsp"`
|
Ip string `json:"ip"`
|
Port int `json:"port"`
|
Username string `json:"username"`
|
Password string `json:"password"`
|
Brand string `json:"brand"`
|
Reserved string `json:"reserved"`
|
CamTask []CameraTask `gorm:"foreignkey:cameraid"`
|
}
|
|
type CameraTreeNode struct {
|
Id string `json:"id"`
|
Areaid uint `json:"areaid"`
|
Name string `json:"name"`
|
}
|
|
type CameraArea struct {
|
Cameraid string `json:"cameraId"`
|
Areaid int `json:"areaId"`
|
}
|
|
type Sdk struct {
|
BaseEntity
|
SdkName string `json:"sdkName" example:"faceDetect"` //算法名称
|
Args string `json:"args,omitempty" example:"[{name:timeStart,type:date,length:50,must:false}]"` //算法参数
|
Icon string `json:"icon,omitempty" example:"camera"` //算法图标
|
Url string `json:"url,omitempty" example:"http://ip:port/govideo/sdk/1"` //算法下载地址
|
}
|
|
//算法参数定义
|
type SdkArg struct {
|
Alias string `json:"alias"` //参数的别名
|
Name string `json:"name"` //参数名称
|
Type string `json:"type"` //参数类型(整数,字符串或数组)
|
Must bool `json:"must"` //是否必填
|
Range string `json:"range"` //值的范围,eg:0,100表示从0到100
|
Sort int `json:"sort"` //参数顺序
|
}
|
|
type Task struct {
|
Taskid string `gorm:"primary_key" json:"taskid"`
|
Taskname string `gorm:"type:varchar(100);" json:"taskname" example:"任务一"`
|
CreateAt time.Time
|
Createby string
|
UpdateAt time.Time
|
Enable bool `gorm:"default:0"`
|
IsAlarm bool `gorm:"default:0"`
|
DelFlag bool `gorm:"default:0"`
|
Isfull bool `gorm:"default:0"`
|
}
|
|
type CameraTask struct {
|
Cameraid string `gorm:"type:varchar(100) REFERENCES cameras(id) ON DELETE CASCADE" json:"cameraid" binding:"required" example:"cid1"` //摄像机id 来自于摄像机表
|
Taskid string `gorm:"type:varchar(100) REFERENCES tasks(taskid) ON DELETE CASCADE" json:"taskid" binding:"required" example:"5b0902ae-b1bd-43c0-816d-0a87f1f859d2"` //任务id 来自于任务表
|
Sdkid string `gorm:"type:varchar(100) REFERENCES sdks(uuid) ON DELETE CASCADE" json:"sdkId"` //算法id 来自与算法表
|
DelFlag bool `gorm:"default:0"`
|
UpdateFlag bool `gorm:"default:0"` // 算法名称
|
SdkArgs string `json:"sdkArgs"` // 算法参数
|
Enable int `gorm:"default:1"` //默认启用
|
}
|
|
type TaskSdk struct {
|
Taskid string `gorm:"primary_key"` //uuid 生成
|
Sdkid string `gorm:"primary_key;type:varchar(100) REFERENCES sdks(uuid) ON DELETE CASCADE"` //来自于算法表
|
Sort int `json:"sort"` //排序
|
}
|
|
//时间参数,从周一到周日某天的开始时间和结束时间,controller用
|
type TimeCtl struct {
|
MondayStart string `json:"mondayStart"`
|
MondayEnd string `json:"mondayEnd"`
|
TuesdayStart string `json:"tuesdayStart"`
|
TuesdayEnd string `json:"tuesdayEnd"`
|
WednesdayStart string `json:"wednesdayStart"`
|
WednesdayEnd string `json:"wednesdayEnd"`
|
ThursdayStart string `json:"thursdayStart"`
|
ThursdayEnd string `json:"thursdayEnd"`
|
FridayStart string `json:"fridayStart"`
|
FridayEnd string `json:"fridayEnd"`
|
SaturdayStart string `json:"saturdayStart"`
|
SaturdayEnd string `json:"saturdayEnd"`
|
SundayStart string `json:"sundayStart"`
|
SundayEnd string `json:"sundayEnd"`
|
}
|
|
//画框的结构体
|
type Frame struct {
|
Area [][]Point `json:"area"`
|
Arrow []Point `json:"arrow"`
|
}
|
|
//多边形结构体
|
type Point struct {
|
X string `json:"x"`
|
Y string `json:"y"`
|
}
|