From 4b844113469b203adc40f1e540de98612321f26e Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Mon, 01 Jun 2020 20:49:07 +0800 Subject: [PATCH] finish contrach closing order and fix rabbit some question --- src/main/java/com/xcong/excoin/rabbit/consumer/WebsocketPriceConsumer.java | 219 +++++++++++++++++++++++++++++------------------------- 1 files changed, 116 insertions(+), 103 deletions(-) diff --git a/src/main/java/com/xcong/excoin/rabbit/consumer/WebsocketPriceConsumer.java b/src/main/java/com/xcong/excoin/rabbit/consumer/WebsocketPriceConsumer.java index d7f8234..8368c52 100644 --- a/src/main/java/com/xcong/excoin/rabbit/consumer/WebsocketPriceConsumer.java +++ b/src/main/java/com/xcong/excoin/rabbit/consumer/WebsocketPriceConsumer.java @@ -3,133 +3,146 @@ import com.alibaba.fastjson.JSONArray; import com.rabbitmq.client.Channel; import com.xcong.excoin.configurations.RabbitMqConfig; +import com.xcong.excoin.modules.contract.service.RabbitOrderService; +import com.xcong.excoin.modules.contract.service.impl.OrderWebsocketServiceImpl; import com.xcong.excoin.rabbit.pricequeue.OrderModel; +import lombok.extern.slf4j.Slf4j; import org.springframework.amqp.core.Message; import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.stereotype.Component; +import javax.annotation.Resource; import java.util.List; /** - * APP和后台打包都开启 + * APP和后台打包都开启 * + * @author helius */ +@Slf4j @Component -@ConditionalOnProperty(name="useRabbit",havingValue="true") +@ConditionalOnProperty(prefix = "app", name = "rabbit-consumer", havingValue = "true") public class WebsocketPriceConsumer { - //@Autowired - //OrderWebsocketService orderWebsocketService; + @Resource + OrderWebsocketServiceImpl orderWebsocketService; - //@Autowired - //OrderService orderService; + @Resource + RabbitOrderService orderService; - /** - * 开多止盈 - * @param message 消息体 - * @param channel 信道 - */ - @RabbitListener(queues = RabbitMqConfig.QUEUE_MOREPRO) - public void onMessageMorePro(Message message, Channel channel) { - String content = new String(message.getBody()); - System.out.println("我收到消息了开多止盈:"+content); - List<OrderModel> list = JSONArray.parseArray(content,OrderModel.class); - // 开始处理 TODO - //orderWebsocketService.dealOrderFromMq(list,9); - } - // 1:买入委托2:开多3:开空4:平多5:平空6:爆仓平多7:爆仓平空8:撤单9:止盈平多10:止盈平空11:止损平多12:止损平空 + /** + * 开多止盈 + * + * @param message 消息体 + * @param channel 信道 + */ + @RabbitListener(queues = RabbitMqConfig.QUEUE_MOREPRO) + public void onMessageMorePro(Message message, Channel channel) { + String content = new String(message.getBody()); + System.out.println("我收到消息了开多止盈:" + content); + List<OrderModel> list = JSONArray.parseArray(content, OrderModel.class); + // 开始处理 TODO + //orderWebsocketService.dealOrderFromMq(list,9); + } + // 1:买入委托2:开多3:开空4:平多5:平空6:爆仓平多7:爆仓平空8:撤单9:止盈平多10:止盈平空11:止损平多12:止损平空 - /** - * 开空止盈 - * @param message - * @param channel - */ - @RabbitListener(queues = RabbitMqConfig.QUEUE_LESSPRO) - public void onMessageLessPro(Message message, Channel channel) { - String content = new String(message.getBody()); - System.out.println("我收到消息了开空止盈:"+content); - // 开始处理 - List<OrderModel> list = JSONArray.parseArray(content,OrderModel.class); - // 开始处理 - //orderWebsocketService.dealOrderFromMq(list,10); - } + /** + * 开空止盈 + * + * @param message + * @param channel + */ + @RabbitListener(queues = RabbitMqConfig.QUEUE_LESSPRO) + public void onMessageLessPro(Message message, Channel channel) { + String content = new String(message.getBody()); + System.out.println("我收到消息了开空止盈:" + content); + // 开始处理 + List<OrderModel> list = JSONArray.parseArray(content, OrderModel.class); + // 开始处理 + //orderWebsocketService.dealOrderFromMq(list,10); + } - /** - * 开多止损 - * @param message - * @param channel - */ - @RabbitListener(queues = RabbitMqConfig.QUEUE_MORELOSS) - public void onMessageMoreLoss(Message message, Channel channel) { - String content = new String(message.getBody()); - System.out.println("我收到消息了开多止损:"+content); - // 开始处理 - List<OrderModel> list = JSONArray.parseArray(content,OrderModel.class); - // 开始处理 - //orderWebsocketService.dealOrderFromMq(list,11); - } + /** + * 开多止损 + * + * @param message + * @param channel + */ + @RabbitListener(queues = RabbitMqConfig.QUEUE_MORELOSS) + public void onMessageMoreLoss(Message message, Channel channel) { + String content = new String(message.getBody()); + System.out.println("我收到消息了开多止损:" + content); + // 开始处理 + List<OrderModel> list = JSONArray.parseArray(content, OrderModel.class); + // 开始处理 + //orderWebsocketService.dealOrderFromMq(list,11); + } - /** - * 开空止损 - * @param message - * @param channel - */ - @RabbitListener(queues = RabbitMqConfig.QUEUE_LESSLOSS) - public void onMessageLessLoss(Message message, Channel channel) { - String content = new String(message.getBody()); - System.out.println("我收到消息了开空止损:"+content); - // 开始处理 - List<OrderModel> list = JSONArray.parseArray(content,OrderModel.class); - // 开始处理 - //orderWebsocketService.dealOrderFromMq(list,12); - } + /** + * 开空止损 + * + * @param message + * @param channel + */ + @RabbitListener(queues = RabbitMqConfig.QUEUE_LESSLOSS) + public void onMessageLessLoss(Message message, Channel channel) { + String content = new String(message.getBody()); + System.out.println("我收到消息了开空止损:" + content); + // 开始处理 + List<OrderModel> list = JSONArray.parseArray(content, OrderModel.class); + // 开始处理 + //orderWebsocketService.dealOrderFromMq(list,12); + } - /** - * 限价委托 - * @param message - * @param channel - */ - @RabbitListener(queues = RabbitMqConfig.QUEUE_LIMIT) - public void onMessageLimit(Message message, Channel channel) { - String content = new String(message.getBody()); - System.out.println("我收到消息了限价委托:"+content); - // 开始处理 - List<OrderModel> list = JSONArray.parseArray(content,OrderModel.class); - // 开始处理 - //orderWebsocketService.dealForLimitMq(list); - } + /** + * 限价委托 + * + * @param message + * @param channel + */ + @RabbitListener(queues = RabbitMqConfig.QUEUE_LIMIT) + public void onMessageLimit(Message message, Channel channel) { + String content = new String(message.getBody()); + System.out.println("我收到消息了限价委托:" + content); + // 开始处理 + List<OrderModel> list = JSONArray.parseArray(content, OrderModel.class); + // 开始处理 + //orderWebsocketService.dealForLimitMq(list); + } - /** - * 爆仓消费者 - * @param message - * @param channel - */ - @RabbitListener(queues = RabbitMqConfig.QUEUE_COINOUT) - public void onMessageCoinout(Message message, Channel channel) { - String content = new String(message.getBody()); - System.out.println("我收到消息了爆仓:"+content); - // 开始处理 - List<OrderModel> list = JSONArray.parseArray(content,OrderModel.class); - // 开始处理 - //orderWebsocketService.dealOrderFromMq(list,6); - } + /** + * 爆仓消费者 + * + * @param message + * @param channel + */ + @RabbitListener(queues = RabbitMqConfig.QUEUE_COINOUT) + public void onMessageCoinout(Message message, Channel channel) { + String content = new String(message.getBody()); + System.out.println("我收到消息了爆仓:" + content); + // 开始处理 + List<OrderModel> list = JSONArray.parseArray(content, OrderModel.class); + // 开始处理 + //orderWebsocketService.dealOrderFromMq(list,6); + } - /** - * 平仓 - * @param message - * @param channel - */ - @RabbitListener(queues = RabbitMqConfig.QUEUE_CLOSETRADE) - public void onMessageCloseTrade(Message message, Channel channel) { - String content = new String(message.getBody()); - System.out.println("我收到消息了平仓:"+content); - // 订单 - List<Long> ids = JSONArray.parseArray(content, Long.class); - //orderService.closeTradeForMq(ids); - } + /** + * 平仓 + * + * @param message + * @param channel + */ + @RabbitListener(queues = RabbitMqConfig.QUEUE_CLOSETRADE) + public void onMessageCloseTrade(Message message, Channel channel) { + String content = new String(message.getBody()); + log.info("我收到消息了平仓: {}", content); + // 订单 + List<Long> ids = JSONArray.parseArray(content, Long.class); + orderService.cancelHoldOrder(ids); + } } -- Gitblit v1.9.1