| | |
| | | BigDecimal subBondAmount = bondAmount.subtract(wholeHoldOrder.getBondAmount()); |
| | | log.info("保证金差值:{}", subBondAmount); |
| | | |
| | | BigDecimal forceClosingPrice = CalculateUtil.getForceSetPriceForWhole(memberEntity); |
| | | log.info("新预估强平价:{}", forceClosingPrice); |
| | | // BigDecimal forceClosingPrice = CalculateUtil.getForceSetPriceForWhole(submitOrderDto.getSymbol(), memberEntity); |
| | | // log.info("新预估强平价:{}", forceClosingPrice); |
| | | |
| | | ContractOrderEntity contractOrderEntity = ContractHoldOrderEntityMapper.INSTANCE.holdOrderToOrder(wholeHoldOrder); |
| | | contractOrderEntity.setBondAmount(bondAmount.add(openFeePrice)); |
| | | contractOrderEntity.setForceClosingPrice(forceClosingPrice); |
| | | // contractOrderEntity.setForceClosingPrice(forceClosingPrice); |
| | | contractOrderEntity.setOpeningPrice(newOpenPrice); |
| | | contractOrderEntity.setSymbolCnt(submitOrderDto.getSymbolCnt()); |
| | | contractOrderEntity.setOpeningTime(new Date()); |
| | |
| | | wholeHoldOrder.setBondAmount(bondAmount); |
| | | wholeHoldOrder.setSymbolCnt(wholeHoldOrder.getSymbolCnt() + submitOrderDto.getSymbolCnt()); |
| | | wholeHoldOrder.setSymbolCntSale(wholeHoldOrder.getSymbolCntSale() + submitOrderDto.getSymbolCnt()); |
| | | wholeHoldOrder.setForceClosingPrice(forceClosingPrice); |
| | | // wholeHoldOrder.setForceClosingPrice(forceClosingPrice); |
| | | wholeHoldOrder.setPrePaymentAmount(prePaymentAmount); |
| | | wholeHoldOrder.setOperateNo(wholeHoldOrder.getOperateNo() + 1); |
| | | int i = contractHoldOrderDao.updateById(wholeHoldOrder); |
| | |
| | | memberWalletContractDao.increaseWalletContractBalanceById(subBondAmount.add(openFeePrice).negate(), openFeePrice.negate(), null, walletContract.getId()); |
| | | |
| | | // 发送爆仓消息 |
| | | sendOrderBombMsg(wholeHoldOrder.getId(), wholeHoldOrder.getOpeningType(), forceClosingPrice, wholeHoldOrder.getSymbol(), wholeHoldOrder.getOperateNo()); |
| | | |
| | | // sendOrderBombMsg(wholeHoldOrder.getId(), wholeHoldOrder.getOpeningType(), forceClosingPrice, wholeHoldOrder.getSymbol(), wholeHoldOrder.getOperateNo()); |
| | | // 发送预估强平价 |
| | | ThreadPoolUtils.sendWholeForceClosingPrice(submitOrderDto.getSymbol(), memberEntity); |
| | | // 计算佣金 |
| | | ThreadPoolUtils.calReturnMoney(memberEntity.getId(), openFeePrice, contractOrderEntity, AgentReturnEntity.ORDER_TYPE_OPEN); |
| | | |
| | |
| | | } |
| | | |
| | | // 预估强平价 |
| | | BigDecimal forceClosingPrice = CalculateUtil.getForceSetPriceForWhole(memberEntity); |
| | | // BigDecimal forceClosingPrice = CalculateUtil.getForceSetPriceForWhole(submitOrderDto.getSymbol(), memberEntity); |
| | | |
| | | ContractHoldOrderEntity holdOrderEntity = new ContractHoldOrderEntity(); |
| | | holdOrderEntity.setMemberId(memberEntity.getId()); |
| | |
| | | holdOrderEntity.setSymbolCntSale(submitOrderDto.getSymbolCnt()); |
| | | holdOrderEntity.setSymbolSku(lotNumber); |
| | | holdOrderEntity.setLeverRatio(submitOrderDto.getLeverRatio()); |
| | | holdOrderEntity.setForceClosingPrice(forceClosingPrice); |
| | | // holdOrderEntity.setForceClosingPrice(forceClosingPrice); |
| | | holdOrderEntity.setOpeningFeeAmount(openFeePrice); |
| | | 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); |
| | |
| | | memberWalletContractDao.increaseWalletContractBalanceById(prePaymentAmount.negate(), openFeePrice.negate(), null, walletContract.getId()); |
| | | |
| | | // 发送爆仓消息 |
| | | sendOrderBombMsg(holdOrderEntity.getId(), holdOrderEntity.getOpeningType(), forceClosingPrice, holdOrderEntity.getSymbol(), holdOrderEntity.getOperateNo()); |
| | | // sendOrderBombMsg(holdOrderEntity.getId(), holdOrderEntity.getOpeningType(), forceClosingPrice, holdOrderEntity.getSymbol(), holdOrderEntity.getOperateNo()); |
| | | // 发送预估强平价 |
| | | ThreadPoolUtils.sendWholeForceClosingPrice(submitOrderDto.getSymbol(), memberEntity); |
| | | |
| | | // 计算佣金 |
| | | ThreadPoolUtils.calReturnMoney(memberEntity.getId(), contractOrderEntity.getOpeningFeeAmount(), contractOrderEntity, AgentReturnEntity.ORDER_TYPE_OPEN); |