From 4eb11804d802940419583be58dc81ceea6c77954 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Thu, 04 Feb 2021 18:04:47 +0800 Subject: [PATCH] whole bomb force_set_price --- src/main/java/com/xcong/excoin/modules/contract/service/impl/OrderWebsocketServiceImpl.java | 13 +++++++++++-- 1 files changed, 11 insertions(+), 2 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 a48bce9..d6c5c3c 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 @@ -244,6 +244,7 @@ // 全仓模式,止盈/止损 删除委托平仓 if (ContractEntrustOrderEntity.POSITION_TYPE_ALL == order.getPositionType()) { + ThreadPoolUtils.sendWholePrice(memberId); deleteEntrustCloseOrder(order.getOrderNo()); } } @@ -344,6 +345,7 @@ // 全仓模式,止盈/止损 删除委托平仓 if (ContractEntrustOrderEntity.POSITION_TYPE_ALL == order.getPositionType()) { + ThreadPoolUtils.sendWholePrice(memberId); deleteEntrustCloseOrder(order.getOrderNo()); } } @@ -442,6 +444,7 @@ // 全仓模式,止盈/止损 删除委托平仓 if (ContractEntrustOrderEntity.POSITION_TYPE_ALL == order.getPositionType()) { + ThreadPoolUtils.sendWholePrice(memberId); deleteEntrustCloseOrder(order.getOrderNo()); } } @@ -539,6 +542,7 @@ // 全仓模式,止盈/止损 删除委托平仓 if (ContractEntrustOrderEntity.POSITION_TYPE_ALL == order.getPositionType()) { + ThreadPoolUtils.sendWholePrice(memberId); deleteEntrustCloseOrder(order.getOrderNo()); } } @@ -619,6 +623,7 @@ contractHoldOrderEntity.setOpeningPrice(entrustPrice); contractHoldOrderEntity.setTradeType(ContractHoldOrderEntity.TRADE_TYPE_LIMIT); contractHoldOrderEntity.setOperateNo(1); + contractHoldOrderEntity.setSymbolCntSale(contractHoldOrderEntity.getSymbolCnt()); contractHoldOrderService.save(contractHoldOrderEntity); // 需要一个历史插入 @@ -700,6 +705,7 @@ holdOrderEntity.setOperateNo(1); // 设置合约类型 holdOrderEntity.setContractType(ContractOrderEntity.CONTRACTTYPE_NORMAL); + holdOrderEntity.setHoldBond(CalculateUtil.calMemberHoldBond(holdOrderEntity)); ContractOrderEntity contractOrderEntity = ContractHoldOrderEntityMapper.INSTANCE.holdOrderToOrder(holdOrderEntity); contractOrderEntity.setOpeningTime(new Date()); @@ -710,6 +716,8 @@ if (isSuccess) { contractEntrustOrderService.removeById(entrustOrder.getId()); memberWalletContractService.increaseWalletContractBalanceById(null, openFeePrice.negate(), entrustOrder.getBondAmount().negate(), wallet.getId()); + + ThreadPoolUtils.sendWholePrice(member.getId()); // 发送强平价 ThreadPoolUtils.sendWholeForceClosingPrice(entrustOrder.getSymbol(), member); @@ -764,6 +772,7 @@ * * @param */ + @Transactional(rollbackFor = Exception.class) public void dealCoinOut(List<ContractHoldOrderEntity> orderList, List<OrderModel> orderModels) { if (CollectionUtils.isNotEmpty(orderList)) { Map<Long, Integer> modelMap = new HashMap<Long, Integer>(); @@ -794,7 +803,7 @@ bombOrder(holdOrderEntity); } - MemberWalletContractEntity wallet = memberWalletContractService.findWalletContractByMemberIdAndSymbol(coinsOrder.getMemberId(), CoinTypeConvert.convertContractTypeToCoin(coinsOrder.getSymbol())); + MemberWalletContractEntity wallet = memberWalletContractService.findWalletContractByMemberIdAndSymbol(coinsOrder.getMemberId(), CoinTypeEnum.USDT.name()); // 流水记录 TODO MemberAccountFlowEntity record = new MemberAccountFlowEntity(); @@ -855,7 +864,7 @@ contractOrderService.save(contractOrderEntity); //更新用户钱包数据 - MemberWalletContractEntity usdt = memberWalletContractService.findWalletContractByMemberIdAndSymbol(memId, CoinTypeConvert.convertContractTypeToCoin(coinsOrder.getSymbol())); + MemberWalletContractEntity usdt = memberWalletContractService.findWalletContractByMemberIdAndSymbol(memId, CoinTypeEnum.USDT.name()); // 减去的时候用负数 BigDecimal totalPrice = coinsOrder.getBondAmount().negate(); -- Gitblit v1.9.1