package model

// NBState 基站状态记录表 nb_state
type NBState struct {
	ID         int64  `json:"id" gorm:"column:id;primaryKey;autoIncrement"`
	NeType     string `json:"neType" gorm:"column:ne_type"`         // 网元类型 AMF MME
	NeId       string `json:"neId" gorm:"column:ne_id"`             // 网元ID
	RmUid      string `json:"rmUid" gorm:"column:rm_uid"`           // 资源唯一标识
	CreateTime int64  `json:"createTime" gorm:"column:create_time"` // 创建时间
	Address    string `json:"address" gorm:"column:address"`        // 基站IP地址
	NbName     string `json:"nbName" gorm:"column:nb_name"`         // 基站设备名称
	Name       string `json:"name" gorm:"column:name"`              // 基站名称
	Position   string `json:"position" gorm:"column:position"`      // 基站位置
	State      string `json:"state" gorm:"column:state"`            // 基站状态 OFF ON
	Time       string `json:"time" gorm:"column:time"`              // 状态时间
}

// TableName 表名称
func (*NBState) TableName() string {
	return "nb_state"
}

// NBStateQuery 查询参数结构体
type NBStateQuery struct {
	NeType    string `json:"neType" form:"neType" binding:"required"`
	NeID      string `json:"neId" form:"neId" binding:"required"`
	PageNum   int64  `json:"pageNum" form:"pageNum" binding:"required"`
	PageSize  int64  `json:"pageSize" form:"pageSize" binding:"required"`
	Status    string `json:"status" form:"status"`
	StartTime string `json:"startTime" form:"startTime"`
	EndTime   string `json:"endTime" form:"endTime"`
	SortField string `json:"sortField" form:"sortField" binding:"omitempty,oneof=id create_time"` // 排序字段，填写结果字段
	SortOrder string `json:"sortOrder" form:"sortOrder" binding:"omitempty,oneof=asc desc"`       // 排序升降序，asc desc
	RmUID     string `json:"rmUID" form:"rmUID"`
}
