优化生产数据的数据结构

This commit is contained in:
白茶清欢 2023-08-14 11:44:32 +08:00
parent d5e63c46c2
commit afe3d487b1
2 changed files with 6 additions and 10 deletions

View File

@ -13,8 +13,8 @@ package kafka
// //
// Date : 4:13 下午 2021/9/21 // Date : 4:13 下午 2021/9/21
type ProducerData struct { type ProducerData struct {
Data interface{} // 发送的数据 Data map[interface{}]interface{} // 发送的数据
Key string // 分区key Key string // 分区key
} }
// ProducerResult 数据发送后的结果 // ProducerResult 数据发送后的结果

View File

@ -141,14 +141,10 @@ func (p *Producer) buildMessage(data ProducerData) *sarama.ProducerMessage {
Key: sarama.StringEncoder(data.Key), Key: sarama.StringEncoder(data.Key),
Timestamp: time.Now(), Timestamp: time.Now(),
} }
switch v := data.Data.(type) { if nil == data.Data {
case string: data.Data = make(map[interface{}]interface{})
mes.Value = sarama.StringEncoder(v)
case []byte:
mes.Value = sarama.ByteEncoder(v)
default:
byteData, _ := json.Marshal(data.Data)
mes.Value = sarama.ByteEncoder(byteData)
} }
byteData, _ := json.Marshal(data.Data)
mes.Value = sarama.ByteEncoder(byteData)
return mes return mes
} }