From 6bfa9de6c86de3b6de5d59e0dc9eebbba13bdb1f Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Thu, 04 Mar 2021 11:41:01 +0800
Subject: [PATCH] Merge branch 'whole_new' of http://120.27.238.55:7000/r/exchange into whole_new
---
src/main/java/com/xcong/excoin/rabbit/producer/FollowProducer.java | 44 ++++++++++++++++++++++
src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java | 8 +++
src/main/java/com/xcong/excoin/configurations/RabbitMqConfig.java | 14 +++++++
src/main/java/com/xcong/excoin/rabbit/consumer/FollowConsumer.java | 31 +++++++++++++++
4 files changed, 96 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/configurations/RabbitMqConfig.java b/src/main/java/com/xcong/excoin/configurations/RabbitMqConfig.java
index b8a2da2..5a0308f 100644
--- a/src/main/java/com/xcong/excoin/configurations/RabbitMqConfig.java
+++ b/src/main/java/com/xcong/excoin/configurations/RabbitMqConfig.java
@@ -79,6 +79,10 @@
// 全仓价格操作
public static final String QUEUE_WHOLE_PRICE = "QUEUE_WHOLE_PRCE";
+ // 跟单下单
+ public static final String QUEUE_FOLLOW_ORDER = "QUEUE_FOLLOW_ORDER";
+
+ public static final String ROUTINGKEY_FOLLOW_ORDER = "ROUTINGKEY_FOLLOW_ORDER";
// 开多止盈路由键
public static final String ROUTINGKEY_MOREPRO = "ROUTINGKEY_MOREPRO";
@@ -295,6 +299,16 @@
return new Queue(QUEUE_WHOLE_BOMB, true);
}
+ @Bean
+ public Queue queueFollowOrder() {
+ return new Queue(QUEUE_FOLLOW_ORDER, true);
+ }
+
+ @Bean
+ public Binding bindingFollowOrder() {
+ return BindingBuilder.bind(queueFollowOrder()).to(orderExchange()).with(RabbitMqConfig.ROUTINGKEY_FOLLOW_ORDER);
+ }
+
@Bean
public Binding bindingWholePrice() {
diff --git a/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java b/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java
index 1b99171..fd1095a 100644
--- a/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java
@@ -39,11 +39,13 @@
import com.xcong.excoin.modules.member.entity.*;
import com.xcong.excoin.modules.platform.dao.TradeSettingDao;
import com.xcong.excoin.modules.platform.entity.PlatformTradeSettingEntity;
+import com.xcong.excoin.rabbit.producer.FollowProducer;
import com.xcong.excoin.rabbit.producer.OrderProducer;
import com.xcong.excoin.utils.*;
import com.xcong.excoin.rabbit.pricequeue.OrderModel;
import jnr.a64asm.Mem;
import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import sun.rmi.runtime.Log;
@@ -102,6 +104,9 @@
private FollowTraderInfoDao followTraderInfoDao;
@Resource
private FollowFollowerOrderRelationDao followFollowerOrderRelationDao;
+
+ @Autowired
+ private FollowProducer followProducer;
@Transactional(rollbackFor = Exception.class)
@Override
@@ -382,7 +387,8 @@
relationEntity.setTradeOrderNo(holdOrderEntity.getOrderNo());
followFollowerOrderRelationDao.insert(relationEntity);
- ThreadPoolUtils.sendFollowOrderTask(holdOrderEntity.getId());
+ followProducer.sendAddFollowOrder(holdOrderEntity.getId());
+// ThreadPoolUtils.sendFollowOrderTask(holdOrderEntity.getId());
}
// 提交成功
return Result.ok(MessageSourceUtils.getString("member_service_0024"));
diff --git a/src/main/java/com/xcong/excoin/rabbit/consumer/FollowConsumer.java b/src/main/java/com/xcong/excoin/rabbit/consumer/FollowConsumer.java
new file mode 100644
index 0000000..d3c140b
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/rabbit/consumer/FollowConsumer.java
@@ -0,0 +1,31 @@
+package com.xcong.excoin.rabbit.consumer;
+
+import com.rabbitmq.client.Channel;
+import com.xcong.excoin.configurations.RabbitMqConfig;
+import com.xcong.excoin.modules.documentary.service.FollowOrderOperationService;
+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;
+
+/**
+ * @author wzy
+ * @date 2021-03-04
+ **/
+@Slf4j
+@Component
+@ConditionalOnProperty(prefix = "app", name = "rabbit-consumer", havingValue = "true")
+public class FollowConsumer {
+
+ @Autowired
+ private FollowOrderOperationService followOrderOperationService;
+
+ @RabbitListener(queues = RabbitMqConfig.QUEUE_FOLLOW_ORDER)
+ public void addFollowOrder(Message message, Channel channel) {
+ String content = new String(message.getBody());
+ log.info("==收到跟单下单消息 : {}", content);
+ followOrderOperationService.addFollowerOrder(Long.parseLong(content));
+ }
+}
diff --git a/src/main/java/com/xcong/excoin/rabbit/producer/FollowProducer.java b/src/main/java/com/xcong/excoin/rabbit/producer/FollowProducer.java
new file mode 100644
index 0000000..2091602
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/rabbit/producer/FollowProducer.java
@@ -0,0 +1,44 @@
+package com.xcong.excoin.rabbit.producer;
+
+
+import com.xcong.excoin.configurations.RabbitMqConfig;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.amqp.rabbit.connection.CorrelationData;
+import org.springframework.amqp.rabbit.core.RabbitTemplate;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.UUID;
+
+/**
+ * @author wzy
+ * @date 2021-03-04
+ **/
+@Slf4j
+@Component
+public class FollowProducer implements RabbitTemplate.ConfirmCallback {
+
+ private RabbitTemplate rabbitTemplate;
+
+ @Autowired
+ public FollowProducer(RabbitTemplate rabbitTemplate) {
+ this.rabbitTemplate = rabbitTemplate;
+ rabbitTemplate.setConfirmCallback(this);
+ }
+
+ @Override
+ public void confirm(CorrelationData correlationData, boolean b, String s) {
+
+ }
+
+ /**
+ * 发送跟单下单消息
+ *
+ * @param id
+ */
+ public void sendAddFollowOrder(Long id) {
+ CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString());
+ log.info("发送跟单下单消息: {}, {}", id, correlationData.getId());
+ rabbitTemplate.convertAndSend(RabbitMqConfig.EXCHANGE_A, RabbitMqConfig.ROUTINGKEY_FOLLOW_ORDER, id, correlationData);
+ }
+}
--
Gitblit v1.9.1