From 29576f179337a20115a67dbe72a9ca824516accb Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Tue, 30 Mar 2021 17:04:07 +0800 Subject: [PATCH] modify whole close order for onekey close --- src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java | 5 +++++ src/main/java/com/xcong/excoin/modules/contract/service/impl/OrderWebsocketServiceImpl.java | 15 +++++++++++++++ 2 files changed, 20 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/xcong/excoin/modules/contract/service/impl/OrderWebsocketServiceImpl.java b/src/main/java/com/xcong/excoin/modules/contract/service/impl/OrderWebsocketServiceImpl.java index 3829dbd..c7afd75 100644 --- a/src/main/java/com/xcong/excoin/modules/contract/service/impl/OrderWebsocketServiceImpl.java +++ b/src/main/java/com/xcong/excoin/modules/contract/service/impl/OrderWebsocketServiceImpl.java @@ -179,6 +179,21 @@ } } + private void closingFollowerOrders(MemberEntity memberEntity, ContractHoldOrderEntity holdOrderEntity) { + // 判断当前持仓是否为跟单订单 +// if (ContractOrderEntity.CONTRACTTYPE_DOCUMENTARY == holdOrderEntity.getContractType()) { +// updateFollowOrderRelation(holdOrderEntity.getId(), contractOrderEntity.getId()); +// +// // 若为交易员,则平仓跟随者订单 +// if (MemberEntity.IS_TRADER_Y.equals(memberEntity.getIsTrader())) { +// followOrderOperationService.closingFollowOrders(holdOrderEntity.getOrderNo()); +// } else { +// //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())); +// } +// } + } + /** * 开多止盈 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 ba5c3a1..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 @@ -293,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