Helius
2020-08-19 cda4ee6f370768c279cf937bab6468eb9eb6ce2e
src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java
@@ -239,7 +239,7 @@
        holdOrderEntity.setOpeningPrice(openingPrice);
        holdOrderEntity.setOpeningType(submitOrderDto.getOrderType());
        holdOrderEntity.setMarkPrice(newPrice);
        holdOrderEntity.setIsCanClosing(ContractHoldOrderEntity.ORDER_CAN_CLOSING_Y);
        holdOrderEntity.setIsCanClosing(ContractHoldOrderEntity.ORDER_CAN_CLOSING_N);
        holdOrderEntity.setPrePaymentAmount(prePaymentAmount);
        holdOrderEntity.setBondAmount(bondAmount.add(openFeePrice));
        holdOrderEntity.setOperateNo(1);
@@ -556,12 +556,15 @@
            return Result.fail("可平张数不足");
        }
        log.info("--->{},{}", holdOrderEntity.getSymbolCntSale(), wholeCloseOrderDto.getCount());
        // 判断当前持仓张数是否等于平仓张数,若等于则直接更新该订单为不可平状态,否则更新可平张数
        if (wholeCloseOrderDto.getCount() == holdOrderEntity.getSymbolCntSale()) {
            contractHoldOrderDao.updateHoldOrderIsCanClosingById(ContractHoldOrderEntity.ORDER_CAN_CLOSING_N, wholeCloseOrderDto.getId());
        } else {
            int sub = holdOrderEntity.getSymbolCntSale() - wholeCloseOrderDto.getCount();
            log.info("剩余张数:{}", sub);
            // 更新可平张数
            holdOrderEntity.setSymbolCntSale(holdOrderEntity.getSymbolCntSale() - wholeCloseOrderDto.getCount());
            holdOrderEntity.setSymbolCntSale(sub);
            contractHoldOrderDao.updateById(holdOrderEntity);
        }