From a7d5859d7f95d27ed1be29c437911a083ab9703a Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Thu, 06 Aug 2020 11:05:42 +0800
Subject: [PATCH] 20200806  代码提交

---
 src/main/java/com/xcong/excoin/modules/documentary/service/impl/FollowOrderOperationServiceImpl.java |   25 +++++++++++++++++++++----
 1 files changed, 21 insertions(+), 4 deletions(-)

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 40f1d2c..0173007 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
@@ -13,6 +13,7 @@
 import com.xcong.excoin.modules.contract.entity.ContractHoldOrderEntity;
 import com.xcong.excoin.modules.contract.entity.ContractOrderEntity;
 import com.xcong.excoin.modules.contract.mapper.ContractHoldOrderEntityMapper;
+import com.xcong.excoin.modules.contract.service.RabbitOrderService;
 import com.xcong.excoin.modules.documentary.common.NoticeConstant;
 import com.xcong.excoin.modules.documentary.dao.FollowFollowerOrderRelationDao;
 import com.xcong.excoin.modules.documentary.dao.FollowFollowerProfitDao;
@@ -41,6 +42,7 @@
 import javax.annotation.Resource;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
@@ -72,6 +74,9 @@
     @Resource
     private FollowTraderInfoDao followTraderInfoDao;
 
+    @Resource
+    private RabbitOrderService rabbitOrderService;
+
 
     @Override
     public void addFollowerOrder(Long id) {
@@ -80,7 +85,6 @@
         ContractHoldOrderEntity holdOrderEntity = contractHoldOrderDao.selectById(id);
 
         List<FollowFollowerSettingEntity> followerSettings = followFollowerSettingDao.selectAllFollowerSettingByTradeMemberId(holdOrderEntity.getMemberId());
-        log.info("---->{}, {}", followerSettings.size(), holdOrderEntity.getMemberId());
         // 开仓价
         BigDecimal openPrice = holdOrderEntity.getOpeningPrice();
         PlatformTradeSettingEntity tradeSettingEntity = cacheSettingUtils.getTradeSetting();
@@ -111,6 +115,7 @@
                     }
 
                     if (symbolCnt <= 0) {
+                        LogRecordUtils.insertFollowerNotice(followerSetting.getMemberId(), NoticeConstant.OPEN_ORDER_FOLLOW_FAIL_TITLE, StrUtil.format(NoticeConstant.OPEN_ORDER_FOLLOW_FAIL_CONTENT, followTraderInfoEntity.getNickname()));
                         continue;
                     }
                 }
@@ -162,13 +167,12 @@
                 followHoldOrder.setBondAmount(bondAmount.add(openFeePrice));
                 followHoldOrder.setOperateNo(1);
                 // 设置合约类型
-                holdOrderEntity.setContractType(ContractOrderEntity.CONTRACTTYPE_DOCUMENTARY);
+                followHoldOrder.setContractType(ContractOrderEntity.CONTRACTTYPE_DOCUMENTARY);
 
                 ContractOrderEntity contractOrderEntity = ContractHoldOrderEntityMapper.INSTANCE.holdOrderToOrder(followHoldOrder);
                 contractOrderEntity.setOpeningTime(new Date());
                 contractHoldOrderDao.insert(followHoldOrder);
                 int i = contractOrderDao.insert(contractOrderEntity);
-                log.info("----->{}", i);
                 if (i > 0) {
                     memberWalletContractDao.increaseWalletContractBalanceById(prePaymentAmount.negate(), openFeePrice.negate(), null, walletContract.getId());
 
@@ -179,7 +183,7 @@
                     relationEntity.setOrderType(FollowFollowerOrderRelationEntity.ORDER_TYPE_HOLD);
                     relationEntity.setTradeId(followTraderInfoEntity.getId());
                     relationEntity.setTradeMemberId(followTraderInfoEntity.getMemberId());
-                    relationEntity.setTradeOrderId(id);
+                    relationEntity.setTradeOrderNo(holdOrderEntity.getOrderNo());
                     followFollowerOrderRelationDao.insert(relationEntity);
 
                     // 发送爆仓消息
@@ -212,4 +216,17 @@
         }
         producer.sendPriceOperate(JSONObject.toJSONString(model));
     }
+
+
+    @Override
+    public void closingFollowOrders(String orderNo) {
+        List<FollowFollowerOrderRelationEntity> orderRelations = followFollowerOrderRelationDao.selectFollowHoldOrderByTradeOrderNo(orderNo);
+        if (CollUtil.isNotEmpty(orderRelations)) {
+            for (FollowFollowerOrderRelationEntity orderRelation : orderRelations) {
+                List<Long> ids= new ArrayList<>();
+                ids.add(orderRelation.getOrderId());
+                rabbitOrderService.cancelHoldOrder(ids);
+            }
+        }
+    }
 }

--
Gitblit v1.9.1