qihang-ecom-erp-open/jd-api/src/main/java/com/qihang/jd/mq/ApiMessageReceiver.java

39 lines
1.4 KiB
Java
Raw Normal View History

2024-03-07 16:28:39 +08:00
package com.qihang.jd.mq;
import com.alibaba.fastjson2.JSON;
import lombok.AllArgsConstructor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.data.redis.connection.Message;
import org.springframework.data.redis.connection.MessageListener;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.stereotype.Component;
@AllArgsConstructor
@Component
public class ApiMessageReceiver implements MessageListener {
private static final Logger logger = LoggerFactory.getLogger(ApiMessageReceiver.class);
private final RedisTemplate redisTemplate;
@Override
public void onMessage(Message message, byte[] pattern) {
RedisSerializer<String> valueSerializer = redisTemplate.getStringSerializer();
String deserialize = valueSerializer.deserialize(message.getBody());
//message 和 deserialize 都能拿到msg
logger.info("Received <" + message + ">");
System.out.println("deserialize = " + deserialize);
String messageContent = new String(message.getBody());
MqMessage vo = JSON.parseObject(messageContent, MqMessage.class);
System.out.println(vo.getMqType());
if(vo.getMqType() == 1){
// 有新订单插入新订单到shop_order
logger.info("有新订单插入新订单到shop_order");
}
}
}