package com.fdkankan.scene.mq.consumer; import com.alibaba.fastjson.JSONObject; import com.fdkankan.redis.util.RedisUtil; import com.fdkankan.scene.service.ISceneCopyService; import com.rabbitmq.client.Channel; import lombok.extern.slf4j.Slf4j; import org.springframework.amqp.core.Message; import org.springframework.amqp.rabbit.annotation.Queue; import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.nio.charset.StandardCharsets; /** * 场景封存解封 mq */ @Slf4j @Component public class CopySceneConsumer { @Autowired ISceneCopyService sceneCopyService; @RabbitListener( queuesToDeclare = @Queue("${queue.scene.copy:ucenter-copy-scene}") , concurrency = "1" ) public void consumerQueue(Channel channel, Message message) { try { String messageId = message.getMessageProperties().getMessageId(); String msg = new String(message.getBody(), StandardCharsets.UTF_8); log.info("copy-scene--messageId:{},msg:{}",messageId,msg); channel.basicAck(message.getMessageProperties().getDeliveryTag(), false); JSONObject jsonObject = JSONObject.parseObject(msg); String oldNum = jsonObject.getString("oldNum"); String newNum = jsonObject.getString("newNum"); sceneCopyService.copyScene(oldNum,newNum); }catch (Exception e){ log.info("copy-scene----消费失败",e); } } }