Helius
2020-08-26 5f2a1b053321da35530a1d11eb26220b9be09110
src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractEntrustOrderServiceImpl.java
@@ -315,22 +315,22 @@
        int closeType;
        if (holdOrderEntity.getOpeningType() == ContractHoldOrderEntity.OPENING_TYPE_MORE) {
            // 开多, 若委托价低于当前价则立即成交
//            if (submitCloseEntrustDto.getEntrustPrice().compareTo(newPrice) <= 0) {
//                WholeCloseOrderDto wholeCloseOrderDto = new WholeCloseOrderDto();
//                wholeCloseOrderDto.setCount(submitCloseEntrustDto.getSymbolCnt());
//                wholeCloseOrderDto.setId(submitCloseEntrustDto.getId());
//                return contractHoldOrderService.cancelHoldOrder(wholeCloseOrderDto);
//            }
            if (submitCloseEntrustDto.getEntrustPrice().compareTo(newPrice) <= 0) {
                WholeCloseOrderDto wholeCloseOrderDto = new WholeCloseOrderDto();
                wholeCloseOrderDto.setCount(submitCloseEntrustDto.getSymbolCnt());
                wholeCloseOrderDto.setId(submitCloseEntrustDto.getId());
                return contractHoldOrderService.cancelHoldOrder(wholeCloseOrderDto);
            }
            closeType = ContractOrderEntity.ORDER_TYPE_CLOSE_MORE;
        } else {
            // 开空, 若委托价高于当前价则立即成交
//            if (submitCloseEntrustDto.getEntrustPrice().compareTo(newPrice) >= 0) {
//                WholeCloseOrderDto wholeCloseOrderDto = new WholeCloseOrderDto();
//                wholeCloseOrderDto.setCount(submitCloseEntrustDto.getSymbolCnt());
//                wholeCloseOrderDto.setId(submitCloseEntrustDto.getId());
//                return contractHoldOrderService.cancelHoldOrder(wholeCloseOrderDto);
//            }
            if (submitCloseEntrustDto.getEntrustPrice().compareTo(newPrice) >= 0) {
                WholeCloseOrderDto wholeCloseOrderDto = new WholeCloseOrderDto();
                wholeCloseOrderDto.setCount(submitCloseEntrustDto.getSymbolCnt());
                wholeCloseOrderDto.setId(submitCloseEntrustDto.getId());
                return contractHoldOrderService.cancelHoldOrder(wholeCloseOrderDto);
            }
            closeType = ContractOrderEntity.ORDER_TYPE_CLOSE_LESS;
        }
@@ -351,13 +351,13 @@
        entrustOrder.setLeverRatio(holdOrderEntity.getLeverRatio());
        entrustOrder.setSymbolSku(holdOrderEntity.getSymbolSku());
        entrustOrder.setEntrustType(closeType);
        entrustOrder.setSymbolCnt(holdOrderEntity.getSymbolCnt());
        entrustOrder.setSymbolCnt(submitCloseEntrustDto.getSymbolCnt());
        entrustOrder.setSymbol(holdOrderEntity.getSymbol());
        int i = contractEntrustOrderDao.insert(entrustOrder);
        memberWalletContractDao.increaseWalletContractBalanceById(null, null, bondAmount, walletContract.getId());
//        memberWalletContractDao.increaseWalletContractBalanceById(null, null, bondAmount, walletContract.getId());
        if (i > 0) {
            // 发送委托消息