package model

// TraceData 跟踪_数据 trace_data
type TraceData struct {
	ID        int64  `json:"id"  gorm:"column:id;primaryKey;autoIncrement"`
	TraceId   int64  `json:"traceId"  gorm:"column:trace_id"`     // 跟踪任务ID
	IMSI      string `json:"imsi"  gorm:"column:imsi"`            // UE类型 IMSI
	MSISDN    string `json:"msisdn"  gorm:"column:msisdn"`        // UE类型 可能存在
	SrcAddr   string `json:"srcAddr"  gorm:"column:src_addr"`     // 源地址
	DstAddr   string `json:"dstAddr"  gorm:"column:dst_addr"`     // 目标地址
	IfType    string `json:"ifType"  gorm:"column:if_type"`       // 接口类型，未分类
	MsgType   int64  `json:"msgType"  gorm:"column:msg_type"`     // 消息类型，0-req, 1-rsp
	MsgDirect int64  `json:"msgDirect"  gorm:"column:msg_direct"` // 消息方向，0-recv,1-send
	MsgNe     string `json:"msgNe"  gorm:"column:msg_ne"`         // 消息网元
	MsgEvent  string `json:"msgEvent"  gorm:"column:msg_event"`   // 消息事件，e.g: CreateContextReq
	Length    int64  `json:"length"  gorm:"column:length"`        // 原始数据byte长度
	Timestamp int64  `json:"timestamp"  gorm:"column:timestamp"`  // 纳秒时间戳
	RawMsg    string `json:"rawMsg"  gorm:"column:raw_msg"`       // 原始数据byteBase64
}

// TableName 表名称
func (*TraceData) TableName() string {
	return "trace_data"
}
