package model

// TraceTask 跟踪_任务
type TraceTask struct {
	ID         int64  `json:"id"  gorm:"column:id;primaryKey;autoIncrement"`          // 跟踪任务ID
	TraceId    string `json:"traceId"  gorm:"column:trace_id"`                        // 任务编号
	TraceType  string `json:"traceType"  gorm:"column:trace_type" binding:"required"` // 1-Interface,2-Device,3-UE
	StartTime  int64  `json:"startTime"  gorm:"column:start_time"`                    // 开始时间 毫秒
	EndTime    int64  `json:"endTime"  gorm:"column:end_time" binding:"required"`     // 结束时间 毫秒
	Interfaces string `json:"interfaces"  gorm:"column:interfaces"`                   // 接口跟踪必须 例如 N8,N10
	IMSI       string `json:"imsi"  gorm:"column:imsi"`                               // 用户跟踪必须
	MSISDN     string `json:"msisdn"  gorm:"column:msisdn"`                           // 用户跟踪可选
	SrcIp      string `json:"srcIp"  gorm:"column:src_ip"`                            // 源地址IP
	DstIp      string `json:"dstIp"  gorm:"column:dst_ip"`                            // 目标地址IP
	CreateBy   string `json:"createBy"  gorm:"column:create_by"`                      // 创建者
	CreateTime int64  `json:"createTime"  gorm:"column:create_time"`                  // 创建时间
	Title      string `json:"title"  gorm:"column:title" binding:"required"`          // 任务标题
	Remark     string `json:"remark"  gorm:"column:remark"`                           // 备注
	NeList     string `json:"neList"  gorm:"column:ne_list" binding:"required"`       // 网元列表 neType_neId 例如 UDM_001,AMF_001
	NotifyUrl  string `json:"notifyUrl"  gorm:"column:notify_url"`                    // 信息数据通知回调地址UDP 例如udp:192.168.5.58:33033
}

// TableName 表名称
func (*TraceTask) TableName() string {
	return "trace_task"
}
