package request

// UHFReaderCreate UHF读写器创建请求
type UHFReaderCreate struct {
	DeviceCode  string `json:"device_code"`  // 设备编码
	DeviceName  string `json:"device_name"`  // 设备名称
	DeviceType  string `json:"device_type"`  // 设备类型
	ConnectType string `json:"connect_type"` // 连接类型 tcp/serial
	IPAddress   string `json:"ip_address"`   // IP地址
	Port        int    `json:"port"`         // 端口
	COMPort     string `json:"com_port"`     // 串口名称
	BaudRate    int    `json:"baud_rate"`    // 串口波特率
	IsActive    bool   `json:"is_active"`    // 是否启用
	Description string `json:"description"`  // 备注
	ChannelId   int    `json:"channel_id"`   // 通道id
}

// UHFReaderUpdate UHF读写器更新请求
type UHFReaderUpdate struct {
	ID          uint   `json:"id"`           // 设备ID
	DeviceCode  string `json:"device_code"`  // 设备编码
	DeviceName  string `json:"device_name"`  // 设备名称
	DeviceType  string `json:"device_type"`  // 设备类型
	ConnectType string `json:"connect_type"` // 连接类型 tcp/serial
	IPAddress   string `json:"ip_address"`   // IP地址
	Port        int    `json:"port"`         // 端口
	COMPort     string `json:"com_port"`     // 串口名称
	BaudRate    int    `json:"baud_rate"`    // 串口波特率
	IsActive    bool   `json:"is_active"`    // 是否启用
	Description string `json:"description"`  // 备注
	ChannelId   int    `json:"channel_id"`   // 通道id
}

// UHFReaderQuery UHF读写器查询请求
type UHFReaderQuery struct {
	DeviceCode   string `form:"device_code"`          // 设备编码
	DeviceName   string `form:"device_name"`          // 设备名称
	ConnectType  string `form:"connect_type"`         // 连接类型
	IPAddress    string `form:"ip_address"`           // IP地址
	Status       string `form:"status"`               // 状态
	ParkingLotID uint   `form:"parking_lot_id"`       // 所属区域ID
	Page         int    `form:"page,default=1"`       // 页码
	PageSize     int    `form:"page_size,default=10"` // 每页数量
}

// UHFReaderConnect UHF读写器连接请求
type UHFReaderConnect struct {
	ID uint `json:"id"` // 设备ID
}

// UHFReaderDisconnect UHF读写器断开连接请求
type UHFReaderDisconnect struct {
	ID uint `json:"id"` // 设备ID
}

// UHFReaderPower UHF读写器功率设置请求
type UHFReaderPower struct {
	ID    uint `json:"id"`                                    // 设备ID
	Power byte `json:"power" binding:"required,min=0,max=26"` // 功率值 0-26dBm
}

// UHFReaderTagReport UHF读写器标签上报请求
type UHFReaderTagReport struct {
	DeviceCode string `json:"device_code" binding:"required"` // 设备编码
	Tag        string `json:"tag" binding:"required"`         // 标签UII
}
