package models type SdkArgEntity struct { Id string `gorm:"primary_key;column:id" json:"id"` SdkId string `gorm:"column:sdk_id" json:"sdk_id"` Scope string `gorm:"column:scope" json:"scope"` SdkArg } //算法参数定义 type SdkArg struct { Alias string `gorm:"column:alias" json:"alias"` //参数的别名 Name string `gorm:"column:name" json:"name"` //参数名称 Type string `gorm:"column:type" json:"type"` //参数类型(整数,字符串或数组) ArgType string `gorm:"column:arg_type" json:"arg_type"` Must bool `gorm:"column:must" json:"must"` //是否必填 Unit string `gorm:"column:unit" json:"unit"` //单位 Range string `gorm:"column:range" json:"range"` //值的范围,eg:0,100表示从0到100 DefaultValue string `gorm:"column:default_value" json:"default_value"` DefaultOperator string `gorm:"column:default_operator" json:"default_operator"` Sort int `gorm:"column:sort;default:1" json:"sort"` //参数顺序 } const ( SCOPE_CAMERARULE ="CAMERARULE"//在摄像机规则配置页面显示的参数 SCOPE_TASKRULE = "TASKRULE"//在任务算法配置页面显示的参数 ) func (SdkArgEntity) TableName() string { return "sdk_arg" } func (entity *SdkArgEntity) Insert() (bool,error){ if err :=db.Table("sdk_arg").Create(&entity).Error;err!=nil { return false,err } return true,nil } func (entity *SdkArgEntity) Update() (bool,error) { if err :=db.Table("sdk_arg").Update(&entity).Error;err!=nil { return false,err } return true,nil } //根据sdk和参数范围查找对应的算法参数 func (entity *SdkArgEntity) FindBySdk(sdkId string) (arr []SdkArgEntity,err error) { if err := db.Table("sdk_arg").Where("sdk_id=?",sdkId).Scan(&arr).Error;err !=nil { return nil,err } return arr,nil }