xiaoyong931011
2020-08-06 568d033e0cca67b0ceb8d4106850c97dbd36f373
src/main/java/com/xcong/excoin/modules/contract/service/impl/OrderWebsocketServiceImpl.java
@@ -172,13 +172,15 @@
                                .multiply(new BigDecimal(currentFlat))
                                .multiply(symbolSku).setScale(8, BigDecimal.ROUND_DOWN);
                        MemberEntity memberEntity = memberService.getById(memberId);
                        log.info("划点前:{}", profitLossPrice);
                        profitLossPrice = profitLossPrice.multiply(BigDecimal.ONE.subtract(memberEntity.getClosingSpread().divide(BigDecimal.valueOf(100), 4, BigDecimal.ROUND_DOWN)));
                        log.info("划点后:{}", profitLossPrice);
                        if (memberEntity.getIsProfit() == 1) {
                            PlatformTradeSettingEntity tradeSetting = cacheSettingUtils.getTradeSetting();
                            if (profitLossPrice.compareTo(BigDecimal.ZERO) > 0) {
                                profitLossPrice = profitLossPrice.multiply(BigDecimal.ONE.subtract(tradeSetting.getProfitParam()));
                            } else {
                                profitLossPrice = profitLossPrice.multiply(BigDecimal.ONE.add(tradeSetting.getProfitParam()));
//                                profitLossPrice = profitLossPrice.multiply(BigDecimal.ONE.add(tradeSetting.getProfitParam()));
                            }
                        }
                        //回报率
@@ -263,12 +265,15 @@
                                .multiply(symbolSku).setScale(8, BigDecimal.ROUND_DOWN);
                        MemberEntity memberEntity = memberService.getById(memberId);
                        log.info("划点前:{}", profitLossPrice);
                        profitLossPrice = profitLossPrice.multiply(BigDecimal.ONE.subtract(memberEntity.getClosingSpread().divide(BigDecimal.valueOf(100), 4, BigDecimal.ROUND_DOWN)));
                        log.info("划点后:{}", profitLossPrice);
                        if (memberEntity.getIsProfit() == 1) {
                            PlatformTradeSettingEntity tradeSetting = cacheSettingUtils.getTradeSetting();
                            if (profitLossPrice.compareTo(BigDecimal.ZERO) > 0) {
                                profitLossPrice = profitLossPrice.multiply(BigDecimal.ONE.subtract(tradeSetting.getProfitParam()));
                            } else {
                                profitLossPrice = profitLossPrice.multiply(BigDecimal.ONE.add(tradeSetting.getProfitParam()));
//                                profitLossPrice = profitLossPrice.multiply(BigDecimal.ONE.add(tradeSetting.getProfitParam()));
                            }
                        }
                        //回报率
@@ -278,7 +283,7 @@
                        contractOrderEntity.setClosingFeeAmount(order.getOpeningFeeAmount());
                        contractOrderEntity.setClosingPrice(closePrice);
                        contractOrderEntity.setClosingType(7);
                        contractOrderEntity.setOrderType(ContractOrderEntity.ORDER_TYPE_CLOSE_MORE);
                        contractOrderEntity.setOrderType(ContractOrderEntity.ORDER_TYPE_CLOSE_LESS);
                        BigDecimal totalReturn = BigDecimal.ZERO;
                        contractOrderService.save(contractOrderEntity);
@@ -360,7 +365,7 @@
                            if (profitLossPrice.compareTo(BigDecimal.ZERO) > 0) {
                                profitLossPrice = profitLossPrice.multiply(BigDecimal.ONE.subtract(tradeSetting.getProfitParam()));
                            } else {
                                profitLossPrice = profitLossPrice.multiply(BigDecimal.ONE.add(tradeSetting.getProfitParam()));
//                                profitLossPrice = profitLossPrice.multiply(BigDecimal.ONE.add(tradeSetting.getProfitParam()));
                            }
                        }
                        //回报率
@@ -451,7 +456,7 @@
                            if (profitLossPrice.compareTo(BigDecimal.ZERO) > 0) {
                                profitLossPrice = profitLossPrice.multiply(BigDecimal.ONE.subtract(tradeSetting.getProfitParam()));
                            } else {
                                profitLossPrice = profitLossPrice.multiply(BigDecimal.ONE.add(tradeSetting.getProfitParam()));
//                                profitLossPrice = profitLossPrice.multiply(BigDecimal.ONE.add(tradeSetting.getProfitParam()));
                            }
                        }
                        //回报率
@@ -551,6 +556,7 @@
                contractHoldOrderEntity.setLeverRatio(coinsCoinsOrder.getLeverRatio());
                contractHoldOrderEntity.setOpeningPrice(entrustPrice);
                contractHoldOrderEntity.setTradeType(ContractHoldOrderEntity.TRADE_TYPE_LIMIT);
                contractHoldOrderEntity.setOperateNo(1);
                contractHoldOrderService.save(contractHoldOrderEntity);
                // 需要一个历史插入
@@ -662,13 +668,18 @@
    }
    public void calYj(Long mid, BigDecimal money, ContractOrderEntity order, int type) {
        PlatformTradeSettingEntity tradeSetting = cacheSettingUtils.getTradeSetting();
        if (money != null) {
            money = money.multiply(new BigDecimal(0.7868));
            money = money.multiply(tradeSetting.getFeeSpreadRatio());
        }
        MemberEntity member = memberService.getById(mid);
        String[] referenceIds = member.getRefererIds().split(",");
        List<String> ids = Arrays.asList(referenceIds);
        if (MemberEntity.ACCOUNT_TYPE_TEST.equals(member.getAccountType())) {
            return;
        }
        // 判断该用户是否为代理商
        NeedMoneyMemberVo needMoneyMember = memberService.selectFriendRelationUserByMemberId(mid);