From 87c7037e167ba94e858c4ae7a1d1870c4128b775 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 06 Apr 2021 16:12:33 +0800
Subject: [PATCH] Merge branch 'activity' of http://120.27.238.55:7000/r/exchange into activity

---
 src/main/java/com/xcong/excoin/rabbit/producer/FollowProducer.java                                   |    9 +++------
 src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java       |    2 +-
 src/main/java/com/xcong/excoin/modules/documentary/service/impl/FollowOrderOperationServiceImpl.java |    7 +++++--
 src/main/java/com/xcong/excoin/rabbit/consumer/FollowConsumer.java                                   |   10 ++++------
 4 files changed, 13 insertions(+), 15 deletions(-)

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 1c3431f..a87efc9 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
@@ -853,7 +853,7 @@
             sendOrderBombMsg(holdOrderEntity.getId(), holdOrderEntity.getOpeningType(), forceClosingPrice, holdOrderEntity.getSymbol(), holdOrderEntity.getOperateNo(), holdOrderEntity.getMemberId());
 
             if (ContractOrderEntity.CONTRACTTYPE_DOCUMENTARY == holdOrderEntity.getContractType()) {
-                followProducer.sendChangeFollowOrderBond(holdOrderEntity.getId(), changeBondDto.getAmount(), changeBondDto.getType());
+                followProducer.sendChangeFollowOrderBond(changeBondDto);
             }
             return Result.ok("调整成功");
         }
diff --git a/src/main/java/com/xcong/excoin/modules/documentary/service/impl/FollowOrderOperationServiceImpl.java b/src/main/java/com/xcong/excoin/modules/documentary/service/impl/FollowOrderOperationServiceImpl.java
index eae5138..96d06e3 100644
--- a/src/main/java/com/xcong/excoin/modules/documentary/service/impl/FollowOrderOperationServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/documentary/service/impl/FollowOrderOperationServiceImpl.java
@@ -387,6 +387,9 @@
         List<FollowFollowerOrderRelationEntity> relations = followFollowerOrderRelationDao.selectFollowHoldOrderByTradeOrderNo(contractHoldOrderEntity.getOrderNo());
         if (CollUtil.isNotEmpty(relations)) {
             for (FollowFollowerOrderRelationEntity relation : relations) {
+                if (contractHoldOrderEntity.getId().equals(relation.getOrderId())) {
+                    continue;
+                }
                 ContractHoldOrderEntity followHoldOrder = contractHoldOrderDao.selectById(relation.getOrderId());
                 MemberEntity memberEntity = memberDao.selectById(relation.getMemberId());
                 MemberWalletContractEntity wallet = memberWalletContractDao.findWalletContractByMemberIdAndSymbol(memberEntity.getId(), CoinTypeEnum.USDT.name());
@@ -405,7 +408,7 @@
                 } else {
                     if (followHoldOrder.getBondAmount().subtract(followHoldOrder.getPrePaymentAmount()).subtract(bond).compareTo(BigDecimal.ZERO) < 0) {
                         log.info("超出保证金最大减少金额-1");
-                        LogRecordUtils.insertFollowerNotice(memberEntity.getId(), NoticeConstant.CHANGE_BOND_TITLE, NoticeConstant.CHANGE_BOND_ADD_CONTENT_FAIL);
+                        LogRecordUtils.insertFollowerNotice(memberEntity.getId(), NoticeConstant.CHANGE_BOND_TITLE, NoticeConstant.CHANGE_BOND_REDUCE_CONTENT_FAIL);
                         continue;
                     }
 
@@ -414,7 +417,7 @@
                         BigDecimal canReduceMax = followHoldOrder.getBondAmount().subtract(followHoldOrder.getPrePaymentAmount()).add(profitOrLoss);
                         if (canReduceMax.subtract(bond).compareTo(BigDecimal.ZERO) < 0) {
                             log.info("超出保证金最大减少金额-2");
-                            LogRecordUtils.insertFollowerNotice(memberEntity.getId(), NoticeConstant.CHANGE_BOND_TITLE, NoticeConstant.CHANGE_BOND_ADD_CONTENT_FAIL);
+                            LogRecordUtils.insertFollowerNotice(memberEntity.getId(), NoticeConstant.CHANGE_BOND_TITLE, NoticeConstant.CHANGE_BOND_REDUCE_CONTENT_FAIL);
                             continue;
                         }
                     }
diff --git a/src/main/java/com/xcong/excoin/rabbit/consumer/FollowConsumer.java b/src/main/java/com/xcong/excoin/rabbit/consumer/FollowConsumer.java
index d206b1b..e7fc215 100644
--- a/src/main/java/com/xcong/excoin/rabbit/consumer/FollowConsumer.java
+++ b/src/main/java/com/xcong/excoin/rabbit/consumer/FollowConsumer.java
@@ -3,6 +3,7 @@
 import com.alibaba.fastjson.JSONObject;
 import com.rabbitmq.client.Channel;
 import com.xcong.excoin.configurations.RabbitMqConfig;
+import com.xcong.excoin.modules.contract.parameter.dto.ChangeBondDto;
 import com.xcong.excoin.modules.documentary.service.FollowOrderOperationService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.amqp.core.Message;
@@ -35,14 +36,11 @@
         followOrderOperationService.addFollowerOrder(Long.parseLong(content));
     }
 
