From ecef817ae72967e5ffd935d730871ad049db679a Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Tue, 30 Mar 2021 17:28:47 +0800
Subject: [PATCH] modify

---
 src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java |   18 +++++++++++++++---
 1 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java b/src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java
index 5a924b6..efcf829 100644
--- a/src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java
@@ -113,7 +113,14 @@
                     List<ContractHoldOrderEntity> holdOrderEntities = contractHoldOrderDao.selectBatchIds(ids);
                     if (CollUtil.isNotEmpty(holdOrderEntities)) {
                         for (ContractHoldOrderEntity holdOrder : holdOrderEntities) {
-                            cancelHoldOrderMethod(holdOrder);
+                            // 判断仓位类型是否逐仓
+                            if (holdOrder.getPositionType() == ContractEntrustOrderEntity.POSITION_TYPE_ADD) {
+                                // 逐仓平仓
+                                cancelHoldOrderMethod(holdOrder);
+                            } else {
+                                // 全仓模式平仓
+                                closingWholeOrder(holdOrder);
+                            }
                         }
                     }
                 }
@@ -190,7 +197,7 @@
                         LogRecordUtils.insertFollowerNotice(traderInfoEntity.getMemberId(),
                                 NoticeConstant.RETURN_MONEY_TITLE,
                                 StrUtil.format(NoticeConstant.RETURN_MONEY_CONTENT,
-                                        memberDao.selectById(traderInfoEntity.getMemberId()).getInviteId(),
+                                        memberEntity.getInviteId(),
                                         orderNo,
                                         returnMoney.setScale(2, BigDecimal.ROUND_HALF_UP).toString()));
                     }
@@ -226,7 +233,7 @@
                 if (MemberEntity.IS_TRADER_Y.equals(memberEntity.getIsTrader())) {
                     followOrderOperationService.closingFollowOrders(holdOrderEntity.getOrderNo());
                 } else {
-                    followFollowerProfitDao.updateFollowerProfitByTradeMemberId(holdOrderEntity.getBondAmount(), profitOrLoss, traderInfoEntity.getMemberId(), memberEntity.getId());
+                    //followFollowerProfitDao.updateFollowerProfitByTradeMemberId(holdOrderEntity.getBondAmount(), profitOrLoss, traderInfoEntity.getMemberId(), memberEntity.getId());
                     LogRecordUtils.insertFollowerNotice(memberEntity.getId(), NoticeConstant.CLOSE_ORDER_TITLE, StrUtil.format(NoticeConstant.CLOSE_ORDER_CONTENT, contractOrderEntity.getSymbol(), contractOrderEntity.getClosingPrice().setScale(2, BigDecimal.ROUND_HALF_UP).toString(), profitOrLoss.setScale(2, BigDecimal.ROUND_HALF_UP).toString(), traderInfoEntity.getNickname()));
                 }
             }
@@ -286,6 +293,11 @@
 
             // 获取平仓张数
             Integer closeCnt = (Integer) redisUtils.get(AppContants.CLOSING_ORDER_PREFIX + holdOrderEntity.getId());
+            // 无法从redis中获取平仓张数,说明来自一键平仓
+            if (closeCnt == null) {
+                closeCnt = holdOrderEntity.getSymbolCntSale();
+                holdOrderEntity.setSymbolCntSale(0);
+            }
 
             MemberSettingEntity memberSettingEntity = memberSettingDao.selectMemberSettingByMemberId(memberEntity.getId());
             // 开多

--
Gitblit v1.9.1