package com.xcong.excoin.rabbit.consumer; import com.alibaba.fastjson.JSONObject; import com.rabbitmq.client.Channel; import com.xcong.excoin.configurations.RabbitMqConfig; import com.xcong.excoin.rabbit.pricequeue.OrderModel; import com.xcong.excoin.rabbit.pricequeue.OrderOperatePriceService; import org.springframework.amqp.core.Message; import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.stereotype.Component; /** * 用户修改止损止盈价格、提价限价委托、下单爆仓价等消息 * 后台打包开启 APP 不开启 */ @Component @ConditionalOnProperty(prefix="app",name="newest-price-update-job",havingValue="true") public class OperateOrderPriceConsumer { /** * 用户修改止损止盈价格、提价限价委托、下单爆仓价等消息 * @date 2019年4月19日 * @param message 消息体 * @param channel 信道 */ @RabbitListener(queues = RabbitMqConfig.QUEUE_PRICEOPERATE) public void onMessageMorePro(Message message, Channel channel) { String content = new String(message.getBody()); System.out.println("我收到了用户的订单操作消息:"+content); // 操作前的map // 转为model OrderModel orderModel = JSONObject.parseObject(content, OrderModel.class); // 向优先队列添加 OrderOperatePriceService.dealWithNewMq(orderModel); } }