From 210706493b8f4c575150bf4bd317a0b0daed9ed9 Mon Sep 17 00:00:00 2001 From: wzy <wzy19931122ai@163.com> Date: Thu, 25 Mar 2021 20:57:18 +0800 Subject: [PATCH] modify --- src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java | 20 +++++++++++++------- 1 files changed, 13 insertions(+), 7 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 1dfed81..6f4d0ce 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 @@ -97,13 +97,17 @@ if (ids.size() == 1) { ContractHoldOrderEntity holdOrderEntity = contractHoldOrderDao.selectById(ids.get(0)); - // 判断仓位类型是否逐仓 - if (holdOrderEntity.getPositionType() == ContractEntrustOrderEntity.POSITION_TYPE_ADD) { - // 逐仓平仓 - cancelHoldOrderMethod(holdOrderEntity); + if (holdOrderEntity != null) { + // 判断仓位类型是否逐仓 + if (holdOrderEntity.getPositionType() == ContractEntrustOrderEntity.POSITION_TYPE_ADD) { + // 逐仓平仓 + cancelHoldOrderMethod(holdOrderEntity); + } else { + // 全仓模式平仓 + closingWholeOrder(holdOrderEntity); + } } else { - // 全仓模式平仓 - closingWholeOrder(holdOrderEntity); + log.info("持仓订单为空: {}", ids.get(0)); } } else { List<ContractHoldOrderEntity> holdOrderEntities = contractHoldOrderDao.selectBatchIds(ids); @@ -215,7 +219,7 @@ followOrderOperationService.closingFollowOrders(holdOrderEntity.getOrderNo()); } else { followFollowerProfitDao.updateFollowerProfitByTradeMemberId(holdOrderEntity.getBondAmount().subtract(holdOrderEntity.getOpeningFeeAmount()), profitOrLoss, traderInfoEntity.getMemberId(), memberEntity.getId()); - LogRecordUtils.insertFollowerNotice(memberEntity.getId(), NoticeConstant.CLOSE_ORDER_TITLE, StrUtil.format(NoticeConstant.CLOSE_ORDER_CONTENT, contractOrderEntity.getSymbol(), contractOrderEntity.getClosingPrice(), profitOrLoss.setScale(8, BigDecimal.ROUND_DOWN).toString(), traderInfoEntity.getNickname())); + 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())); } } } @@ -447,11 +451,13 @@ contractOrderEntity.setEntrustOpeningPrice(newPrice); contractOrderEntity.setEntrustTime(new Date()); contractOrderEntity.setClosingPrice(newPrice); + contractOrderEntity.setTradeType(ContractOrderEntity.TRADE_TYPE_LIMIT_PRICE); contractOrderEntity.setOrderType(entrustOrder.getEntrustType()); contractOrderEntity.setClosingType(closingType); contractOrderEntity.setSymbolCnt(closeCnt); contractOrderEntity.setRewardAmount(profitOrLoss); contractOrderEntity.setBondAmount(bondAmount); + contractOrderEntity.setClosingTime(new Date()); contractOrderEntity.setClosingFeeAmount(fee); contractOrderDao.insert(contractOrderEntity); -- Gitblit v1.9.1