Helius
2020-06-03 87f7475be96627ef47148b26a7541c5f7848dc18
src/main/java/com/xcong/excoin/modules/contract/service/impl/OrderWebsocketServiceImpl.java
@@ -148,8 +148,8 @@
                    System.out.println("执行操作");
                    // 止盈价
                    String symbol = order.getSymbol();
                    // 本次需要退回的预付款
                    BigDecimal prePrice = order.getPrePaymentAmount();
                    // 本次需要退回的保证金
                    BigDecimal prePrice = order.getBondAmount();
                    Long memberId = order.getMemberId();
                    MemberWalletContractEntity wallet = memberWalletContractService.findWalletContractByMemberIdAndSymbol(memberId, "USDT");
                    if (wallet != null) {
@@ -164,7 +164,7 @@
                        // 盈亏额度= (当前的币种的平仓价-下单时的建仓价)*购买的手数/规格*倍率
                        BigDecimal profitLossPrice = (closePrice
                                .subtract(order.getOpeningPrice()))
                                .multiply(new BigDecimal(currentFlat + ""))
                                .multiply(new BigDecimal(currentFlat))
                                .multiply(symbolSku).setScale(8, BigDecimal.ROUND_DOWN);
                        MemberEntity memberEntity = memberService.getById(memberId);
@@ -532,10 +532,14 @@
                contractHoldOrderEntity.setForceClosingPrice(forceSetPrice);
                contractHoldOrderEntity.setLeverRatio(coinsCoinsOrder.getLeverRatio());
                contractHoldOrderEntity.setOpeningPrice(entrustPrice);
                contractHoldOrderEntity.setTradeType(ContractHoldOrderEntity.TRADE_TYPE_LIMIT);
                contractHoldOrderService.save(contractHoldOrderEntity);
                // 需要一个历史插入
                ContractOrderEntity contractOrderEntity = ContractHoldOrderEntityMapper.INSTANCE.holdOrderToOrder(contractHoldOrderEntity);
                contractOrderEntity.setEntrustOpeningPrice(coinsCoinsOrder.getEntrustPrice());
                contractOrderEntity.setEntrustTime(coinsCoinsOrder.getCreateTime());
                contractOrderEntity.setOpeningTime(new Date());
                contractOrderEntity.setId(null);
                contractOrderService.save(contractOrderEntity);
                // 发送爆仓的队列
@@ -550,8 +554,8 @@
                    producer.sendPriceOperate(JSONObject.toJSONString(model));
                }
                // 扣除手续费
                BigDecimal totalBalance = wallet.getTotalBalance().subtract(openFeePrice);
                BigDecimal totalBalance = openFeePrice.negate();
                contractEntrustOrderService.removeById(coinsCoinsOrder.getId());
                memberWalletContractService.increaseWalletContractBalanceById(null, totalBalance, null, wallet.getId());
                // TODO 531 待写
                calYj(memId, openFeePrice, contractOrderEntity, 1);