Helius
2020-08-25 2ddf12b246017ef1092b13fa6eb36c7476fbeda2
src/main/java/com/xcong/excoin/modules/contract/service/impl/OrderWebsocketServiceImpl.java
@@ -617,6 +617,7 @@
        ContractHoldOrderEntity wholeHoldOrder = contractHoldOrderDao.selectWholeHoldOrderByOrderType(entrustOrder.getMemberId(), entrustOrder.getEntrustType());
        // 判断持仓是否存在,若不存在则创建新的持仓订单
        if (wholeHoldOrder == null) {
            log.info("持仓不存在");
            ContractHoldOrderEntity holdOrderEntity = ContractEntrustOrderEntityMapper.INSTANCE.entrustOrderToHoldOrder(entrustOrder);
            int type = entrustOrder.getEntrustType();
@@ -658,6 +659,7 @@
            return;
        }
        log.info("持仓存在");
        ContractOrderEntity contractOrderEntity = ContractHoldOrderEntityMapper.INSTANCE.holdOrderToOrder(wholeHoldOrder);
        contractOrderEntity.setBondAmount(entrustOrder.getBondAmount().add(openFeePrice));
        contractOrderEntity.setOpeningPrice(entrustOrder.getEntrustPrice());
@@ -683,7 +685,7 @@
        wholeHoldOrder.setBondAmount(wholeHoldOrder.getBondAmount().add(bondAmount));
        wholeHoldOrder.setPrePaymentAmount(prePaymentAmount);
        wholeHoldOrder.setOperateNo(wholeHoldOrder.getOperateNo() + 1);
        contractHoldOrderService.save(wholeHoldOrder);
        contractHoldOrderService.updateById(wholeHoldOrder);
        contractEntrustOrderService.removeById(entrustOrder.getId());
        memberWalletContractService.increaseWalletContractBalanceById(null, openFeePrice.negate(), entrustOrder.getBondAmount().negate(), wallet.getId());