优化生产数据的数据结构

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
type ProducerData struct {
Data interface{} // 发送的数据
Key string // 分区key
Data map[interface{}]interface{} // 发送的数据
Key string // 分区key
}
// ProducerResult 数据发送后的结果

View File

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