github.com/qxnw/lib4go@v0.0.0-20180426074627-c80c7e84b925/mq/redis/redis.message.go (about)

     1  package redis
     2  
     3  import (
     4  	"github.com/go-redis/redis"
     5  )
     6  
     7  //RedisMessage reids消息
     8  type RedisMessage struct {
     9  	Message string
    10  	HasData bool
    11  }
    12  
    13  //Ack 确定消息
    14  func (m *RedisMessage) Ack() error {
    15  	return nil
    16  }
    17  
    18  //Nack 取消消息
    19  func (m *RedisMessage) Nack() error {
    20  	return nil
    21  }
    22  
    23  //GetMessage 获取消息
    24  func (m *RedisMessage) GetMessage() string {
    25  	return m.Message
    26  }
    27  
    28  //Has 是否有数据
    29  func (m *RedisMessage) Has() bool {
    30  	return m.HasData
    31  }
    32  
    33  //NewRedisMessage 创建消息
    34  func NewRedisMessage(cmd *redis.StringSliceCmd) *RedisMessage {
    35  	msg, err := cmd.Result()
    36  	hasData := err == nil && len(msg) > 0
    37  	ndata := ""
    38  	if hasData {
    39  		ndata = msg[len(msg)-1]
    40  	}
    41  	return &RedisMessage{Message: ndata, HasData: hasData}
    42  }