-//    @RabbitListener(queues = RabbitMqConfig.QUEUE_FOLLOW_CHANGE_BOND)
+    @RabbitListener(queues = RabbitMqConfig.QUEUE_FOLLOW_CHANGE_BOND)
     public void changeFollowOrderBond(Message message, Channel channel) {
         String content = new String(message.getBody());
         log.info("==收到跟单保证金调整消息 : {}", content);
-        Map map = JSONObject.parseObject(content, Map.class);
-        Integer id = (Integer) map.get("id");
-        BigDecimal bond = (BigDecimal) map.get("bond");
-        Integer type = (Integer) map.get("type");
-        followOrderOperationService.changeFollowOrdersBond(id.longValue(), bond, type);
+        ChangeBondDto changeBondDto = JSONObject.parseObject(content, ChangeBondDto.class);
+        followOrderOperationService.changeFollowOrdersBond(changeBondDto.getId(), changeBondDto.getAmount(), changeBondDto.getType());
     }
 }
diff --git a/src/main/java/com/xcong/excoin/rabbit/producer/FollowProducer.java b/src/main/java/com/xcong/excoin/rabbit/producer/FollowProducer.java
index 1c5e466..a29ab8f 100644
--- a/src/main/java/com/xcong/excoin/rabbit/producer/FollowProducer.java
+++ b/src/main/java/com/xcong/excoin/rabbit/producer/FollowProducer.java
@@ -3,6 +3,7 @@
 
 import com.alibaba.fastjson.JSONObject;
 import com.xcong.excoin.configurations.RabbitMqConfig;
+import com.xcong.excoin.modules.contract.parameter.dto.ChangeBondDto;
 import lombok.extern.slf4j.Slf4j;
 import net.sf.json.JSON;
 import org.springframework.amqp.rabbit.connection.CorrelationData;
@@ -53,13 +54,9 @@
      *
      * @param id
      */
-    public void sendChangeFollowOrderBond(Long id, BigDecimal changeBond, Integer type) {
+    public void sendChangeFollowOrderBond(ChangeBondDto changeBondDto) {
         CorrelationData correlationData = new CorrelationData(UUID.randomUUID().toString());
-        Map<String, Object> map = new HashMap<>();
-        map.put("id", id);
-        map.put("bond", changeBond);
-        map.put("type", type);
-        String msg = JSONObject.toJSONString(map);
+        String msg = JSONObject.toJSONString(changeBondDto);
         log.info("发送跟单保证金调整消息: {}, {}", msg, correlationData.getId());
         rabbitTemplate.convertAndSend(RabbitMqConfig.EXCHANGE_A, RabbitMqConfig.ROUTINGKEY_FOLLOW_CHANGE_BOND, msg, correlationData);
     }

--
Gitblit v1.9.1