zhangzengfei
2023-11-28 3a706d3378aa3626501370352963883fd2783558
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
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
}