Helius
2020-08-26 5fdd4b505c388ba585b55feacf978f87d7f3e592
src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractEntrustOrderServiceImpl.java
@@ -294,27 +294,27 @@
        }
        // 获取最新价
        BigDecimal newPrice = new BigDecimal(redisUtils.getString(CoinTypeConvert.convertToKey(submitCloseEntrustDto.getSymbol())));
        BigDecimal newPrice = new BigDecimal(redisUtils.getString(CoinTypeConvert.convertToKey(holdOrderEntity.getSymbol())));
        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;
        }